On Fri, Mar 03, 2006 at 11:26:06AM -0800, Jonathan W. Adams wrote: > > export LD_PRELOAD=libumem.so > > export UMEM_DEBUG=default > > > When I now run my program I get the following error from dlerror when I > > try to call dlsym in my program: > > > ld.so.1: myapp: fatal: /usr/platform/SUNW,Ultra-60/lib/libkvm_psr.so.1: > > open failed: No such file or directory > > > Without the LD_PRELOAD the program works perfectly. > > The error happens at a point in the program where I call dlsym(...). > > It looks more like when you call dlopen(). Hrm. You can cause ld.so.1(1) to > use SIGABRT instead of SIGKILL (and therefore get a core file) by setting: > export LD_SIGNAL=6 > > in the environment; the stack trace (pstack core) which results would > be most interesting.
Could you also run pldd(1) against the core? There might be a clue in the list of libraries. Cheers, - jonathan -- Jonathan Adams, Solaris Kernel Development