Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 09 Mar 2015 15:07:03 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-threads@FreeBSD.org
Subject:   [Bug 198452] libthr/rtld deadlock
Message-ID:  <bug-198452-16-Jd1n9pHjfm@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-198452-16@https.bugs.freebsd.org/bugzilla/>
References:  <bug-198452-16@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=198452

Konstantin Belousov <kib@FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |Works As Intended
                 CC|                            |kib@FreeBSD.org
             Status|New                         |Closed

--- Comment #1 from Konstantin Belousov <kib@FreeBSD.org> ---
(In reply to dpejesh from comment #0)

Dlopen/dlclose cannot work in the context of the dl_iterate_phdr(3) callback. 
At least, because the dl_iterate_phdr() walks over the list of the loaded
shared objects, so in the language terms, it is the iterator over collection,
and collection must be stable.  The callback API does not suppose a possibitily
of restart.

That said, callback is intended to perform some lookups on the per object
basis, e.g. enumerate exception tables, debug sections and like.

The revisions you point out as causing the problem obviously mean that this
never worked anyway.

-- 
You are receiving this mail because:
You are the assignee for the bug.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-198452-16-Jd1n9pHjfm>