Subject: Re: "Invalid shared object handle"
To: Steven M. Bellovin <smb@cs.columbia.edu>
From: Robby Griffin <rmg@yakshavers.com>
List: netbsd-users
Date: 08/09/2007 09:20:03
On Aug 9, 2007, at 09:05, Robby Griffin wrote:

> On Aug 9, 2007, at 08:38, Steven M. Bellovin wrote:
>
>> I'm trying to package alltray (http://alltray.sourceforge.net/).   
>> When
>> I run it, though, I get three instances of the message
>>
>> 	"Invalid shared object handle"
>>
>> I had to grep /usr/src to see where it came from; the answer is
>> libexec/ld.elf_so/rtld.c.  What I don't understand is what the  
>> message
>> means or what I can do to make it go away.
>
> The ldd output probably doesn't matter. The application itself is
> trying to grovel around in shared objects. Looks like several
> places in lib/nomap.c don't check the return value of dlopen()
> before passing it to dlsym(). Contrary to the documentation for
> dlopen(), it can return NULL (instead of terminating the program)
> if asked to open a nonexistent library.

But that's probably not the exact problem. It also sometimes calls
dlclose() on a handle (thereby invalidating it) before calling
dlsym() to look up symbols in it.

	--Robby