This is the mail archive of the glibc-bugs@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Crash with glibc 2.3.4 snapshot 20041219 on linux on alpha machine


Hello,

I am trying to build released update of glibc package for Fedora Core 3 on linux alpha.
It is based on glibc snapshot 20041219. In overall the glibc works except one thing:
The nptl version of libc crashes when I try to run mozilla of java runtime, but it works if I use LD_ASSUME_KERNEL=2.4.0.
I could not test this on the lastest CVS snapshot because it doesn't have support of LD_AUDIT for alpha.
I could not repeat the crash with simple program that uses "dlopen" (most of other programs work too).
It looks like java (gij and mozilla exesively use dlopen).


I tried to set breakpoint to __dl_allocate_tls_init, but it was not called.
Could some one give me a clue where to look at (may it has been fixed already)?


gcc 3.4.2 20041017 (Red Hat 3.4.2-8)
binutils 2.15.92.0.2 20040927

Here is trace.

[root@falcon ~]# gdb gij
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "alpha-unknown-linux-gnu"...
(no debugging symbols found)
Using host libthread_db library "/usr/src/redhat/BUILD/glibc-20041219T2331/build-alpha-linuxnptl/nptl_db/libthread_db.so.1".


(gdb) r Test
Starting program: /usr/bin/gij Test
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 2199023365424 (LWP 1734)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 2199023365424 (LWP 1734)]
0x0000020001071e44 in init_one_static_tls (curp=0x2000001ad30,
   map=0x20000019338) at allocatestack.c:926
926        dtv[map->l_tls_modid].pointer = dest;

dtv - is 0 here

(gdb) bt
#0 0x0000020001071e44 in init_one_static_tls (curp=0x2000001ad30,
map=0x20000019338) at allocatestack.c:926
#1 0x0000020001071fac in __pthread_init_static_tls (map=0x20000019338)
at allocatestack.c:947
#2 0x000002000122b0e8 in dl_open_worker (a=0x11fffefe0) at dl-open.c:368
#3 0x000002000000c790 in _dl_catch_error () from /lib/ld-linux.so.2
#4 0x000002000122b8b8 in *__GI__dl_open (file=0x20001248488 "libgcc_s.so.1",
mode=-2147483647, caller_dlopen=0x0, nsid=-2) at dl-open.c:586
#5 0x000002000122d11c in do_dlopen (ptr=0x11ffff220) at dl-libc.c:80
#6 0x000002000000c790 in _dl_catch_error () from /lib/ld-linux.so.2
#7 0x000002000122d094 in dlerror_run (operate=0x3, args=0x1) at dl-libc.c:42
#8 0x000002000122d1e0 in *__GI___libc_dlopen_mode (name=0x2000001ad30 "",
mode=103224) at dl-libc.c:153
#9 0x00000200011ff1c0 in init () at backtrace.c:40
#10 0x000002000107767c in __pthread_once (once_control=0x2000127bb08,
init_routine=0x200011ff190 <init>)
at ../nptl/sysdeps/unix/sysv/linux/alpha/pthread_once.c:83
#11 0x00000200011ff3b0 in __backtrace (array=0x2000001ad30, size=6)
at backtrace.c:78
#12 0x0000020000810308 in gnu::gcj::runtime::StackTrace::fillInStackTrace ()
from /usr/lib/libgcj.so.5
#13 0x00000200008d9814 in gnu::gcj::runtime::StackTrace::StackTrace ()
from /usr/lib/libgcj.so.5
---Type <return> to continue, or q <return> to quit---
#14 0x000002000081df24 in java::lang::Class::forName ()
from /usr/lib/libgcj.so.5
#15 0x0000020000b57dcc in gnu::gcj::convert::UnicodeToBytes::getDefaultEncoder
() from /usr/lib/libgcj.so.5
#16 0x000002000087637c in java::io::PrintStream::PrintStream ()
from /usr/lib/libgcj.so.5
#17 0x000002000084b678 in java::lang::System::__U3c_clinit__U3e_ ()
from /usr/lib/libgcj.so.5
#18 0x000002000081d698 in java::lang::Class::initializeClass ()
from /usr/lib/libgcj.so.5
#19 0x000002000081e118 in _Jv_InitClass () from /usr/lib/libgcj.so.5
#20 0x000002000084bd3c in java::lang::System::getProperty ()
from /usr/lib/libgcj.so.5
#21 0x00000200008509e0 in java::lang::VMClassLoader::getSystemClassLoader ()
from /usr/lib/libgcj.so.5
#22 0x0000020000837b64 in java::lang::ClassLoader::__U3c_clinit__U3e_ ()
from /usr/lib/libgcj.so.5
#23 0x000002000081d698 in java::lang::Class::initializeClass ()
from /usr/lib/libgcj.so.5
#24 0x00000200007dad8c in _Jv_CreateJavaVM () from /usr/lib/libgcj.so.5
#25 0x00000200007dae34 in _Jv_RunMain () from /usr/lib/libgcj.so.5
#26 0x0000000120000e54 in ?? ()
#27 0x00000200011352f0 in __libc_start_main (main=0x120000d00 <_init+552>,
---Type <return> to continue, or q <return> to quit---
argc=2, ubp_av=0x11ffff768, init=0x120001340 <_init+2152>, fini=0,
rtld_fini=0x2000001ad30, stack_end=0x11ffff750)
at ../sysdeps/generic/libc-start.c:209
#28 0x0000000120000b74 in ?? ()
Previous frame inner to this frame (corrupt stack?)
(gdb) q
The program is running. Exit anyway? (y or n) y
[root@falcon ~]# LD_ASSUME_KERNEL=2.4.0 java Test
libgcj-java-placeholder.sh


