[Bug 680125] New: dlclose() can not unload all dynamic libraries
https://bugzilla.novell.com/show_bug.cgi?id=680125 https://bugzilla.novell.com/show_bug.cgi?id=680125#c0 Summary: dlclose() can not unload all dynamic libraries Classification: openSUSE Product: openSUSE 11.4 Version: Final Platform: Other OS/Version: Other Status: NEW Severity: Major Priority: P5 - None Component: Development AssignedTo: pth@novell.com ReportedBy: gotterdammerung@web.de QAContact: qa@suse.de Found By: --- Blocker: --- Created an attachment (id=419657) --> (http://bugzilla.novell.com/attachment.cgi?id=419657) test program which opens a dl from cmdline, closes it and checks if it is still open User-Agent: Mozilla/5.0 (X11; U; Linux i686; de-DE; rv:1.9.2.15) Gecko/20110310 Gentoo Firefox/3.6.15 A call to dlclose() does not unload some dynamic libraries, even if the reference count drops to zero and no other loaded libraries use symbols in it. See attached test programm. Some libraries like 'pthread' exhibit this behaviour and it propagates up the dependency chain. This breaks programs which rely on reloading of affected dynamic libraries. Reproducible: Always Steps to Reproduce: 1. compile test program with 'g++ test.cpp -otest -ldl' 2. run 'for file in /usr/lib64/lib*.so; do ./test $file; done | grep failed' Actual Results: see attachment #2 Expected Results: /usr/lib64/librt.so failed. (at least that is what happens on my gentoo machine) AFAIK, x86_64 and x86 are both affected. Related: [[bugzilla:645652]] -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=680125 https://bugzilla.novell.com/show_bug.cgi?id=680125#c1 --- Comment #1 from John Doe <gotterdammerung@web.de> 2011-03-16 12:11:08 UTC --- Created an attachment (id=419659) --> (http://bugzilla.novell.com/attachment.cgi?id=419659) output of the test program -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=680125 https://bugzilla.novell.com/show_bug.cgi?id=680125#c2 John Doe <gotterdammerung@web.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |gotterdammerung@web.de --- Comment #2 from John Doe <gotterdammerung@web.de> 2011-03-16 12:17:37 UTC --- (In reply to comment #0) see attachment #419659 Related: Bug #645652 Here are the correct links. Btw: is there a way to edit above post? At least preview it before posting? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=680125 https://bugzilla.novell.com/show_bug.cgi?id=680125#c Philipp Thomas <pth@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|pth@novell.com |matz@novell.com -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=680125 https://bugzilla.novell.com/show_bug.cgi?id=680125#c3 Michael Matz <matz@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |matz@novell.com AssignedTo|matz@novell.com |pbaudis@novell.com Severity|Major |Critical --- Comment #3 from Michael Matz <matz@novell.com> 2011-03-16 16:57:44 UTC --- Some libraries are expected to not be unloaded, they will have the NODELETE flag set, e.g.: % readelf -d /usr/lib64/librt.so | grep DEL 0x000000006ffffffb (FLAGS_1) Flags: NODELETE But indeed many of the other libs in your example should be able to be unloaded. E.g. libcurl.so. Indeed on a 11.3 they still were unloaded. Petr? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=680125 https://bugzilla.novell.com/show_bug.cgi?id=680125#c4 Petr Baudis <pbaudis@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO InfoProvider| |gotterdammerung@web.de --- Comment #4 from Petr Baudis <pbaudis@novell.com> 2011-03-22 00:58:27 UTC --- I think this is something we should fix, and it was probably introduced by a fix for bug 657627 being too conservative - I have not realized that pthread is also NOLOAD, so the case where RTLD_LOCAL-loaded owner is held is quite more common than I feared. We will need to rebuild the NOLOAD scope instead. At the same time, there is simply no guarantee by libc that dlclose() will actually unload the object. Which application tries to rely on this to reload other libraries? Knowing what is broken by this will also help me prioritize fixing this. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=680125 https://bugzilla.novell.com/show_bug.cgi?id=680125#c Philipp Thomas <pth@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aj@suse.de AssignedTo|pth@novell.com |matz@novell.com -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=680125 https://bugzilla.novell.com/show_bug.cgi?id=680125#c6 John Doe <gotterdammerung@web.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW InfoProvider|gotterdammerung@web.de | --- Comment #6 from John Doe <gotterdammerung@web.de> 2011-07-10 19:54:52 UTC --- Some application i wrote allows integrated run-time plugin developement. Reloading of altered plugins fails because of this bug. I am not aware of another application which is affected by this. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=680125 https://bugzilla.novell.com/show_bug.cgi?id=680125#c Michael Matz <matz@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|Critical |Minor -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=680125 https://bugzilla.novell.com/show_bug.cgi?id=680125#c7 Fons Rademakers <Fons.Rademakers@cern.ch> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |Fons.Rademakers@cern.ch --- Comment #7 from Fons Rademakers <Fons.Rademakers@cern.ch> 2012-03-02 14:57:48 UTC --- Hi, has anything been done about this issue? The ROOT program (http://root.cern.ch) used by the world wide community of High Energy Physicist (and especially at the CERN LHC) does not function properly on OpenSuSe due to this issue, see: http://root.cern.ch/phpBB3/viewtopic.php?t=13859 It would be greatly appreciated if the issue can be reprioritized as OpenSuSe is the only platform that is broken in this way (works on all other Linuxes, Solaris, AIX, OSX, etc). Cheers, Fons. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=680125 https://bugzilla.novell.com/show_bug.cgi?id=680125#c9 Pat Saull <patrick.saull@nrc-cnrc.gc.ca> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |patrick.saull@nrc-cnrc.gc.c | |a --- Comment #9 from Pat Saull <patrick.saull@nrc-cnrc.gc.ca> 2012-03-15 18:22:26 UTC --- Hi, Is anyone working on fixing this problem properly? As Fons Rademakers points out in comment 7 above, this will assuredly become a major issue as more and more particle physicists upgrade their opensuse version to 11.4. It has severely broken the analysis package (ROOT) that the members of that community (and a number of other communities like medical physics) use. Thanks. Cheers, Pat -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=680125 https://bugzilla.novell.com/show_bug.cgi?id=680125#c12 --- Comment #12 from Bernhard Wiedemann <bwiedemann@suse.com> 2012-12-11 11:00:09 CET --- This is an autogenerated message for OBS integration: This bug (680125) was mentioned in https://build.opensuse.org/request/show/145050 Maintenance / -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=680125 https://bugzilla.novell.com/show_bug.cgi?id=680125#c13 --- Comment #13 from Swamp Workflow Management <swamp@suse.de> 2012-12-12 16:10:09 UTC --- openSUSE-RU-2012:1639-1: An update that has two recommended fixes can now be installed. Category: recommended (low) Bug References: 680125,791676 CVE References: Sources used: openSUSE 12.2 (src): glibc-2.15-22.9.1 -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=680125 https://bugzilla.novell.com/show_bug.cgi?id=680125#c14 Andreas Schwab <schwab@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |christoph.pesch@siemens.com --- Comment #14 from Andreas Schwab <schwab@suse.com> 2012-12-13 15:40:15 CET --- *** Bug 645652 has been marked as a duplicate of this bug. *** http://bugzilla.novell.com/show_bug.cgi?id=645652 -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=680125 https://bugzilla.novell.com/show_bug.cgi?id=680125#c15 Andreas Schwab <schwab@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #15 from Andreas Schwab <schwab@suse.com> 2012-12-13 15:49:55 CET --- Fixed in 12.2. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugzilla.novell.com/show_bug.cgi?id=680125 http://bugzilla.novell.com/show_bug.cgi?id=680125#c16 Stanislav Brabec <sbrabec@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |sbrabec@suse.com --- Comment #16 from Stanislav Brabec <sbrabec@suse.com> --- The last part of the bug was finally fixed properly in the glibc upstream: https://sourceware.org/bugzilla/show_bug.cgi?id=11941 -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com