Re: NSPR assertion failure

Julien R Pierre - Sun Microsystems <[email protected]> Tue, 07 Apr 2009 14:54:22 -0700
Newsgroups gmane.comp.mozilla.devel.nspr
Message-ID <[email protected]>
Sreedhar,

errno would be in your libc. Probably /usr/lib/libc.so or somethnig like 
that .

rv is in libnspr4.so . But you need to be in the right frame and in the 
right thread in the debugger in order to be able to print it .
Is your version of gdb handling threads properly ? I wonder because it's 
reporting "New process xxx".

Old versions of gdb had many problems with threads on Linux. I don't 
know about your CentOS.

If you can't get anything useful from the core file, just add printf's. 
It should work for this case.

[email protected] wrote:
> Hello Julien,
> 
> When I tried to print the values for rv and errno, gdb complained
> saying No symbol for these variables in current context.
> 
> I used symbol-file command with all the nspr libraries. and then ran
> the command core with the core file.
> 
> Which library has these variables.
> 
> What I did is,
> 
> (gdb) symbol-file nss/lib/libnspr4.so (I tried with other library
> files of nspr also)
> Reading symbols from /opt/TroposControl/ems/nss/lib/
> libnspr4.so...done.
> (gdb) core core.23903 --------> after this it output lot of stuff.
> .......
> .......
> [New process 23905]
> [New process 23904]
> [New process 23903]
> #0  0xb7ff7402 in __kernel_vsyscall ()
> (gdb) print rv
> No symbol "rv" in current context
> 
> Thanks,
> Sreedhar
> On Mar 26, 4:26 pm, Julien R Pierre - Sun Microsystems
> <[email protected]> wrote:
>> Hi,
>>
>> [email protected] wrote:
>>> Hi Julien,
>>> I am running this on CentOS 5. This is part of the Java Server. Where
>>> should I see the core file. I didn't find one. I searched entire file
>>> system for the core
>>> What would be the file name.
>> I know nothing about CentOS - I had never even heard of it before your
>> post. core file administration is not very standardized. As Kyle
>> mentioned, you may not have gotten one because of limits.
>>
>> It's also possible the name of the core has been renamed to something
>> else, or relocated. On Solaris and recent versions of other Unix
>> platforms, there is a command called "coreadm". See if it exists for
>> your OS.
>>
>> Since the assertion is on a system function, I would also recommend you
>> obtain the latest OS patches, especially those relating to the pthread
>> library. This might fix your problem.
>>
>> Using the latest NSPR release version also probably would not hurt,
>> because if there is a bug, we probably won't fix it in 4.6.x, but rather
>> 4.7.x / 4.8.x .
>