This script is a placeholder for the /usr/bin/java
master link required by jpackage.org conventions.  libgcj's
rmiregistry, rmic and jar tools are now slave symlinks to these
masters, and are managed by the alternatives(8) system.

This change was necessary because the rmiregistry, rmic and jar tools
installed by previous versions of libgcj conflicted with symlinks
installed by jpackage.org JVM packages.


(gdb) p *curp
$1 = {{header = {multiple_threads = 0}, __padding = {0x0 <repeats 16 times>}},
list = {next = 0x200010947e0, prev = 0x200010947e0}, tid = 23149,
pid = 23149, cleanup = 0x11ffff280, cleanup_jmp_buf = 0x11ffff680,
cancelhandling = 0, specific_1stblock = {{seq = 0, data = 0x0}, {seq = 0,
data = 0x0}, {seq = 1, data = 0x1200149f0}, {seq = 0,
data = 0x0} <repeats 29 times>}, specific_used = true, specific = {
0x2000001ade0, 0x0 <repeats 31 times>}, report_events = true,
user_stack = true, stopped_start = false, lock = 0, joinid = 0x0, flags = 0,
result = 0x0, schedparam = {__sched_priority = 0}, schedpolicy = 0,
start_routine = 0, arg = 0x0, eventbuf = {eventmask = {event_bits = {0, 0}},
eventnum = TD_ALL_EVENTS, eventdata = 0x0}, nextevent = 0x0, exc = {
exception_class = 0, exception_cleanup = 0, private_1 = 0, private_2 = 0},
stackblock = 0x0, stackblock_size = 4831836000, guardsize = 0,
reported_guardsize = 0, res = {retrans = 0, retry = 0, options = 0,
nscount = 0, nsaddr_list = {{sin_family = 0, sin_port = 0, sin_addr = {
s_addr = 0}, sin_zero = "\000\000\000\000\000\000\000"}, {
sin_family = 0, sin_port = 0, sin_addr = {s_addr = 0},
sin_zero = "\000\000\000\000\000\000\000"}, {sin_family = 0,
sin_port = 0, sin_addr = {s_addr = 0},
sin_zero = "\000\000\000\000\000\000\000"}}, id = 0, dnsrch = {0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, defdname = '\0' <repeats 255 times>,
pfcode = 0, ndots = 0, nsort = 0, unused = "\000\000", sort_list = {{
addr = {s_addr = 0}, mask = 0}, {addr = {s_addr = 0}, mask = 0}, {
---Type <return> to continue, or q <return> to quit---
addr = {s_addr = 0}, mask = 0}, {addr = {s_addr = 0}, mask = 0}, {
addr = {s_addr = 0}, mask = 0}, {addr = {s_addr = 0}, mask = 0}, {
addr = {s_addr = 0}, mask = 0}, {addr = {s_addr = 0}, mask = 0}, {
addr = {s_addr = 0}, mask = 0}, {addr = {s_addr = 0}, mask = 0}},
qhook = 0, rhook = 0, res_h_errno = 0, _vcsock = 0, _flags = 0, _u = {
pad = '\0' <repeats 48 times>, "¨º\001", _ext = {nscount = 0, nsmap = {
0, 0, 0}, nssocks = {0, 0, 0}, nscount6 = 0, nsinit = 0, nsaddrs = {
0x0, 0x0, 0x0}, initstamp = 2199023368872}}}}
(gdb) p *map
$2 = {l_addr = 2199041146880,
l_name = 0x200000192e8 "/usr/src/redhat/BUILD/glibc-20041219T2331/build-alpha-linuxnptl/libc.so.6.1", l_ld = 0x20001277e18, l_next = 0x20000019840,
l_prev = 0x20000018e70, l_real = 0x20000019338, l_ns = 0,
l_libname = 0x20000019770, l_info = {0x0, 0x20001277e18, 0x20001277ec8,
0x20001277eb8, 0x20001277e68, 0x20001277e78, 0x20001277e88, 0x20001277ef8,
0x20001277f08, 0x20001277f18, 0x20001277e98, 0x20001277ea8, 0x20001277e38,
0x0, 0x20001277e28, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20001277ed8, 0x0, 0x0,
0x20001277ee8, 0x20001277f58, 0x0, 0x20001277e48, 0x0, 0x20001277e58, 0x0,
0x20001277f48, 0x0, 0x0, 0x0, 0x20001277f78, 0x20001277f68, 0x20001277f38,
0x20001277f28, 0x20001277f58, 0x0, 0x20001277f98, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x20001277f88, 0x0 <repeats 25 times>},
l_phdr = 0x20001110040, l_entry = 2199041299440, l_phnum = 10, l_ldnum = 30,
l_searchlist = {r_list = 0x0, r_nlist = 0}, l_symbolic_searchlist = {
r_list = 0x0, r_nlist = 0}, l_loader = 0x2000002acb0, l_nbuckets = 1023,
l_buckets = 0x200011102a0, l_chain = 0x20001112298, l_opencount = 2,
l_direct_opencount = 0, l_type = lt_library, l_relocated = 1,
l_init_called = 1, l_global = 1, l_reserved = 0, l_phdr_allocated = 0,
l_soname_added = 0, l_faked = 0, l_need_tls_init = 0, l_used = 1,
l_nversions = 23, l_versions = 0x2000001a578, l_rpath_dirs = {dirs = 0x0,
malloced = 0}, l_reloc_result = 0x0, l_versyms = 0x20001127fc4,
l_origin = 0x20000019798 "/usr/src/redhat/BUILD/glibc-20041219T2331/build-alpha-linuxnptl", l_map_start = 2199041146880, l_map_end = 2199042651104,
---Type <return> to continue, or q <return> to quit---
l_text_end = 2199042637824, l_scope_mem = {0x2000002af60, 0x0, 0x0, 0x0},
l_scope_max = 4, l_scope = 0x20000019680, l_local_scope = {0x200000195e8,
0x0}, l_dev = 2050, l_ino = 1400892, l_runpath_dirs = {dirs = 0x0,
malloced = 0}, l_initfini = 0x20000019e48, l_reldepsmax = 0,
l_reldepsact = 0, l_reldeps = 0x0, l_feature_1 = 0, l_flags_1 = 1,
l_flags = 24, l_idx = 0, l_mach = {<No data fields>}, l_lookup_cache = {
sym = 0x20001121fa8, type_class = 1, value = 0x20000019338,
ret = 0x20001121fa8}, l_tls_initimage = 0x20001275418,
l_tls_initimage_size = 16, l_tls_blocksize = 80, l_tls_align = 8,
l_tls_firstbyte_offset = 0, l_tls_offset = 80, l_tls_modid = 1,
l_relro_addr = 1463320, l_relro_size = 11240}
(gdb)


Thank you,

--
---
Sergey Tikhonov
Solvo Ltd.
tsv@solvo.ru


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]