This is the mail archive of the
glibc-bugs@sources.redhat.com
mailing list for the glibc project.
[Bug libc/228] bus error signal during unaligned memory access...
- From: "pluto at pld-linux dot org" <sourceware-bugzilla at sources dot redhat dot com>
- To: glibc-bugs at sources dot redhat dot com
- Date: 22 Jun 2004 09:22:55 -0000
- Subject: [Bug libc/228] bus error signal during unaligned memory access...
- References: <20040619205906.228.pluto@pld-linux.org>
- Reply-to: sourceware-bugzilla at sources dot redhat dot com
------- Additional Comments From pluto at pld-linux dot org 2004-06-22 09:22 -------
(In reply to comment #3)
> Works just fine for me.
> Can you debug this some more? See what value %g7 had at the point of the
crash,
> where it got corrupted?
Hmm, I found something strange...
# built with -static
0x0000000000109ee0 <__nss_passwd_lookup+0>: save %sp, -192, %sp
0x0000000000109ee4 <__nss_passwd_lookup+4>: sethi %hi(0x270800), %l1
0x0000000000109ee8 <__nss_passwd_lookup+8>: sethi %hi(0x158000), %o0
0x0000000000109eec <__nss_passwd_lookup+12>: ldx [ %l1 + 0x240 ], %g1
0x0000000000109ef0 <__nss_passwd_lookup+16>: sethi %hi(0x158000), %o2
0x0000000000109ef4 <__nss_passwd_lookup+20>: or %o0, 0x2a0, %o0
0x0000000000109ef8 <__nss_passwd_lookup+24>: or %o2, 0x390, %o2
0x0000000000109efc <__nss_passwd_lookup+28>: clr %o1
0x0000000000109f00 <__nss_passwd_lookup+32>: mov %i0, %l0
0x0000000000109f04 <__nss_passwd_lookup+36>: brz,pn %g1, 0x109f18
<__nss_passwd_lookup+56>
0x0000000000109f08 <__nss_passwd_lookup+40>: or %l1, 0x240, %o3
0x0000000000109f0c <__nss_passwd_lookup+44>: stx %g1, [ %l0 ]
0x0000000000109f10 <__nss_passwd_lookup+48>: b %xcc, 0x109200
<__nss_lookup>
0x0000000000109f14 <__nss_passwd_lookup+52>: restore
0x0000000000109f18 <__nss_passwd_lookup+56>: call 0x109b00
<__nss_database_lookup>
0x0000000000109f1c <__nss_passwd_lookup+60>: nop
0x0000000000109f20 <__nss_passwd_lookup+64>: cmp %o0, 0
0x0000000000109f24 <__nss_passwd_lookup+68>: bl,pn %icc, 0x109f38
<__nss_passwd_lookup+88>
0x0000000000109f28 <__nss_passwd_lookup+72>: ldx [ %l1 + 0x240 ], %g1
0x0000000000109f2c <__nss_passwd_lookup+76>: stx %g1, [ %l0 ]
0x0000000000109f30 <__nss_passwd_lookup+80>: b %xcc, 0x109200
<__nss_lookup>
0x0000000000109f34 <__nss_passwd_lookup+84>: restore
0x0000000000109f38 <__nss_passwd_lookup+88>: rett %i7 + 8
0x0000000000109f3c <__nss_passwd_lookup+92>: mov -1, %o0
(gdb) bt
#0 0x0000000000109ee4 in __nss_passwd_lookup ()
#1 0x00000000001084a8 in getpwuid_r ()
#2 0x000000000010825c in getpwuid ()
#3 0x0000000000100470 in main (argc=1, argv=0x7fffffffa78) at test01.c:7
(...)
0x0000000000109f2c in __nss_passwd_lookup ()
(gdb) ni
0x0000000000109f30 in __nss_passwd_lookup ()
(gdb) ni
0x0000000000109f34 in __nss_passwd_lookup ()
(gdb) ni
Program terminated with signal SIGSEGV, Segmentation fault.
# built without -static
Breakpoint 1, main (argc=1, argv=0x7fffffffa68) at test01.c:6
6 unsigned uid = getuid();
(gdb) c
Continuing.
Breakpoint 2, 0xfffff8000012cce4 in __errno_location () from /lib64/libc.so.6
(gdb) bt
#0 0xfffff8000012cce4 in __errno_location () from /lib64/libc.so.6
#1 0xfffff8000020872c in xdr_uint8_t () from /lib64/libc.so.6
#2 0xfffff800002081ac in xdr_uint8_t () from /lib64/libc.so.6
#3 0xfffff80000208360 in xdr_uint8_t () from /lib64/libc.so.6
#4 0xfffff800001a7f04 in getpwuid_r () from /lib64/libc.so.6
#5 0xfffff800001a775c in getpwuid () from /lib64/libc.so.6
#6 0x00000000001008c4 in main (argc=1, argv=0x7fffffffa68) at test01.c:7
(gdb) c
Continuing.
Breakpoint 2, 0xfffff8000012cce4 in __errno_location () from /lib64/libc.so.6
(gdb) bt
#0 0xfffff8000012cce4 in __errno_location () from /lib64/libc.so.6
#1 0xfffff800001d92fc in connect () from /lib64/libc.so.6
#2 0xfffff800001d92fc in connect () from /lib64/libc.so.6
Previous frame identical to this frame (corrupt stack?)
--
http://sources.redhat.com/bugzilla/show_bug.cgi?id=228
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.