found 387498 2.3.2.ds1-22sarge3 close 2.3.999.2-11 thanks I am able to reproduce this bug, but on mipsel only. I am using a 2.6.17 64-bit kernel.
First I have found the bug is also present in the glibc from sarge, but fixed in the glibc from experimental. Then I have done an strace: execve("./t", ["./t", "echo g"], [/* 22 vars */]) = 0 svr4_syscall() = -1 ERRNO_4122 (Unknown error 4122) svr4_syscall() = -1 ERRNO_4045 (Unknown error 4045) access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aabf000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=43831, ...}) = 0 old_mmap(NULL, 43831, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2aac0000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0\224V\1"..., 512) = 512 lseek(3, 628, SEEK_SET) = 628 read(3, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\4\0\0\0"..., 32) = 32 fstat64(3, {st_mode=S_IFREG|0755, st_size=1466936, ...}) = 0 old_mmap(NULL, 1650416, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2ab00000 mprotect(0x2ac47000, 311024, PROT_NONE) = 0 old_mmap(0x2ac87000, 40960, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x147000) = 0x2ac87000 old_mmap(0x2ac91000, 7920, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2ac91000 close(3) = 0 mprotect(0x2ac87000, 28672, PROT_READ) = 0 mprotect(0x2aafe000, 4096, PROT_READ) = 0 munmap(0x2aac0000, 43831) = 0 brk(0) = 0x441000 brk(0x462000) = 0x462000 rt_sigaction(SIGPROF, {0x10000000, ~[], SA_STACK|SA_INTERRUPT|0x2be22d0}, {SIG_DFL}, 16) = 0 setitimer(ITIMER_PROF, {it_interval={0, 1}, it_value={0, 1}}, {it_interval={0, 0}, it_value={0, 0}}) = 0 rt_sigaction(SIGINT, {SIG_DFL}, {SIG_DFL}, 16) = 0 rt_sigaction(SIGQUIT, {SIG_DFL}, {SIG_DFL}, 16) = ? ERESTARTNOINTR (To be restarted) --- SIGPROF (Profiling timer expired) @ 0 (0) --- sigreturn() = ? (mask now [RT_37 RT_40 RT_41 RT_44 RT_45 RT_46 RT_50 RT_52 RT_55 RT_65 RT_66 RT_67 RT_68 RT_69 RT_70 RT_71]) rt_sigaction(SIGQUIT, {SIG_DFL}, {SIG_DFL}, 16) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 16) = 0 --- SIGPROF (Profiling timer expired) @ 0 (0) --- sigreturn() = ? (mask now [RT_37 RT_40 RT_41 RT_44 RT_45 RT_46 RT_50 RT_52 RT_55 RT_65 RT_66 RT_67 RT_68 RT_69 RT_70 RT_71]) fork() = ? ERESTARTNOINTR (To be restarted) --- SIGPROF (Profiling timer expired) @ 0 (0) --- sigreturn() = ? (mask now [RT_37 RT_40 RT_41 RT_44 RT_45 RT_46 RT_50 RT_52 RT_55 RT_65 RT_66 RT_67 RT_68 RT_69 RT_70 RT_71]) --- SIGPROF (Profiling timer expired) @ 0 (0) --- sigreturn() = ? (mask now [RT_37 RT_40 RT_41 RT_44 RT_45 RT_46 RT_50 RT_52 RT_55 RT_65 RT_66 RT_67 RT_68 RT_69 RT_70 RT_71]) --- SIGPROF (Profiling timer expired) @ 0 (0) --- sigreturn() = ? (mask now [RT_37 RT_40 RT_41 RT_44 RT_45 RT_46 RT_50 RT_52 RT_55 RT_65 RT_66 RT_67 RT_68 RT_69 RT_70 RT_71]) --- SIGPROF (Profiling timer expired) @ 0 (0) --- sigreturn() = ? (mask now [RT_37 RT_40 RT_41 RT_44 RT_45 RT_46 RT_50 RT_52 RT_55 RT_65 RT_66 RT_67 RT_68 RT_69 RT_70 RT_71]) fork() = ? ERESTARTNOINTR (To be restarted) --- SIGPROF (Profiling timer expired) @ 0 (0) --- sigreturn() = ? (mask now [RT_37 RT_40 RT_41 RT_44 RT_45 RT_46 RT_50 RT_52 RT_55 RT_65 RT_66 RT_67 RT_68 RT_69 RT_70 RT_71]) --- SIGPROF (Profiling timer expired) @ 0 (0) --- sigreturn() = ? (mask now [RT_37 RT_40 RT_41 RT_44 RT_45 RT_46 RT_50 RT_52 RT_55 RT_65 RT_66 RT_67 RT_68 RT_69 RT_70 RT_71]) fork() = ? ERESTARTNOINTR (To be restarted) --- SIGPROF (Profiling timer expired) @ 0 (0) --- sigreturn() = ? (mask now [RT_37 RT_40 RT_41 RT_44 RT_45 RT_46 RT_50 RT_52 RT_55 RT_65 RT_66 RT_67 RT_68 RT_69 RT_70 RT_71]) --- SIGPROF (Profiling timer expired) @ 0 (0) --- On Mon, Oct 02, 2006 at 11:19:11AM -0400, Camm Maguire wrote: > Greetings, and thanks for looking into this! It is still there on the > sid dchroot on vaughan: > > [EMAIL PROTECTED]:~$ cat t.c > int > main(int argc,char * argv[]) {return system(argv[1]);} > [EMAIL PROTECTED]:~$ cc -g t.c -o t > [EMAIL PROTECTED]:~$ ./t "echo g" > g > [EMAIL PROTECTED]:~$ cc -g -pg t.c -o t > [EMAIL PROTECTED]:~$ ./t "echo g" > > > > [1]+ Stopped ./t "echo g" > [EMAIL PROTECTED]:~$ [EMAIL PROTECTED]:~$ kill %1 > > > [1]+ Stopped ./t "echo g" > [EMAIL PROTECTED]:~$ [1]+ Terminated ./t "echo g" > [EMAIL PROTECTED]:~$ gdb ./t > GNU gdb 6.4.90-debian > Copyright (C) 2006 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 "mipsel-linux-gnu"...Using host libthread_db > library "/lib/libthread_db.so.1". > > (gdb) r "echo g" > Starting program: /home/camm/t "echo g" > l > > Program received signal SIGINT, Interrupt. > 0x2aba1c44 in fork () from /lib/libc.so.6 > (gdb) 1 int > 2 main(int argc,char * argv[]) {return system(argv[1]);} > (gdb) bt > #0 0x2aba1c44 in fork () from /lib/libc.so.6 > #1 0x2ab3bda0 in strtold_l () from /lib/libc.so.6 > #2 0x00000000 in ?? () > (gdb) disassemble > Dump of assembler code for function fork: > 0x2aba1c10 <fork+0>: lui gp,0xf > 0x2aba1c14 <fork+4>: addiu gp,gp,21024 > 0x2aba1c18 <fork+8>: addu gp,gp,t9 > 0x2aba1c1c <fork+12>: addiu sp,sp,-32 > 0x2aba1c20 <fork+16>: sw ra,28(sp) > 0x2aba1c24 <fork+20>: sw s0,24(sp) > 0x2aba1c28 <fork+24>: sw gp,16(sp) > 0x2aba1c2c <fork+28>: lw v0,-32664(gp) > 0x2aba1c30 <fork+32>: lw a0,-30344(gp) > 0x2aba1c34 <fork+36>: lw t9,0(v0) > 0x2aba1c38 <fork+40>: nop > 0x2aba1c3c <fork+44>: bnez t9,0x2aba1c80 <fork+112> > 0x2aba1c40 <fork+48>: nop > 0x2aba1c44 <fork+52>: li v0,4002 > 0x2aba1c48 <fork+56>: syscall > 0x2aba1c4c <fork+60>: lw t9,-32680(gp) > 0x2aba1c50 <fork+64>: bnez a3,0x2aba1c68 <fork+88> > 0x2aba1c54 <fork+68>: move s0,v0 > 0x2aba1c58 <fork+72>: lw ra,28(sp) > 0x2aba1c5c <fork+76>: lw s0,24(sp) > 0x2aba1c60 <fork+80>: jr ra > 0x2aba1c64 <fork+84>: addiu sp,sp,32 > ---Type <return> to continue, or q <return> to quit--- > > > 0x2aba1c68 <fork+88>: jalr t9 > 0x2aba1c6c <fork+92>: nop > 0x2aba1c70 <fork+96>: lw gp,16(sp) > 0x2aba1c74 <fork+100>: sw s0,0(v0) > 0x2aba1c78 <fork+104>: b 0x2aba1c58 <fork+72> > 0x2aba1c7c <fork+108>: li v0,-1 > 0x2aba1c80 <fork+112>: lw ra,28(sp) > 0x2aba1c84 <fork+116>: lw s0,24(sp) > 0x2aba1c88 <fork+120>: jr t9 > 0x2aba1c8c <fork+124>: addiu sp,sp,32 > End of assembler dump. > (gdb) (gdb) (gdb) shell > [EMAIL PROTECTED]:~$ ldd ./t > libc.so.6 => /lib/libc.so.6 (0x2ab00000) > /lib/ld.so.1 (0x2aaa8000) > [EMAIL PROTECTED]:~$ dpkg -l libc6 > uname -a > Desired=Unknown/Install/Remove/Purge/Hold > | Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed > |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: > uppercase=bad) > ||/ Name Version Description > +++-==============-==============-============================================ > ii libc6 2.3.6.ds1-4 GNU C Library: Shared libraries > [EMAIL PROTECTED]:~$ Linux vaughan 2.6.17.7 #2 Mon Jul 31 12:08:35 EDT 2006 > mips GNU/Linux > [EMAIL PROTECTED]:~$ > > Take care, > > Thiemo Seufer <[EMAIL PROTECTED]> writes: > > > Steve McIntyre wrote: > > > I've tried to look into this on my mips machine, but all seems to work > > > as expected: > > > > > > [EMAIL PROTECTED]:~$ zless /usr/share/doc/libc6/changelog.Debian.gz > > > [EMAIL PROTECTED]:~$ cat >t.c > > > int > > > main(int argc,char * argv[]) {return system(argv[1]);} > > > [EMAIL PROTECTED]:~$ cc -g t.c -o t > > > [EMAIL PROTECTED]:~$ ./t "echo g" > > > g > > > [EMAIL PROTECTED]:~$ cc -g -pg t.c -o t > > > [EMAIL PROTECTED]:~$ ./t "echo g" > > > g > > > [EMAIL PROTECTED]:~$ dpkg -s libc6 | grep Version: > > > Version: 2.3.6.ds1-4 > > > > > > One difference to point out is that I'm using a 2.6 kernel on this > > > machine: > > > [EMAIL PROTECTED]:~$ uname -a > > > Linux mallet 2.6.16-1-r5k-ip32 #1 Mon Apr 3 18:39:05 UTC 2006 mips64 > > > GNU/Linux > > > > > > which might explain it. I don't have any mipsen running 2.4 atm. Camm, > > > can you still reproduce this? > > > > > > Ah, hang on - you reported this on vaughan, which is mips*el*. It > > > seems to be locked down atm, so I can't take a look myself atm on > > > there... > > > > I couldn't reproduce it on mipsel/unstable with 2.4.27 kernel. > > Camm, can you try gdb and/or strace on the testcase? > > > > > > Thiemo > > > > > > > > > > -- > Camm Maguire [EMAIL PROTECTED] > ========================================================================== > "The earth is but one country, and mankind its citizens." -- Baha'u'llah > > > -- > To UNSUBSCRIBE, email to [EMAIL PROTECTED] > with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED] > > -- .''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' [EMAIL PROTECTED] | [EMAIL PROTECTED] `- people.debian.org/~aurel32 | www.aurel32.net