Paul Eggert <egg...@cs.ucla.edu> writes: > On 01/17/13 23:04, Daiki Ueno wrote: >> It seems -fopenmp flag causes the error. It can also be reproduced >> without openmp, but with CFLAGS="-O2 -pthread". > > I can't reproduce it with Fedora 17, but I guess that's not > too surprising.
Yes. > Can you send the output of this shell command? > > truss ./test-sigaction Here it is: mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366128128 (0x800618000) issetugid(0x800817f80,0x7fffffffefa4,0x40,0x0,0xffff800800818fdc,0x0) = 0 (0x0) lstat("/etc",{ mode=drwxr-xr-x ,inode=481536,size=2048,blksize=32768 }) = 0 (0x0) lstat("/etc/libmap.conf",0x7fffffffc610) ERR#2 'No such file or directory' open("/var/run/ld-elf.so.hints",O_RDONLY,057) = 3 (0x3) read(3,"Ehnt\^A\0\0\0\M^@\0\0\0-\0\0\0\0"...,128) = 128 (0x80) lseek(3,0x80,SEEK_SET) = 128 (0x80) read(3,"/lib:/usr/lib:/usr/lib/compat:/u"...,45) = 45 (0x2d) close(3) = 0 (0x0) access("/lib/libgomp.so.1",0) ERR#2 'No such file or directory' access("/usr/lib/libgomp.so.1",0) = 0 (0x0) open("/usr/lib/libgomp.so.1",O_RDONLY,040305300) = 3 (0x3) fstat(3,{ mode=-r--r--r-- ,inode=1693510,size=31248,blksize=32768 }) = 0 (0x0) mmap(0x0,4096,PROT_READ,MAP_PRIVATE|0x40000,3,0x0) = 34366160896 (0x800620000) mmap(0x0,2125824,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 34368229376 (0x800819000) mmap(0x800819000,28672,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|0x40000,3,0x0) = 34368229376 (0x800819000) mmap(0x800a1f000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|0x40000,3,0x6000) = 34370351104 (0x800a1f000) munmap(0x800620000,4096) = 0 (0x0) close(3) = 0 (0x0) access("/lib/libthr.so.3",0) = 0 (0x0) open("/lib/libthr.so.3",O_RDONLY,040305300) = 3 (0x3) fstat(3,{ mode=-r--r--r-- ,inode=1364383,size=101048,blksize=32768 }) = 0 (0x0) mmap(0x0,4096,PROT_READ,MAP_PRIVATE|0x40000,3,0x0) = 34366160896 (0x800620000) mmap(0x0,2236416,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 34370355200 (0x800a20000) mmap(0x800a20000,94208,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|0x40000,3,0x0) = 34370355200 (0x800a20000) mmap(0x800c36000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|0x40000,3,0x16000) = 34372542464 (0x800c36000) mmap(0x800c38000,40960,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANON,-1,0x0) = 34372550656 (0x800c38000) munmap(0x800620000,4096) = 0 (0x0) close(3) = 0 (0x0) access("/lib/libc.so.7",0) = 0 (0x0) open("/lib/libc.so.7",O_RDONLY,040305300) = 3 (0x3) fstat(3,{ mode=-r--r--r-- ,inode=1364354,size=1369520,blksize=32768 }) = 0 (0x0) mmap(0x0,4096,PROT_READ,MAP_PRIVATE|0x40000,3,0x0) = 34366160896 (0x800620000) mmap(0x0,3485696,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 34372591616 (0x800c42000) mmap(0x800c42000,1236992,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|0x40000,3,0x0) = 34372591616 (0x800c42000) mmap(0x800f6f000,45056,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|0x40000,3,0x12d000) = 34375921664 (0x800f6f000) mmap(0x800f7a000,110592,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANON,-1,0x0) = 34375966720 (0x800f7a000) munmap(0x800620000,4096) = 0 (0x0) close(3) = 0 (0x0) munmap(0x80061f000,4096) = 0 (0x0) mmap(0x0,40960,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366156800 (0x80061f000) munmap(0x800622000,28672) = 0 (0x0) mmap(0x0,102400,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366169088 (0x800622000) sysarch(0x81,0x7fffffffd380,0x80061d1c8,0x0,0xffffffffff6c4e70,0x8080808080808080) = 0 (0x0) sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0) sigprocmask(SIG_SETMASK,0x0,0x0) = 0 (0x0) sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0) sigprocmask(SIG_SETMASK,0x0,0x0) = 0 (0x0) getpid() = 849 (0x351) __sysctl(0x7fffffffd2e0,0x2,0x800c41f80,0x7fffffffd2e8,0x0,0x0) = 0 (0x0) __sysctl(0x7fffffffd210,0x2,0x7fffffffd240,0x7fffffffd2a8,0x800a33a30,0xd) = 0 (0x0) __sysctl(0x7fffffffd240,0x3,0x800c40e68,0x7fffffffd2e8,0x0,0x0) = 0 (0x0) readlink("/etc/malloc.conf",0x7fffffffcde0,1024) ERR#2 'No such file or directory' issetugid(0x800d49659,0x7fffffffcde0,0xffffffffffffffff,0x0,0x2,0x0) = 0 (0x0) break(0x600da0) = 0 (0x0) break(0x800000) = 0 (0x0) mmap(0x0,4194304,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34376077312 (0x800f95000) mmap(0x801395000,438272,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34380271616 (0x801395000) munmap(0x800f95000,438272) = 0 (0x0) thr_self(0x801007400,0x1,0x0,0x0,0x40,0x7fffffffc910) = 0 (0x0) mmap(0x7fffffbfe000,4096,PROT_NONE,MAP_ANON,-1,0x0) = 140737484152832 (0x7fffffbfe000) rtprio_thread(0x0,0x186de,0x7fffffffd2b0,0x1000,0xffffffff,0x0) = 0 (0x0) sysarch(0x81,0x7fffffffd2d0,0x800c40a40,0x800c40de0,0xffffffff,0x0) = 0 (0x0) sigaction(32,{ 0x800a2d0b0 SA_SIGINFO ss_t },0x0) = 0 (0x0) sigprocmask(SIG_UNBLOCK,0x0,0x0) = 0 (0x0) sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0) sigprocmask(SIG_SETMASK,0x0,0x0) = 0 (0x0) sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0) sigprocmask(SIG_SETMASK,0x0,0x0) = 0 (0x0) sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0) sigprocmask(SIG_SETMASK,0x0,0x0) = 0 (0x0) sigprocmask(SIG_SETMASK,SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGEMT|SIGFPE|SIGKILL|SIGBUS|SIGSEGV|SIGSYS|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0) sigaction(SIGABRT,{ 0x800a2c520 SA_SIGINFO ss_t },{ SIG_DFL 0x0 ss_t }) = 0 (0x0) sigprocmask(SIG_SETMASK,0x0,0x0) = 0 (0x0) thr_kill(0x186de,0x6,0x0,0x80000000,0x50,0x0) = 0 (0x0) SIGNAL 6 (SIGABRT) sigprocmask(SIG_SETMASK,SIGABRT,0x0) = 0 (0x0) sigprocmask(SIG_SETMASK,SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGEMT|SIGFPE|SIGKILL|SIGBUS|SIGSEGV|SIGSYS|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,SIGABRT) = 0 (0x0) sigaction(SIGABRT,0x0,{ 0x800a2c520 SA_SIGINFO ss_t }) = 0 (0x0) sigprocmask(SIG_SETMASK,SIGABRT,0x0) = 0 (0x0) sigreturn(0x7fffffffd2e0,0x7fffffffd2e0,0x801007400,0x0,0xfffffffffffffbd0,0x0) = 0 (0x0) sigprocmask(SIG_SETMASK,SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGEMT|SIGFPE|SIGKILL|SIGBUS|SIGSEGV|SIGSYS|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0) sigaction(SIGABRT,{ 0x800a2c520 SA_RESETHAND|SA_SIGINFO ss_t },{ 0x800a2c520 SA_SIGINFO ss_t }) = 0 (0x0) sigprocmask(SIG_SETMASK,0x0,0x0) = 0 (0x0) thr_kill(0x186de,0x6,0x0,0x68,0x50,0x0) = 0 (0x0) SIGNAL 6 (SIGABRT) sigprocmask(SIG_SETMASK,0x0,0x0) = 0 (0x0) sigprocmask(SIG_SETMASK,SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGEMT|SIGFPE|SIGKILL|SIGBUS|SIGSEGV|SIGSYS|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0) sigaction(SIGABRT,0x0,{ SIG_DFL SA_RESETHAND|SA_SIGINFO ss_t }) = 0 (0x0) sigprocmask(SIG_SETMASK,0x0,0x0) = 0 (0x0) test-sigaction.c:69: assertion failed write(2,"test-sigaction.c:69: assertion f"...,38) = 38 (0x26) sigprocmask(SIG_SETMASK,SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGEMT|SIGFPE|SIGKILL|SIGBUS|SIGSEGV|SIGSYS|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0) thr_kill(0x186de,0x6,0x0,0x5,0x7fffffbfc19b,0x7fffffffcbae) = 0 (0x0) SIGNAL 6 (SIGABRT) process exit, rval = 0 Regards, -- Daiki Ueno