[Bug 179072] _dl_debug_state() RT_CONSISTENT called too early

bugzilla at redhat.com bugzilla at redhat.com
Wed Nov 12 22:40:16 UTC 2008


Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.


https://bugzilla.redhat.com/show_bug.cgi?id=179072





--- Comment #13 from Jan Kratochvil <jan.kratochvil at redhat.com>  2008-11-12 17:40:14 EDT ---
Created an attachment (id=323395)
 --> (https://bugzilla.redhat.com/attachment.cgi?id=323395)
Two testcases (not suitable for the glibc testsuite).

Testcase for the problem with libpthread loaded first only on dlopen().
Prerequisite is to run: prelink -uf /lib64/libpthread.so.0
GDB was tested gdb-6.8-1.fc9 up to GDB CVS HEAD snapshot.

$ gdb ./testload
...
(gdb) r
Starting program: /tmp/rh179072/testload
[Thread debugging using libthread_db enabled]
Error while reading shared library symbols:
Cannot find new threads: generic error
Cannot find new threads: generic error
(gdb) _

Testcase that the patched library and/or patched GDB fixes the threads problem:
$ gdb ./testload
...
(gdb) r
Starting program: /tmp/rh179072/testload
[Thread debugging using libthread_db enabled]
[New Thread 0x7ffff7fde6f0 (LWP 7018)]
[New Thread 0x7ffff7bc0950 (LWP 7021)]
[Thread 0x7ffff7bc0950 (LWP 7021) exited]

Program exited normally.

------------------------------------------------------------------------------

Testcase that at the (B) time (with the patch) we still cannot call safely
functions as they may expect static class variables to be initialized:

# class C {
#   int i;
#   C () { i = 1; }
#   void f () { assert (i == 1); }
# };
$ gdb -x ./cxx.gdbinit
...
(gdb) p c
$1 = {i = 0}
(gdb) p c.f
$2 = {void (C *)} 0x7ffff7ddd73a <C::f()>
(gdb) p c.f()
cxxmain: cxxlib.C:8: void C::f(): Assertion `i == 1' failed.

-- 
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.




More information about the fedora-triage-list mailing list