Bug #2376

determine real cause of ldd crash

Added by marino about 2 years ago. Updated almost 2 years ago.

Status:ClosedStart date:05/24/2012
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:-
Target version:-

Description

Problem: ldd core dumps in specific cases within RTLD

To reproduce:
> cd /usr/pkgsrc/audio/arts
> bmake install
> ldd /usr/pkg/bin/artswrapper

It dumps within rtld reading digest notes. That's because the obj pointer has a null value even though it was just created (signal 11).

Trying to step through with gdb will result in a "signal 5", stopping at ldd.c line 205, right after a fork.

I need some help determining if the problem is ldd.c or something in the kernel. I don't think rtld is really at fault here, although I'm not confident about the TLS/resident part.

History

#1 Updated by marino almost 2 years ago

  • Status changed from New to Closed

RTLD was at fault after all. The full object structure wasn't guaranteed to be fully allocated when it started digesting ELF notes.

FreeBSD hit the bug too (svn 239019)
Fixed here: http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/4db7b2663090f11386e806c421560a4d0923a7fb

Also available in: Atom PDF