From: Renaud L. <Ren...@ke...> - 2008-06-27 13:31:03
|
Hi ! I sent a patch on June 2nd which should fix this issue. Check with the patch or wait for the next official release including the fix. If you still experience the bug, please contact me. Regards. Renaud. Le jeudi 26 juin 2008, Garrett Cooper a écrit : > Hi guys, > I'm coming across this issue where execve05 is failing down in > "do_child_1()" because of a hangup waiting for a pipe to become > available, as read(2) blocks the input down in sync_pipe_wait(). > Output shown below: > > gcooper@headless-horseman ~ $ cd ./ltp-full-20080531/; gdb > testcases/kernel/syscalls/execve/execve05 > GNU gdb 6.7.1 > Copyright (C) 2007 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later > <http://gnu.org/licenses/gpl.html> This is free software: you are free to > change and redistribute it. There is NO WARRANTY, to the extent permitted > by law. Type "show copying" and "show warranty" for details. > This GDB was configured as "i686-pc-linux-gnu"... > Using host libthread_db library "/lib/libthread_db.so.1". > (gdb) set arg -F testcases/bin/test3 > (gdb) r > Starting program: > /usr/home/gcooper/ltp-full-20080531/testcases/kernel/syscalls/execve/execve >05 -F testcases/bin/test3 > execve05 1 BROK : open(2) failed > > Program received signal SIGINT, Interrupt. > 0xffffe410 in __kernel_vsyscall () > (gdb) where > #0 0xffffe410 in __kernel_vsyscall () > #1 0xb7e90d93 in read () from /lib/libc.so.6 > #2 0x08049650 in sync_pipe_wait () > #3 0x08049115 in main (ac=3, av=0xbf984bf4) at execve05.c:141 > > I then put in a strerror at the point of failure and discovered: > > Starting program: > /usr/home/gcooper/ltp-full-20080531/testcases/kernel/syscalls/execve/execve >05 -F testcases/bin/test3 > execve05 1 BROK : open(2) failed Permission denied > > Which makes sense since I'm not root (when running the process), > root owns test3, and the umask is set such that only root can write to > the file: > > gcooper@headless-horseman ~/ltp-full-20080531 $ ls -l testcases/bin/test3 > -rwxr-xr-x 1 root root 8088 Jun 26 01:48 testcases/bin/test3 > gcooper@headless-horseman ~/ltp-full-20080531 $ whoami > gcooper > > The short term solution is to set the umask / ownership up so I > have access to the files, but the long term question is: "Why aren't > sync_pipe_wait and sync_pipe_notify using select(2) instead of > straight read(2) / write(2), because it would avoid this little issue > with blocking I/O quite easily..." > Thanks, > -Garrett > > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://sourceforge.net/services/buy/index.php > _______________________________________________ > Ltp-list mailing list > Ltp...@li... > https://lists.sourceforge.net/lists/listinfo/ltp-list -- Renaud Lottiaux Kerlabs Bâtiment Germanium 80, avenue des buttes de Coësmes 35700 Rennes - France Phone : (+33|0)6 80 89 19 34 Fax : (+33|0)2 99 84 71 71 Email : Ren...@ke... Web : http://www.kerlabs.com/ |