Pan crashing in libgnuregex after -pthread switchover
Peter Edwards
peter.edwards at openet-telecom.com
Thu Mar 18 07:01:49 PST 2004
Dag-Erling Smørgrav wrote:
>Jason Andresen <jandrese at mitre.org> writes:
>
>
>>It seems to me that every libpthread.so.1 maps to a libc_r.so.5, but
>>when I actually run pan it still crashes and shows libpthread in the
>>backtrace. Does anybody have a clue as to what is going on here?
>>
>>
>
>gdb doesn't know about libmap.conf, so the backtrace is wrong.
>
>DES
>
>
My understanding is that the dynamic linker fills a link_map (see
sys/link_elf.h) structure with the mapped name, and gdb grovels for this
in the core: it should work correctly on a corefile. Sounds more like
libpthread and libc_r are both in-process to me.
Jason, try "i sh" from gdb to see what libraries were loaded in the
process when it dumped.
Interestingly, from the stack trace, frame 3 shows "re_search" calling
into the main application, not a shared library, at the "??" bit (the
instruction pointer is in the wrong range for a shared library): It
sounds like the application is implementing a function that should
probably be resolved from a shared library, and the linker is binding
the application version instead of the standard one: that might be an issue.
(I don't think the regex library ever uses callbacks, which would be the
only other reason I can think it'd happen)
The sysutils/pstack has a good chance of finding the name of the "??"
function if you want to run that on the corefile: it takes the dynamic
exported functions into account as well as the debug information when
finding function names.
HTH,
Peter.
More information about the freebsd-current
mailing list