Any One can you explanation why this is happening . In the below program In some cases the system command is returning with -1 even the command in the system call had succeded
To have a look i am attaching strace out put also to be clear u can search for XX in the strace output from that point u can make some thing .....
#include #include #include #include
void signalHandler(int i); void thread1();
void thread1() { while(1) sleep(1); }
void main() { int ret =-1; int res =-1; pthread_t th;
res = pthread_create (&th, NULL, thread1, NULL); if (res) { printf ("pthread_create failed %d\n", res); }
signal(SIGCHLD,signalHandler); ret = system("ls systembug.c"); printf("XX the retval %d errno %d \n",ret,errno); }
void signalHandler(int signal) { int stat = 0; int pid = 0; printf("Caught the signal \n"); while ((pid = waitpid(-1, &stat, WNOHANG)) > 0) { printf("Child process exited \n");
} }
STRACE OUTPUT
3333 execve("./a.out", ["./a.out"], [/* 61 vars */]) = 0 3333 uname({sys="Linux", node="WS29P191", ...}) = 0 3333 brk(0) = 0x804a000 3333 open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory) 3333 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40017000 3333 open("/etc/ld.so.cache", O_RDONLY) = 3 3333 fstat64(3, {st_mode=S_IFREG|0644, st_size=106111, ...}) = 0 3333 old_mmap(NULL, 106111, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40018000 3333 close(3) = 0 3333 open("/lib/tls/libpthread.so.0", O_RDONLY) = 3 3333 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360I\0"..., 512) = 512 3333 fstat64(3, {st_mode=S_IFREG|0755, st_size=88272, ...}) = 0 3333 old_mmap(NULL, 65004, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40032000 3333 madvise(0x40032000, 65004, MADV_SEQUENTIAL|0x1) = 0 3333 old_mmap(0x4003f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xd000) = 0x4003f000 3333 old_mmap(0x40040000, 7660, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40040000 3333 close(3) = 0 3333 open("/lib/tls/libc.so.6", O_RDONLY) = 3 3333 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@S\1\000"..., 512) = 512 3333 fstat64(3, {st_mode=S_IFREG|0755, st_size=1345545, ...}) = 0 3333 old_mmap(NULL, 1128748, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40042000 3333 madvise(0x40042000, 1128748, MADV_SEQUENTIAL|0x1) = 0 3333 old_mmap(0x4014b000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x109000) = 0x4014b000 3333 old_mmap(0x40153000, 10540, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40153000 3333 close(3) = 0 3333 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40156000 3333 set_thread_area({entry_number:-1 -> 6, base_addr:0x40156080, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 3333 munmap(0x40018000, 106111) = 0 3333 set_tid_address(0x401560c8) = 3333 3333 rt_sigaction(SIGRTMIN, {0x40036950, [], SA_SIGINFO}, NULL, 8) = 0 3333 rt_sigprocmask(SIG_UNBLOCK, [RTMIN], NULL, 8) = 0 3333 getrlimit(RLIMIT_STACK, {rlim_cur=RLIM_INFINITY, rlim_max=RLIM_INFINITY}) = 0 3333 _sysctl({{CTL_KERN, KERN_VERSION}, 2, 0xbfffef28, 35, (nil), 0}) = 0 3333 mmap2(NULL, 2101248, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40157000 3333 brk(0) = 0x804a000 3333 brk(0x806b000) = 0x806b000 3333 brk(0) = 0x806b000 3333 mprotect(0x40157000, 4096, PROT_NONE) = 0 3333 clone(child_stack=0x40357b08, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x40357bf8, {entry_number:6, base_addr:0x40357bb0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}, child_tidptr=0x40357bf8) = 3343 3333 rt_sigaction(SIGCHLD, {0x8048614, [CHLD], SA_RESTART}, {SIG_DFL}, 8) = 0 3333 rt_sigaction(SIGINT, {SIG_IGN}, {SIG_IGN}, 8) = 0 3333 rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_IGN}, 8) = 0 3343 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 3343 rt_sigaction(SIGCHLD, NULL, {0x8048614, [CHLD], SA_RESTART}, 8) = 0 3343 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 3343 nanosleep({1, 0}, 3333 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 3333 clone(child_stack=0, flags=CLONE_PARENT_SETTID|SIGCHLD, parent_tidptr=0xbffff024) = 3350 3333 waitpid(3350, 3350 rt_sigaction(SIGINT, {SIG_IGN}, NULL, 8) = 0 3350 rt_sigaction(SIGQUIT, {SIG_IGN}, NULL, 8) = 0 3350 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 3350 execve("/bin/sh", ["sh", "-c", "ls systembug.c"], [/* 61 vars */]) = 0 3350 uname({sys="Linux", node="WS29P191", ...}) = 0 3350 brk(0) = 0x80bb000 3350 open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory) 3350 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40017000 3350 open("/etc/ld.so.cache", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=106111, ...}) = 0 3350 old_mmap(NULL, 106111, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40018000 3350 close(3) = 0 3350 open("/lib/libreadline.so.4", O_RDONLY) = 3 3350 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\260"..., 512) = 512 3350 fstat64(3, {st_mode=S_IFREG|0755, st_size=176736, ...}) = 0 3350 old_mmap(NULL, 178420, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40032000 3350 madvise(0x40032000, 178420, MADV_SEQUENTIAL|0x1) = 0 3350 old_mmap(0x40059000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x27000) = 0x40059000 3350 old_mmap(0x4005d000, 2292, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4005d000 3350 close(3) = 0 3350 open("/lib/libhistory.so.4", O_RDONLY) = 3 3350 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@\30\0\000"..., 512) = 512 3350 fstat64(3, {st_mode=S_IFREG|0755, st_size=24828, ...}) = 0 3350 old_mmap(NULL, 27568, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4005e000 3350 madvise(0x4005e000, 27568, MADV_SEQUENTIAL|0x1) = 0 3350 old_mmap(0x40064000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x5000) = 0x40064000 3350 close(3) = 0 3350 open("/lib/libncurses.so.5", O_RDONLY) = 3 3350 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360\362"..., 512) = 512 3350 fstat64(3, {st_mode=S_IFREG|0755, st_size=316468, ...}) = 0 3350 old_mmap(NULL, 280780, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40065000 3350 madvise(0x40065000, 280780, MADV_SEQUENTIAL|0x1) = 0 3350 old_mmap(0x4009e000, 45056, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x38000) = 0x4009e000 3350 old_mmap(0x400a9000, 2252, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x400a9000 3350 close(3) = 0 3350 open("/lib/libdl.so.2", O_RDONLY) = 3 3350 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\33\0\000"..., 512) = 512 3350 fstat64(3, {st_mode=S_IFREG|0755, st_size=13647, ...}) = 0 3350 old_mmap(NULL, 8628, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x400aa000 3350 madvise(0x400aa000, 8628, MADV_SEQUENTIAL|0x1) = 0 3350 old_mmap(0x400ac000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x2000) = 0x400ac000 3350 close(3) = 0 3350 open("/lib/tls/libc.so.6", O_RDONLY) = 3 3350 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@S\1\000"..., 512) = 512 3350 fstat64(3, {st_mode=S_IFREG|0755, st_size=1345545, ...}) = 0 3350 old_mmap(NULL, 1128748, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x400ad000 3350 madvise(0x400ad000, 1128748, MADV_SEQUENTIAL|0x1) = 0 3350 old_mmap(0x401b6000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x109000) = 0x401b6000 3350 old_mmap(0x401be000, 10540, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x401be000 3350 close(3) = 0 3350 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x401c1000 3350 set_thread_area({entry_number:-1 -> 6, base_addr:0x401c1640, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 3350 munmap(0x40018000, 106111) = 0 3350 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 3350 open("/dev/tty", O_RDWR|O_NONBLOCK|O_LARGEFILE) = 3 3350 close(3) = 0 3350 brk(0) = 0x80bb000 3350 brk(0x80dc000) = 0x80dc000 3350 brk(0) = 0x80dc000 3350 open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 3350 open("/usr/share/locale/locale.alias", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=2528, ...}) = 0 3350 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40018000 3350 read(3, "# Locale name alias data base.\n#"..., 4096) = 2528 3350 read(3, "", 4096) = 0 3350 close(3) = 0 3350 munmap(0x40018000, 4096) = 0 3350 open("/usr/lib/locale/en_US.UTF-8/LC_IDENTIFICATION", O_RDONLY) =-1 ENOENT (No such file or directory)
3350 open("/usr/lib/locale/en_US.utf8/LC_IDENTIFICATION", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=365, ...}) = 0 3350 mmap2(NULL, 365, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40018000 3350 close(3) = 0 3350 open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=21512, ...}) = 0 3350 mmap2(NULL, 21512, PROT_READ, MAP_SHARED, 3, 0) = 0x40019000 3350 close(3) = 0 3350 open("/usr/lib/locale/en_US.UTF-8/LC_MEASUREMENT", O_RDONLY) = -1 ENOENT (No such file or directory) 3350 open("/usr/lib/locale/en_US.utf8/LC_MEASUREMENT", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=23, ...}) = 0 3350 mmap2(NULL, 23, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4001f000 3350 close(3) = 0 3350 open("/usr/lib/locale/en_US.UTF-8/LC_TELEPHONE", O_RDONLY) = -1 ENOENT (No such file or directory) 3350 open("/usr/lib/locale/en_US.utf8/LC_TELEPHONE", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=59, ...}) = 0 3350 mmap2(NULL, 59, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40020000 3350 close(3) = 0 3350 open("/usr/lib/locale/en_US.UTF-8/LC_ADDRESS", O_RDONLY) = -1 ENOENT (No such file or directory) 3350 open("/usr/lib/locale/en_US.utf8/LC_ADDRESS", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=155, ...}) = 0 3350 mmap2(NULL, 155, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40021000 3350 close(3) = 0 3350 open("/usr/lib/locale/en_US.UTF-8/LC_NAME", O_RDONLY) = -1 ENOENT (No such file or directory) 3350 open("/usr/lib/locale/en_US.utf8/LC_NAME", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=77, ...}) = 0 3350 mmap2(NULL, 77, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40022000 3350 close(3) = 0 3350 open("/usr/lib/locale/en_US.UTF-8/LC_PAPER", O_RDONLY) = -1 ENOENT (No such file or directory) 3350 open("/usr/lib/locale/en_US.utf8/LC_PAPER", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=34, ...}) = 0 3350 mmap2(NULL, 34, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40023000 3350 close(3) = 0 3350 open("/usr/lib/locale/en_US.UTF-8/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No such file or directory) 3350 open("/usr/lib/locale/en_US.utf8/LC_MESSAGES", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 3350 close(3) = 0 3350 open("/usr/lib/locale/en_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=52, ...}) = 0 3350 mmap2(NULL, 52, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40024000 3350 close(3) = 0 3350 open("/usr/lib/locale/en_US.UTF-8/LC_MONETARY", O_RDONLY) = -1 ENOENT (No such file or directory) 3350 open("/usr/lib/locale/en_US.utf8/LC_MONETARY", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=286, ...}) = 0 3350 mmap2(NULL, 286, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40025000 3350 close(3) = 0 3350 open("/usr/lib/locale/en_US.UTF-8/LC_COLLATE", O_RDONLY) = -1 ENOENT (No such file or directory) 3350 open("/usr/lib/locale/en_US.utf8/LC_COLLATE", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=882134, ...}) = 0 3350 mmap2(NULL, 882134, PROT_READ, MAP_PRIVATE, 3, 0) = 0x401c2000 3350 close(3) = 0 3350 open("/usr/lib/locale/en_US.UTF-8/LC_TIME", O_RDONLY) = -1 ENOENT (No such file or directory) 3350 open("/usr/lib/locale/en_US.utf8/LC_TIME", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=2451, ...}) = 0 3350 mmap2(NULL, 2451, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4029a000 3350 close(3) = 0 3350 open("/usr/lib/locale/en_US.UTF-8/LC_NUMERIC", O_RDONLY) = -1 ENOENT (No such file or directory) 3350 open("/usr/lib/locale/en_US.utf8/LC_NUMERIC", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=54, ...}) = 0 3350 mmap2(NULL, 54, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4029b000 3350 close(3) = 0 3350 open("/usr/lib/locale/en_US.UTF-8/LC_CTYPE", O_RDONLY) = -1 ENOENT (No such file or directory) 3350 open("/usr/lib/locale/en_US.utf8/LC_CTYPE", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=208464, ...}) = 0 3350 mmap2(NULL, 208464, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4029c000 3350 close(3) = 0 3350 getuid32() = 8082 3350 getgid32() = 5003 3350 geteuid32() = 8082 3350 getegid32() = 5003 3350 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 3350 time(NULL) = 1145378591 3350 open("/etc/mtab", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=519, ...}) = 0 3350 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x402cf000 3350 read(3, "/dev/sda2 / ext3 rw,acl,user_xat"..., 4096) = 519 3350 close(3) = 0 3350 munmap(0x402cf000, 4096) = 0 3350 open("/proc/meminfo", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 3350 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x402cf000 3350 read(3, "MemTotal: 1033388 kB\nMemFre"..., 1024) = 644 3350 close(3) = 0 3350 munmap(0x402cf000, 4096) = 0 3350 rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, 8) = 0 3350 rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, 8) = 0 3350 rt_sigaction(SIGINT, {SIG_DFL}, {SIG_IGN}, 8) = 0 3350 rt_sigaction(SIGINT, {SIG_IGN}, {SIG_DFL}, 8) = 0 3350 rt_sigaction(SIGQUIT, {SIG_DFL}, {SIG_IGN}, 8) = 0 3350 rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_DFL}, 8) = 0 3350 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 3350 rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_IGN}, 8) = 0 3350 uname({sys="Linux", node="WS29P191", ...}) = 0 3350 stat64("/home/g20230/tests", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0 3350 stat64(".", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0 3350 getpid() = 3350 3350 getppid() = 3333 3350 stat64(".", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0 3350 stat64("/usr/local/bin/sh", 0xbfffe500) = -1 ENOENT (No such file or directory) 3350 stat64("/usr/bin/sh", 0xbfffe500) = -1 ENOENT (No such file or directory) 3350 stat64("/usr/X11R6/bin/sh", 0xbfffe500) = -1 ENOENT (No such file or directory) 3350 stat64("/bin/sh", {st_mode=S_IFREG|0755, st_size=448312, ...}) = 0 3350 open("/proc/sys/kernel/ngroups_max", O_RDONLY) = 3 3350 read(3, "65536\n", 31) = 6 3350 close(3) = 0 3350 mmap2(NULL, 266240, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x402cf000 3350 getgroups32(65536, [5003]) = 1 3350 stat64("/bin/sh", {st_mode=S_IFREG|0755, st_size=448312, ...}) = 0 3350 getpgrp() = 3272 3350 rt_sigaction(SIGCHLD, {0x808da10, [], 0}, {SIG_DFL}, 8) = 0 3350 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 3350 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 3350 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 3350 stat64(".", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0 3350 stat64("/usr/local/bin/ls", 0xbfffe320) = -1 ENOENT (No such file or directory) 3350 stat64("/usr/bin/ls", 0xbfffe320) = -1 ENOENT (No such file or directory) 3350 stat64("/usr/X11R6/bin/ls", 0xbfffe320) = -1 ENOENT (No such file or directory) 3350 stat64("/bin/ls", {st_mode=S_IFREG|0755, st_size=90559, ...}) = 0 3350 stat64("/bin/ls", {st_mode=S_IFREG|0755, st_size=90559, ...}) = 0 3350 rt_sigaction(SIGINT, {SIG_IGN}, {SIG_IGN}, 8) = 0 3350 rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_IGN}, 8) = 0 3350 rt_sigaction(SIGCHLD, {SIG_DFL}, {0x808da10, [], 0}, 8) = 0 3350 execve("/bin/ls", ["ls", "systembug.c"], [/* 61 vars */]) = 0 3350 uname({sys="Linux", node="WS29P191", ...}) = 0 3350 brk(0) = 0x805b000 3350 open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory) 3350 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40017000 3350 open("/etc/ld.so.cache", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=106111, ...}) = 0 3350 old_mmap(NULL, 106111, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40018000 3350 close(3) = 0 3350 open("/lib/tls/librt.so.1", O_RDONLY) = 3 3350 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\34\0"..., 512) = 512 3350 fstat64(3, {st_mode=S_IFREG|0755, st_size=36067, ...}) = 0 3350 old_mmap(NULL, 30684, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40032000 3350 madvise(0x40032000, 30684, MADV_SEQUENTIAL|0x1) = 0 3350 old_mmap(0x40039000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x6000) = 0x40039000 3350 close(3) = 0 3350 open("/lib/libacl.so.1", O_RDONLY) = 3 3350 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260\24"..., 512) = 512 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=31632, ...}) = 0 3350 old_mmap(NULL, 20956, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4003a000 3350 madvise(0x4003a000, 20956, MADV_SEQUENTIAL|0x1) = 0 3350 old_mmap(0x4003f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x5000) = 0x4003f000 3350 close(3) = 0 3350 open("/lib/libselinux.so.1", O_RDONLY) = 3 3350 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0003\0"..., 512) = 512 3350 fstat64(3, {st_mode=S_IFREG|0755, st_size=61336, ...}) = 0 3350 old_mmap(NULL, 57140, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40040000 3350 madvise(0x40040000, 57140, MADV_SEQUENTIAL|0x1) = 0 3350 old_mmap(0x4004c000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xb000) = 0x4004c000 3350 close(3) = 0 3350 open("/lib/tls/libc.so.6", O_RDONLY) = 3 3350 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@S\1\000"..., 512) = 512 3350 fstat64(3, {st_mode=S_IFREG|0755, st_size=1345545, ...}) = 0 3350 old_mmap(NULL, 1128748, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4004e000 3350 madvise(0x4004e000, 1128748, MADV_SEQUENTIAL|0x1) = 0 3350 old_mmap(0x40157000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x109000) = 0x40157000 3350 old_mmap(0x4015f000, 10540, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4015f000 3350 close(3) = 0 3350 open("/lib/tls/libpthread.so.0", O_RDONLY) = 3 3350 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360I\0"..., 512) = 512 3350 fstat64(3, {st_mode=S_IFREG|0755, st_size=88272, ...}) = 0 3350 old_mmap(NULL, 65004, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40162000 3350 madvise(0x40162000, 65004, MADV_SEQUENTIAL|0x1) = 0 3350 old_mmap(0x4016f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xd000) = 0x4016f000 3350 old_mmap(0x40170000, 7660, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40170000 3350 close(3) = 0 3350 open("/lib/libattr.so.1", O_RDONLY) = 3 3350 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 \r\0\000"..., 512) = 512 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=14478, ...}) = 0 3350 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40172000 3350 old_mmap(NULL, 13204, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40173000 3350 madvise(0x40173000, 13204, MADV_SEQUENTIAL|0x1) = 0 3350 old_mmap(0x40176000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x2000) = 0x40176000 3350 close(3) = 0 3350 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40177000 3350 set_thread_area({entry_number:-1 -> 6, base_addr:0x40177080, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 3350 munmap(0x40018000, 106111) = 0 3350 set_tid_address(0x401770c8) = 3350 3350 rt_sigaction(SIGRTMIN, {0x40166950, [], SA_SIGINFO}, NULL, 8) = 0 3350 rt_sigprocmask(SIG_UNBLOCK, [RTMIN], NULL, 8) = 0 3350 getrlimit(RLIMIT_STACK, {rlim_cur=RLIM_INFINITY, rlim_max=RLIM_INFINITY}) = 0 3350 _sysctl({{CTL_KERN, KERN_VERSION}, 2, 0xbfffe6a8, 35, (nil), 0}) = 0 3350 open("/proc/mounts", O_RDONLY) = 3 3350 brk(0) = 0x805b000 3350 brk(0x807d000) = 0x807d000 3350 read(3, "rootfs / rootfs rw 0 0\n/dev/root"..., 4095) = 622 3350 brk(0x807c000) = 0x807c000 3350 close(3) = 0 3350 open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 3350 open("/usr/share/locale/locale.alias", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=2528, ...}) = 0 3350 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40018000 3350 read(3, "# Locale name alias data base.\n#"..., 4096) = 2528 3350 read(3, "", 4096) = 0 3350 close(3) = 0 3350 munmap(0x40018000, 4096) = 0 3350 open("/usr/lib/locale/en_US.UTF-8/LC_IDENTIFICATION", O_RDONLY) =-1 ENOENT (No such file or directory)
3350 open("/usr/lib/locale/en_US.utf8/LC_IDENTIFICATION", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=365, ...}) = 0 3350 mmap2(NULL, 365, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40018000 3350 close(3) = 0 3350 open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=21512, ...}) = 0 3350 mmap2(NULL, 21512, PROT_READ, MAP_SHARED, 3, 0) = 0x40019000 3350 close(3) = 0 3350 futex(0x4015ee6c, FUTEX_WAKE, 2147483647) = 0 3350 open("/usr/lib/locale/en_US.UTF-8/LC_MEASUREMENT", O_RDONLY) = -1 ENOENT (No such file or directory) 3350 open("/usr/lib/locale/en_US.utf8/LC_MEASUREMENT", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=23, ...}) = 0 3350 mmap2(NULL, 23, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4001f000 3350 close(3) = 0 3350 open("/usr/lib/locale/en_US.UTF-8/LC_TELEPHONE", O_RDONLY) = -1 ENOENT (No such file or directory) 3350 open("/usr/lib/locale/en_US.utf8/LC_TELEPHONE", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=59, ...}) = 0 3350 mmap2(NULL, 59, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40020000 3350 close(3) = 0 3350 open("/usr/lib/locale/en_US.UTF-8/LC_ADDRESS", O_RDONLY) = -1 ENOENT (No such file or directory) 3350 open("/usr/lib/locale/en_US.utf8/LC_ADDRESS", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=155, ...}) = 0 3350 mmap2(NULL, 155, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40021000 3350 close(3) = 0 3350 open("/usr/lib/locale/en_US.UTF-8/LC_NAME", O_RDONLY) = -1 ENOENT (No such file or directory) 3350 open("/usr/lib/locale/en_US.utf8/LC_NAME", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=77, ...}) = 0 3350 mmap2(NULL, 77, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40022000 3350 close(3) = 0 3350 open("/usr/lib/locale/en_US.UTF-8/LC_PAPER", O_RDONLY) = -1 ENOENT (No such file or directory) 3350 open("/usr/lib/locale/en_US.utf8/LC_PAPER", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=34, ...}) = 0 3350 mmap2(NULL, 34, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40023000 3350 close(3) = 0 3350 open("/usr/lib/locale/en_US.UTF-8/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No such file or directory) 3350 open("/usr/lib/locale/en_US.utf8/LC_MESSAGES", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 3350 close(3) = 0 3350 open("/usr/lib/locale/en_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=52, ...}) = 0 3350 mmap2(NULL, 52, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40024000 3350 close(3) = 0 3350 open("/usr/lib/locale/en_US.UTF-8/LC_MONETARY", O_RDONLY) = -1 ENOENT (No such file or directory) 3350 open("/usr/lib/locale/en_US.utf8/LC_MONETARY", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=286, ...}) = 0 3350 mmap2(NULL, 286, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40025000 3350 close(3) = 0 3350 open("/usr/lib/locale/en_US.UTF-8/LC_COLLATE", O_RDONLY) = -1 ENOENT (No such file or directory) 3350 open("/usr/lib/locale/en_US.utf8/LC_COLLATE", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=882134, ...}) = 0 3350 mmap2(NULL, 882134, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40178000 3350 close(3) = 0 3350 open("/usr/lib/locale/en_US.UTF-8/LC_TIME", O_RDONLY) = -1 ENOENT (No such file or directory) 3350 open("/usr/lib/locale/en_US.utf8/LC_TIME", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=2451, ...}) = 0 3350 mmap2(NULL, 2451, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40250000 3350 close(3) = 0 3350 open("/usr/lib/locale/en_US.UTF-8/LC_NUMERIC", O_RDONLY) = -1 ENOENT (No such file or directory) 3350 open("/usr/lib/locale/en_US.utf8/LC_NUMERIC", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=54, ...}) = 0 3350 mmap2(NULL, 54, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40251000 3350 close(3) = 0 3350 open("/usr/lib/locale/en_US.UTF-8/LC_CTYPE", O_RDONLY) = -1 ENOENT (No such file or directory) 3350 open("/usr/lib/locale/en_US.utf8/LC_CTYPE", O_RDONLY) = 3 3350 fstat64(3, {st_mode=S_IFREG|0644, st_size=208464, ...}) = 0 3350 mmap2(NULL, 208464, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40252000 3350 close(3) = 0 3350 open("/proc/filesystems", O_RDONLY) = 3 3350 read(3, "nodev\tsysfs\nnodev\trootfs\nnodev\tb"..., 4095) = 253 3350 close(3) = 0 3350 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig-icanon -echo ...}) = 0
3350 ioctl(1, TIOCGWINSZ, {ws_row=45, ws_col=126, ws_xpixel=0, ws_ypixel=0}) = 0 3350 stat64("systembug.c", {st_mode=S_IFREG|0644, st_size=684, ...}) = 0 3350 lstat64("systembug.c", {st_mode=S_IFREG|0644, st_size=684, ...}) = 0 3350 socket(PF_UNIX, SOCK_STREAM, 0) = 3 3350 connect(3, {sa_family=AF_UNIX, path="/var/run/.nscd_socket"}, 110) = 0 3350 writev(3, [{"\2\0\0\0\1\0\0\0\5\0\0\0", 12}, {"8082\0", 5}], 2) = 17 3350 read(3, "\2\0\0\0\1\0\0\0\7\0\0\0\16\0\0\0\222\37\0\0\213\23\0\0"..., 36) = 36 3350 read(3, "g20230\0YyRPmwPoa433o\0\0/usr1/g202"..., 43) = 43 3350 close(3) = 0 3350 socket(PF_UNIX, SOCK_STREAM, 0) = 3 3350 connect(3, {sa_family=AF_UNIX, path="/var/run/.nscd_socket"}, 110) = 0 3350 writev(3, [{"\2\0\0\0\3\0\0\0\5\0\0\0", 12}, {"5003\0", 5}], 2) = 17 3350 read(3, "\2\0\0\0\1\0\0\0\n\0\0\0\1\0\0\0\213\23\0\0\0\0\0\0", 24) = 24 3350 readv(3, [{"", 0}, {"zin18cu01\0\0", 11}], 2) = 11 3350 read(3, NULL, 0) = 0 3350 close(3) = 0 3350 fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 16), ...}) = 0 3350 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40285000 3350 write(1, "systembug.c\n", 12) = 12 3350 munmap(0x40285000, 4096) = 0 3350 exit_group(0) = ? 3343 0x403578d4) = ? ERESTART_RESTARTBLOCK (To be restarted) 3343 --- SIGCHLD (Child exited) @ 0 (0) --- 3343 fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 16), ...}) = 0 3343 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40358000 3343 write(1, "Caught the signal \n", 19) = 19 3343 waitpid(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG) = 3350 3343 write(1, "Child process exited \n", 22) = 22 3343 waitpid(-1, 0x403575c0, WNOHANG) = 0 3343 sigreturn() = ? (mask now []) 3343 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 3343 rt_sigaction(SIGCHLD, NULL, {0x8048614, [CHLD], SA_RESTART}, 8) = 0 3343 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 3343 nanosleep({1, 0}, 3333 0xbffff020, 0) = -1 ECHILD (No child processes) 3333 rt_sigaction(SIGINT, {SIG_IGN}, NULL, 8) = 0 3333 rt_sigaction(SIGQUIT, {SIG_IGN}, NULL, 8) = 0 3333 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 3333 write(1, "XX the retval -1 errno 10 \n", 28) = 28 3333 munmap(0x40358000, 4096) = 0 3333 exit_group(28) = ? 3343 0x403578d4) = ? ERESTART_RESTARTBLOCK (To be restarted)