|
From: Santeri P. <sa...@ss...> - 2003-08-13 07:46:07
|
When running valgrind on a program I get the following errors:
VG_(mash_LD_PRELOAD_and_LD_LIBRARY_PATH): internal error:
what = 0
ld_preload_str = `(null)'
ld_library_path_str = `(null)'
vg_prel = `(null)'
sk_prel = `(null)'
coredir2 = `(null)'
VG_LIBDIR = `/l/beta/lib'
This is clearly caused by the fact that this program clears the
environmental variables on startup (to known values).
What are the environmental variables that should be preserved (not
cleared) to allow valgrind to work for the program and the child
processes (with --trace-children=yes)? (My guess: LD_PRELOAD and
LD_LIBRARY_PATH.)
The FAQ entry 12 has some information:
Q12. My program dies like this (often at exit):
VG_(mash_LD_PRELOAD_and_LD_LIBRARY_PATH): internal error:
(loads of text)
A12. We're not entirely sure about this, and would appreciate
someone sending a simple test case for us to look at.
One possible cause is that your program modifies its
environment variables, possibly including zeroing them
all. Avoid this if you can.
1.9.6 contains a fix which hopefully reduces the chances
of your program bombing out like this.
Perhaps a list of not-to-be-cleared environmental variables should be
added to the FAQ?
--
sa...@ss... I have no opinions, since I cannot express any, after all.
If you think you saw an opinion, contact your optometrist.
|