http://bugzilla.novell.com/show_bug.cgi?id=622977
http://bugzilla.novell.com/show_bug.cgi?id=622977#c5
Stanislav Brabec changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P5 - None |P3 - Medium
Status|NEW |ASSIGNED
--- Comment #5 from Stanislav Brabec 2010-07-27 17:42:12 CEST ---
I just did deeper debugging.
pstoedit called dlopen("/usr/lib64/pstoedit/libp2edrvstd.so", RTLD_LAZY) as a
first instance.
This dlopen() returned 0x60a2c0.
Looking inside returned opaque structure, I seen:
(*(struct link_map *)0x60a2c0)->l_init_called = 1
Well, I set hardware watchpoint on this address and found a place, where it
switches to 0:
Called dlopen() which returned 0x611830
Detaching after fork from child process 25273.
Hardware watchpoint 8: (*(struct link_map *)0x60a2c0)->l_init_called
Old value = 1
New value = 0
_dl_fini () at dl-fini.c:224
224 if (l->l_info[DT_FINI_ARRAY] != NULL
2: (*(struct link_map *)0x60a2c0)->l_init_called = 0
(gdb) bt
#0 _dl_fini () at dl-fini.c:224
#1 0x00007ffff750a4e1 in __run_exit_handlers () from /lib64/libc.so.6
#2 0x00007ffff750a535 in exit () from /lib64/libc.so.6
#3 0x00007ffff74f3b84 in __libc_start_main () from /lib64/libc.so.6
#4 0x00000000004007e9 in _start ()
(gdb) c
Continuing.
Going to dlclose(0x60a2c0)
Breakpoint 4, _dl_close (_map=0x60a2c0) at dl-close.c:725
725 {
2: (*(struct link_map *)0x60a2c0)->l_init_called = 0
(gdb) c
Continuing.
Breakpoint 1, _dl_close (_map=0x60a2c0) at dl-close.c:731
731 assert (map->l_init_called);
2: (*(struct link_map *)0x60a2c0)->l_init_called = 0
(gdb) c
Continuing.
Inconsistency detected by ld.so: dl-close.c: 731: _dl_close: Assertion
`map->l_init_called' failed!
Program exited with code 0177.
I don't know yet why exit was called before dlclose() from DynLoader::close().
--
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.