From: "Luming Yu" <luming.yu@gmail.com>
To: Petr Tesarik <ptesarik@suse.cz>
Cc: Roland McGrath <roland@redhat.com>,
LKML <linux-kernel@vger.kernel.org>,
linux-ia64@vger.kernel.org
Subject: Re: [RFC PATCH] set TASK_TRACED before arch_ptrace code to fix a race
Date: Thu, 05 Jun 2008 01:49:42 +0000 [thread overview]
Message-ID: <3877989d0806041849vb903aaw221de929e2ab8cb9@mail.gmail.com> (raw)
In-Reply-To: <48465D5C.8000804@suse.cz>
[-- Attachment #1: Type: text/plain, Size: 1225 bytes --]
On Wed, Jun 4, 2008 at 5:16 PM, Petr Tesarik <ptesarik@suse.cz> wrote:
> Luming Yu wrote:
>>> It's definitely a bug in strace. For some reason (I don't care about)
>>> the execve() syscall produces an extra notification. However, this
>>> notification message is suppressed when SIGTRAP is blocked. This
>>> explains why the test case fails only when SIGTRAP is blocked.
>>
>> This is exact problem I suspected and I was trying to address in my hack..
>> Since there are several processes involved in the pretty complex
>> ptrace scenario.,
>> I need to capture all processes context with kdump to confirm this is
>> exact root-cause
>> for the problem. But kdump doesn't work for me..I'm trying to solve it now..
>>
>> I'm also in doubt about the semantic correctness of the test case..
>> Since SIGTRAP is so necessary to get ptrace work, is it legitimate to
>> block it in test case?
>>
>> One more thing I need to say is:
>> Same strace works for utrace enabled kernel on IA64.. If the bug is in
>> strace, how could it happen?
>
> No idea, but send me the strace.log file from running
>
> strace -o strace.log strace -f -o log.txt ./test1
>
> and I may be able to tell.
Please check the attachment!
>
> Petr Tesarik
>
[-- Attachment #2: strace.log --]
[-- Type: application/octet-stream, Size: 16090 bytes --]
5717 execve("./test1", ["./test1"], [/* 23 vars */]) = 1
5717 brk(0) = 0x6000000000004000
5717 uname({sys="Linux", node="tigerF", ...}) = 0
5717 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
5717 open("/etc/ld.so.cache", O_RDONLY) = 3
5717 fstat(3, {st_mode=S_IFREG|0644, st_size=47098, ...}) = 0
5717 mmap(NULL, 47098, PROT_READ, MAP_PRIVATE, 3, 0) = 0x200000000003c000
5717 close(3) = 0
5717 open("/lib/libc.so.6.1", O_RDONLY) = 3
5717 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0002\0\1\0\0\0\340:\2\0\0\0\0\0"..., 832) = 832
5717 fstat(3, {st_mode=S_IFREG|0755, st_size=2865232, ...}) = 0
5717 mmap(NULL, 2633344, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2000000000050000
5717 mprotect(0x20000000002bc000, 49152, PROT_NONE) = 0
5717 mmap(0x20000000002c8000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x268000) = 0x20000000002c8000
5717 mmap(0x20000000002d0000, 11904, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x20000000002d0000
5717 close(3) = 0
5717 mmap(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x20000000002d4000
5717 mmap(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x20000000002d8000
5717 munmap(0x200000000003c000, 47098) = 0
5717 rt_sigprocmask(SIG_SETMASK, [TRAP], NULL, 8) = 0
5717 pipe([3, 4]) = 3
5717 clone2(child_stack=0, stack_size=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x20000000002d4090) = 5718
5717 close(4 <unfinished ...>
5718 close(3 <unfinished ...>
5717 <... close resumed> ) = 0
5718 <... close resumed> ) = 0
5718 close(1) = 0
5718 dup(4) = 1
5718 close(4) = 0
5717 read(3, <unfinished ...>
5718 execve("./test2.sh", [], [/* 23 vars */]) = 1
5718 execve("", [0x840c001000100003, 0x26230c14203032, 0x8cb0008800140a81, 0xa643100801808402, 0x2400905000040088, 0x11600a0072000001, 0xad814a00402e0, 0x2200012464009344, 0x1180418512c40026, 0x400003081880008, 0x2100010840910404, 0x8045120000800003, 0x6400000c0000600, 0xc20063440501400, 0x1048015002008081, 0xe02226005008c010, ...], [/* 0 vars */]) = 1
5718 uname({sys="Linux", node="tigerF", ...}) = 0
5718 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
5718 open("/etc/ld.so.cache", O_RDONLY) = 3
5718 fstat(3, {st_mode=S_IFREG|0644, st_size=47098, ...}) = 0
5718 mmap(NULL, 47098, PROT_READ, MAP_PRIVATE, 3, 0) = 0x200000000003c000
5718 close(3) = 0
5718 open("/lib/libtermcap.so.2", O_RDONLY) = 3
5718 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0002\0\1\0\0\0\300\25\0\0\0\0\0\0"..., 832) = 832
5718 fstat(3, {st_mode=S_IFREG|0755, st_size=25272, ...}) = 0
5718 mmap(NULL, 88760, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2000000000050000
5718 mprotect(0x2000000000058000, 49152, PROT_NONE) = 0
5718 mmap(0x2000000000064000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x2000000000064000
5718 close(3) = 0
5718 open("/lib/libdl.so.2", O_RDONLY) = 3
5718 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0002\0\1\0\0\0\300\24\0\0\0\0\0\0"..., 832) = 832
5718 fstat(3, {st_mode=S_IFREG|0755, st_size=27088, ...}) = 0
5718 mmap(NULL, 84288, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2000000000068000
5718 mprotect(0x2000000000070000, 49152, PROT_NONE) = 0
5718 mmap(0x200000000007c000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x200000000007c000
5718 close(3) = 0
5718 open("/lib/libc.so.6.1", O_RDONLY) = 3
5718 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0002\0\1\0\0\0\340:\2\0\0\0\0\0"..., 832) = 832
5718 fstat(3, {st_mode=S_IFREG|0755, st_size=2865232, ...}) = 0
5718 mmap(NULL, 2633344, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2000000000080000
5718 mprotect(0x20000000002ec000, 49152, PROT_NONE) = 0
5718 mmap(0x20000000002f8000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x268000) = 0x20000000002f8000
5718 mmap(0x2000000000300000, 11904, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2000000000300000
5718 close(3) = 0
5718 mmap(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2000000000304000
5718 mmap(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2000000000308000
5718 mmap(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2000000000310000
5718 mmap(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2000000000314000
5718 mmap(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2000000000318000
5718 munmap(0x200000000003c000, 47098) = 0
5718 rt_sigprocmask(SIG_BLOCK, NULL, [TRAP], 8) = 0
5718 open("/dev/tty", O_RDWR|O_NONBLOCK) = 3
5718 close(3) = 0
5718 brk(0) = 0x600000000001c000
5718 brk(0x6000000000040000) = 0x6000000000040000
5718 open("/usr/lib/locale/locale-archive", O_RDONLY) = 3
5718 fstat(3, {st_mode=S_IFREG|0644, st_size=58759552, ...}) = 0
5718 mmap(NULL, 58759552, PROT_READ, MAP_PRIVATE, 3, 0) = 0x200000000031c000
5718 close(3) = 0
5718 getuid() = 0
5718 getgid() = 0
5718 geteuid() = 0
5718 getegid() = 0
5718 rt_sigprocmask(SIG_BLOCK, NULL, [TRAP], 8) = 0
5718 gettimeofday({1212673242, 35736}, NULL) = 0
5718 open("/proc/meminfo", O_RDONLY) = 3
5718 fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
5718 mmap(NULL, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2000000003b28000
5718 read(3, "MemTotal: 7597840 kB\nMemFre"..., 16384) = 780
5718 close(3) = 0
5718 munmap(0x2000000003b28000, 65536) = 0
5718 rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, 8) = 0
5718 rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, 8) = 0
5718 rt_sigaction(SIGINT, {SIG_DFL}, {SIG_IGN}, 8) = 0
5718 rt_sigaction(SIGINT, {SIG_IGN}, {SIG_DFL}, 8) = 0
5718 rt_sigaction(SIGQUIT, {SIG_DFL}, {SIG_IGN}, 8) = 0
5718 rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_DFL}, 8) = 0
5718 rt_sigprocmask(SIG_BLOCK, NULL, [TRAP], 8) = 0
5718 rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_IGN}, 8) = 0
5718 uname({sys="Linux", node="tigerF", ...}) = 0
5718 stat("/tmp/testpro", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
5718 stat(".", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
5718 getpid() = 5718
5718 open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = 3
5718 fstat(3, {st_mode=S_IFREG|0644, st_size=25462, ...}) = 0
5718 mmap(NULL, 25462, PROT_READ, MAP_SHARED, 3, 0) = 0x2000000003c00000
5718 close(3) = 0
5718 getppid() = 5717
5718 getpgid(0) = 5716
5718 rt_sigaction(SIGCHLD, {0x4000000000163b30, [], 0}, {SIG_DFL}, 8) = 0
5718 rt_sigprocmask(SIG_BLOCK, NULL, [TRAP], 8) = 0
5718 open("./test2.sh", O_RDONLY) = 3
5718 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x60000fffffac34c0) = -1 ENOTTY (Inappropriate ioctl for device)
5718 lseek(3, 0, SEEK_CUR) = 0
5718 read(3, "#!/bin/sh\n\n/bin/date\n", 80) = 21
5718 lseek(3, 0, SEEK_SET) = 0
5718 getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024}) = 0
5718 dup2(3, 255) = 255
5718 close(3) = 0
5718 fcntl(255, F_SETFD, FD_CLOEXEC) = 0
5718 fcntl(255, F_GETFL) = 0x8000 (flags O_RDONLY|0x8000)
5718 fstat(255, {st_mode=S_IFREG|0775, st_size=21, ...}) = 0
5718 lseek(255, 0, SEEK_CUR) = 0
5718 rt_sigprocmask(SIG_BLOCK, NULL, [TRAP], 8) = 0
5718 read(255, "#!/bin/sh\n\n/bin/date\n", 21) = 21
5718 rt_sigprocmask(SIG_BLOCK, NULL, [TRAP], 8) = 0
5718 rt_sigprocmask(SIG_BLOCK, NULL, [TRAP], 8) = 0
5718 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [TRAP], 8) = 0
5718 clone2(child_stack=0, stack_size=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x20000000003047c0) = 5719
5718 rt_sigprocmask(SIG_SETMASK, [TRAP], <unfinished ...>
5719 close(255 <unfinished ...>
5718 <... rt_sigprocmask resumed> NULL, 8) = 0
5719 <... close resumed> ) = 0
5718 rt_sigprocmask(SIG_BLOCK, [CHLD], <unfinished ...>
5719 rt_sigprocmask(SIG_SETMASK, [TRAP], <unfinished ...>
5718 <... rt_sigprocmask resumed> [TRAP], 8) = 0
5719 <... rt_sigprocmask resumed> NULL, 8) = 0
5719 rt_sigaction(SIGTSTP, {SIG_DFL}, <unfinished ...>
5718 rt_sigprocmask(SIG_SETMASK, [TRAP], <unfinished ...>
5719 <... rt_sigaction resumed> {SIG_DFL}, 8) = 0
5718 <... rt_sigprocmask resumed> NULL, 8) = 0
5719 rt_sigaction(SIGTTIN, {SIG_DFL}, <unfinished ...>
5718 rt_sigprocmask(SIG_BLOCK, [CHLD], <unfinished ...>
5719 <... rt_sigaction resumed> {SIG_IGN}, 8) = 0
5718 <... rt_sigprocmask resumed> [TRAP], 8) = 0
5719 rt_sigaction(SIGTTOU, {SIG_DFL}, <unfinished ...>
5718 rt_sigaction(SIGINT, {0x4000000000163b80, [], 0}, <unfinished ...>
5719 <... rt_sigaction resumed> {SIG_IGN}, 8) = 0
5718 <... rt_sigaction resumed> {SIG_IGN}, 8) = 0
5719 rt_sigaction(SIGINT, {SIG_IGN}, <unfinished ...>
5718 rt_sigaction(SIGINT, {SIG_IGN}, <unfinished ...>
5719 <... rt_sigaction resumed> {SIG_IGN}, 8) = 0
5718 <... rt_sigaction resumed> {0x4000000000163b80, [], 0}, 8) = 0
5719 rt_sigaction(SIGQUIT, {SIG_IGN}, <unfinished ...>
5718 wait4(-1, <unfinished ...>
5719 <... rt_sigaction resumed> {SIG_IGN}, 8) = 0
5719 rt_sigaction(SIGCHLD, {SIG_DFL}, {0x4000000000163b30, [], 0}, 8) = 0
5719 execve("/bin/date", ["/bin/date"...], [/* 22 vars */]) = 1
5719 brk(0) = 0x6000000000008000
5719 uname({sys="Linux", node="tigerF", ...}) = 0
5719 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
5719 open("/etc/ld.so.cache", O_RDONLY) = 3
5719 fstat(3, {st_mode=S_IFREG|0644, st_size=47098, ...}) = 0
5719 mmap(NULL, 47098, PROT_READ, MAP_PRIVATE, 3, 0) = 0x200000000003c000
5719 close(3) = 0
5719 open("/lib/librt.so.1", O_RDONLY) = 3
5719 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0002\0\1\0\0\0\0/\0\0\0\0\0\0"..., 832) = 832
5719 fstat(3, {st_mode=S_IFREG|0755, st_size=77416, ...}) = 0
5719 mmap(NULL, 128000, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2000000000050000
5719 mprotect(0x2000000000060000, 49152, PROT_NONE) = 0
5719 mmap(0x200000000006c000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc000) = 0x200000000006c000
5719 close(3) = 0
5719 open("/lib/libc.so.6.1", O_RDONLY) = 3
5719 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0002\0\1\0\0\0\340:\2\0\0\0\0\0"..., 832) = 832
5719 fstat(3, {st_mode=S_IFREG|0755, st_size=2865232, ...}) = 0
5719 mmap(NULL, 2633344, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2000000000070000
5719 mprotect(0x20000000002dc000, 49152, PROT_NONE) = 0
5719 mmap(0x20000000002e8000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x268000) = 0x20000000002e8000
5719 mmap(0x20000000002f0000, 11904, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x20000000002f0000
5719 close(3) = 0
5719 open("/lib/libpthread.so.0", O_RDONLY) = 3
5719 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0002\0\1\0\0\0pt\0\0\0\0\0\0"..., 832) = 832
5719 fstat(3, {st_mode=S_IFREG|0755, st_size=210024, ...}) = 0
5719 mmap(NULL, 242272, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x20000000002f4000
5719 mprotect(0x200000000031c000, 49152, PROT_NONE) = 0
5719 mmap(0x2000000000328000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x24000) = 0x2000000000328000
5719 mmap(0x200000000032c000, 12896, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x200000000032c000
5719 close(3) = 0
5719 mmap(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2000000000330000
5719 mmap(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2000000000334000
5719 mmap(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2000000000338000
5719 mmap(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2000000000340000
5719 munmap(0x200000000003c000, 47098) = 0
5719 set_tid_address(0x20000000003309a0) = 5719
5719 get_robust_list(0x20000000003309b0, 0x18, 0x4000000000000040) = 0
5719 rt_sigaction(SIGRT0, {0x2000000000048f30, [], SA_SIGINFO}, NULL, 8) = 0
5719 rt_sigaction(SIGRT1, {0x2000000000048f20, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
5719 rt_sigprocmask(SIG_UNBLOCK, [RT0 RT1], NULL, 8) = 0
5719 getrlimit(RLIMIT_STACK, {rlim_cur=10240*1024, rlim_max=RLIM_INFINITY}) = 0
5719 brk(0) = 0x6000000000008000
5719 brk(0x600000000002c000) = 0x600000000002c000
5719 open("/usr/lib/locale/locale-archive", O_RDONLY) = 3
5719 fstat(3, {st_mode=S_IFREG|0644, st_size=58759552, ...}) = 0
5719 mmap(NULL, 58759552, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2000000000344000
5719 close(3) = 0
5719 clock_gettime(CLOCK_REALTIME, {1212673242, 58465043}) = 0
5719 open("/etc/localtime", O_RDONLY) = 3
5719 fstat(3, {st_mode=S_IFREG|0644, st_size=3519, ...}) = 0
5719 fstat(3, {st_mode=S_IFREG|0644, st_size=3519, ...}) = 0
5719 mmap(NULL, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2000000003b50000
5719 read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\0"..., 16384) = 3519
5719 lseek(3, -2252, SEEK_CUR) = 1267
5719 read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\5\0\0\0\5\0\0\0\0"..., 16384) = 2252
5719 close(3) = 0
5719 munmap(0x2000000003b50000, 65536) = 0
5719 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=3519, ...}) = 0
5719 fstat(1, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
5719 mmap(NULL, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2000000003b50000
5719 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=3519, ...}) = 0
5719 write(1, "Thu Jun 5 09:40:42 EDT 2008\n", 29) = 29
5717 <... read resumed> "Thu Jun 5 09:40:42 EDT 2008\n", 8192) = 29
5719 close(1 <unfinished ...>
5717 fstat(1, <unfinished ...>
5719 <... close resumed> ) = 0
5719 munmap(0x2000000003b50000, 65536 <unfinished ...>
5717 <... fstat resumed> {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
5719 <... munmap resumed> ) = 0
5717 mmap(NULL, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0 <unfinished ...>
5719 exit_group(0) = ?
5717 <... mmap resumed> ) = 0x20000000002e0000
5718 <... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 5719
5717 write(1, "Thu Jun 5 09:40:42 EDT 2008\n", 29 <unfinished ...>
5718 rt_sigprocmask(SIG_SETMASK, [TRAP], NULL, 8) = 0
5717 <... write resumed> ) = 29
5718 --- SIGCHLD (Child exited) @ a000000000010621 (1657) ---
5717 read(3, <unfinished ...>
5718 wait4(-1, 0x60000fffffac29cc, WNOHANG, NULL) = -1 ECHILD (No child processes)
5718 rt_sigreturn() = ? (mask now [HUP INT ILL BUS KILL SEGV USR2 PIPE STKFLT CHLD STOP TTOU URG XCPU XFSZ VTALRM PROF PWR SYS])
5718 rt_sigaction(SIGINT, {SIG_IGN}, {SIG_IGN}, 8) = 0
5718 rt_sigprocmask(SIG_BLOCK, NULL, [TRAP], 8) = 0
5718 read(255, "", 21) = 0
5718 exit_group(0) = ?
5717 <... read resumed> "", 8192) = 0
5717 --- SIGCHLD (Child exited) @ a000000000010621 (1656) ---
5717 close(3) = 0
5717 wait4(-1, NULL, 0, NULL) = 5718
5717 exit_group(0) = ?
next prev parent reply other threads:[~2008-06-05 1:49 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-22 2:47 [RFC PATCH] set TASK_TRACED before arch_ptrace code to fix a race Luming Yu
2008-05-22 8:47 ` [RFC PATCH] set TASK_TRACED before arch_ptrace code to fix a Petr Tesarik
2008-05-22 9:16 ` [RFC PATCH] set TASK_TRACED before arch_ptrace code to fix a race Luming Yu
2008-05-22 11:18 ` Roland McGrath
2008-05-22 12:12 ` [RFC PATCH] set TASK_TRACED before arch_ptrace code to fix a Petr Tesarik
2008-05-22 20:39 ` Roland McGrath
2008-05-23 12:33 ` [RFC PATCH] set TASK_TRACED before arch_ptrace code to fix a race Luming Yu
2008-05-22 13:24 ` Luming Yu
2008-05-22 20:34 ` Roland McGrath
2008-05-23 3:42 ` Luming Yu
2008-05-23 4:19 ` Roland McGrath
2008-05-23 5:24 ` Luming Yu
2008-05-26 0:15 ` Roland McGrath
2008-05-26 1:30 ` Luming Yu
2008-05-27 3:31 ` Luming Yu
2008-05-27 4:04 ` Roland McGrath
2008-05-27 5:49 ` Luming Yu
2008-05-27 6:12 ` Roland McGrath
2008-05-27 6:25 ` [RFC PATCH] set TASK_TRACED before arch_ptrace code to fix a Petr Tesarik
2008-06-03 6:04 ` [RFC PATCH] set TASK_TRACED before arch_ptrace code to fix a race Luming Yu
2008-06-03 9:01 ` [RFC PATCH] set TASK_TRACED before arch_ptrace code to fix a Petr Tesarik
2008-06-03 14:32 ` Petr Tesarik
2008-06-03 21:01 ` Roland McGrath
2008-06-03 21:31 ` [RFC PATCH] set TASK_TRACED before arch_ptrace code to fix a race Luck, Tony
2008-06-03 22:13 ` Roland McGrath
2008-06-10 8:23 ` Luming Yu
2008-06-04 2:16 ` Luming Yu
2008-06-04 9:16 ` [RFC PATCH] set TASK_TRACED before arch_ptrace code to fix a Petr Tesarik
2008-06-05 1:49 ` Luming Yu [this message]
2008-06-05 11:16 ` Petr Tesarik
2008-06-06 0:07 ` Roland McGrath
2008-09-09 3:06 ` [RFC PATCH] set TASK_TRACED before arch_ptrace code to fix a race Luming Yu
2008-09-10 5:55 ` Roland McGrath
2008-09-16 8:50 ` Luming Yu
2008-09-17 17:01 ` Roland McGrath
2008-09-18 5:44 ` Luming Yu
2008-05-27 6:34 ` Luming Yu
2008-05-27 8:48 ` Luming Yu
2008-05-28 9:14 ` Luming Yu
2008-06-03 6:02 ` Luming Yu
2008-05-30 8:05 ` Roland McGrath
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3877989d0806041849vb903aaw221de929e2ab8cb9@mail.gmail.com \
--to=luming.yu@gmail.com \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=ptesarik@suse.cz \
--cc=roland@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox