Date: Wed, 2 Dec 2009 12:23:47 +0100 From: Gary Jennejohn <gary.jennejohn@freenet.de> To: John Baldwin <jhb@freebsd.org> Cc: freebsd-current@freebsd.org Subject: Re: core dump in cvsup caused by _once()? Message-ID: <20091202122347.124c2652@ernst.jennejohn.org> In-Reply-To: <200912011009.59961.jhb@freebsd.org> References: <20091128111501.34a7a2a4@ernst.jennejohn.org> <200912011009.59961.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 1 Dec 2009 10:09:59 -0500 John Baldwin <jhb@freebsd.org> wrote: [snip old gdb stuff] > Can you do 'x/i $rip'? Also, if you could rebuild libc with debug symbols > that could be helpful (just cd /usr/src/lib/libc; make clean; make > DEBUG_FLAGS=-g install). > OK, here it is: Core was generated by `cvsup'. Program terminated with signal 4, Illegal instruction. Reading symbols from /lib/libz.so.5...(no debugging symbols found)...done. Loaded symbols for /lib/libz.so.5 Reading symbols from /lib/libm.so.5...(no debugging symbols found)...done. Loaded symbols for /lib/libm.so.5 Reading symbols from /lib/libc.so.7...done. Loaded symbols for /lib/libc.so.7 Reading symbols from /libexec/ld-elf.so.1...done. Loaded symbols for /libexec/ld-elf.so.1 #0 0x00000008009ee0e7 in tzload (name=0xb <Address 0xb out of bounds>, sp=0x76fe58, doextend=0) at /usr/src/lib/libc/stdtime/localtime.c:393 393 if (name != NULL && issetugid() != 0) (gdb) bt #0 0x00000008009ee0e7 in tzload (name=0xb <Address 0xb out of bounds>, sp=0x76fe58, doextend=0) at /usr/src/lib/libc/stdtime/localtime.c:393 #1 0x00000008009edb8e in tzparse (name=0x765c6d "", sp=0x76fe58, lastditch=Variable "lastditch" is not available. ) at /usr/src/lib/libc/stdtime/localtime.c:1002 #2 0x00000008009ee810 in tzload (name=Variable "name" is not available. ) at /usr/src/lib/libc/stdtime/localtime.c:579 #3 0x00000008009eea28 in gmtload (sp=0x800b4d7a0) at /usr/src/lib/libc/stdtime/localtime.c:1197 #4 0x00000008009f1d78 in _once (once_control=0x800b48fe0, init_routine=Variable "init_routine" is not available. ) at /usr/src/lib/libc/gen/_once_stub.c:43 #5 0x00000008009ed80f in gmtsub (timep=0x774bb8, offset=0, tmp=0x800b52040) at /usr/src/lib/libc/stdtime/localtime.c:1489 #6 0x00000008009ef097 in gmtime (timep=0x774bb8) at /usr/src/lib/libc/stdtime/localtime.c:1550 #7 0x00000000004a643a in calloc () #8 0x000000000043aec7 in ?? () #9 0x0000000000448eaa in ?? () #10 0x0000000000409ece in ?? () #11 0x00000000004191a4 in ?? () #12 0x0000000000417cbe in ?? () #13 0x000000000041529f in ?? () #14 0x0000000000414d7a in ?? () #15 0x000000000049f980 in calloc () #16 0x000000000048fa3d in fnmatch () #17 0x00007fffffffd3e8 in ?? () #18 0x00007fffffffe950 in ?? () #19 0x00007fffffffea40 in ?? () #20 0x00007fffffffea28 in ?? () #21 0x0000000000000000 in ?? () #22 0x0000000000000000 in ?? () #23 0x00001fa00000037f in ?? () #24 0x0000000000000000 in ?? () #25 0x00000000006476c0 in ?? () #26 0x00000000006476c0 in ?? () #27 0x0000000000494d89 in fnmatch () Previous frame inner to this frame (corrupt stack?) (gdb) x/i $rip 0x8009ee0e7 <tzload+55>: callq 0x80094959c <_init+6180> (gdb) up #1 0x00000008009edb8e in tzparse (name=0x765c6d "", sp=0x76fe58, lastditch=Variable "lastditch" is not available. ) at /usr/src/lib/libc/stdtime/localtime.c:1002 1002 load_result = tzload(TZDEFRULES, sp, FALSE); (gdb) x/i $rip 0x8009edb8e <tzparse+238>: test %eax,%eax (gdb) up #2 0x00000008009ee810 in tzload (name=Variable "name" is not available. ) at /usr/src/lib/libc/stdtime/localtime.c:579 579 result = tzparse(&u.buf[1], &ts, FALSE); (gdb) x/i $rip 0x8009ee810 <tzload+1888>: test %eax,%eax (gdb) up #3 0x00000008009eea28 in gmtload (sp=0x800b4d7a0) at /usr/src/lib/libc/stdtime/localtime.c:1197 1197 if (tzload(gmt, sp, TRUE) != 0) (gdb) x/i $rip 0x8009eea28 <gmtload+24>: test %eax,%eax (gdb) up #4 0x00000008009f1d78 in _once (once_control=0x800b48fe0, init_routine=Variable "init_routine" is not available. ) at /usr/src/lib/libc/gen/_once_stub.c:43 43 init_routine(); (gdb) x/i $rip 0x8009f1d78 <_once+24>: movl $0x1,(%rbx) (gdb) up #5 0x00000008009ed80f in gmtsub (timep=0x774bb8, offset=0, tmp=0x800b52040) at /usr/src/lib/libc/stdtime/localtime.c:1489 1489 _once(&gmt_once, gmt_init); (gdb) x/i $rip 0x8009ed80f <gmtsub+47>: lea 1441674(%rip),%rdx # 0x800b4d7a0 <_nsyyout+44408> (gdb) up #6 0x00000008009ef097 in gmtime (timep=0x774bb8) at /usr/src/lib/libc/stdtime/localtime.c:1550 1550 gmtsub(timep, 0L, &tm); (gdb) x/i $rip 0x8009ef097 <gmtime+119>: jmp 0x8009ef070 <gmtime+80> (gdb) up #7 0x00000000004a643a in calloc () (gdb) x/i $rip 0x4a643a <calloc+42618>: mov %rax,0xffffffffffffff48(%rbp) (gdb) frame 0 #0 0x00000008009ee0e7 in tzload (name=0xb <Address 0xb out of bounds>, sp=0x76fe58, doextend=0) at /usr/src/lib/libc/stdtime/localtime.c:393 393 if (name != NULL && issetugid() != 0) (gdb) --- Gary Jennejohn
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20091202122347.124c2652>