Open richiejp opened 1 year ago
The test appears to segfault just after receiving SIGALRM and before calling alarm(0) (setitimer). The instruction pointer is possibly at some weird location and GDB can't find the source lines or even disassemble the current location.
alarm(0)
setitimer
# strace -e setitimer,rt_sigaction,rt_sigprocmask,rt_sigsuspend -f rt_sigsuspend01 rt_sigprocmask(SIG_UNBLOCK, [RT_1 RT_2], NULL, 8) = 0 rt_sigaction(SIGALRM, {sa_handler=0x55dc6c6aa6c0, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fcd994c45b7}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGUSR1, {sa_handler=0x55dc6c6aa650, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fcd994c45b7}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 tst_test.c:1684: TINFO: LTP version: 20230516 tst_test.c:1568: TINFO: Timeout per run is 0h 00m 30s rt_sigaction(SIGINT, {sa_handler=0x55dc6c6aa680, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fcd994c45b7}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGTERM, {sa_handler=0x55dc6c6aa680, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fcd994c45b7}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 setitimer(ITIMER_REAL, {it_interval={tv_sec=0, tv_usec=0}, it_value={tv_sec=30, tv_usec=0}}, {it_interval={tv_sec=0, tv_usec=0}, it_value={tv_sec=0, tv_usec=0}}) = 0 rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 8) = 0 rt_sigprocmask(SIG_BLOCK, ~[], ~[KILL STOP RTMIN RT_1 RT_2], 8) = 0 rt_sigprocmask(SIG_SETMASK, ~[KILL STOP RTMIN RT_1 RT_2], NULL, 8) = 0 rt_sigprocmask(SIG_SETMASK, [], strace: Process 15392 attached NULL, 8) = 0 [pid 15392] rt_sigprocmask(SIG_SETMASK, ~[KILL STOP RTMIN RT_1 RT_2], NULL, 8) = 0 [pid 15392] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 [pid 15392] rt_sigaction(SIGALRM, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fcd994c45b7}, {sa_handler=0x55dc6c6aa6c0, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fcd994c45b7}, 8) = 0 [pid 15392] rt_sigaction(SIGUSR1, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fcd994c45b7}, {sa_handler=0x55dc6c6aa650, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fcd994c45b7}, 8) = 0 [pid 15392] rt_sigaction(SIGTERM, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fcd994c45b7}, {sa_handler=0x55dc6c6aa680, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fcd994c45b7}, 8) = 0 [pid 15392] rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fcd994c45b7}, {sa_handler=0x55dc6c6aa680, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fcd994c45b7}, 8) = 0 [pid 15391] --- SIGUSR1 {si_signo=SIGUSR1, si_code=SI_USER, si_pid=15392, si_uid=0} --- [pid 15391] setitimer(ITIMER_REAL, {it_interval={tv_sec=0, tv_usec=0}, it_value={tv_sec=30, tv_usec=0}}, {it_interval={tv_sec=0, tv_usec=0}, it_value={tv_sec=29, tv_usec=989844}}) = 0 [pid 15392] rt_sigaction(SIGALRM, {sa_handler=0x55dc6c6a9f00, sa_mask=[ALRM], sa_flags=SA_RESTORER, sa_restorer=0x7fcd994c45b7}, <unfinished ...> [pid 15391] --- SIGUSR1 {si_signo=SIGUSR1, si_code=SI_USER, si_pid=15392, si_uid=0} --- [pid 15392] <... rt_sigaction resumed>{sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fcd994c45b7}, 8) = 0 [pid 15391] setitimer(ITIMER_REAL, {it_interval={tv_sec=0, tv_usec=0}, it_value={tv_sec=30, tv_usec=0}}, <unfinished ...> [pid 15392] rt_sigaction(SIGALRM, {sa_handler=0x55dc6c6a9f00, sa_mask=[ALRM], sa_flags=SA_RESTORER, sa_restorer=0x7fcd994c45b7}, <unfinished ...> [pid 15391] <... setitimer resumed>{it_interval={tv_sec=0, tv_usec=0}, it_value={tv_sec=29, tv_usec=997192}}) = 0 [pid 15392] <... rt_sigaction resumed>{sa_handler=0x55dc6c6a9f00, sa_mask=[ALRM], sa_flags=SA_RESTORER, sa_restorer=0x7fcd994c45b7}, 8) = 0 [pid 15392] rt_sigaction(SIGALRM, {sa_handler=0x55dc6c6a9f10, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7ffc7e276428}, NULL, 8) = 0 [pid 15392] rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 [pid 15392] setitimer(ITIMER_REAL, {it_interval={tv_sec=0, tv_usec=0}, it_value={tv_sec=1, tv_usec=0}}, {it_interval={tv_sec=0, tv_usec=0}, it_value={tv_sec=0, tv_usec=0}}) = 0 [pid 15392] rt_sigsuspend([], 8) = ? ERESTARTNOHAND (To be restarted if no handler) [pid 15392] --- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL} --- [pid 15392] --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_ACCERR, si_addr=0x7ffc7e276428} --- [pid 15392] +++ killed by SIGSEGV (core dumped) +++ --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_DUMPED, si_pid=15392, si_uid=0, si_status=SIGSEGV, si_utime=0, si_stime=0} --- setitimer(ITIMER_REAL, {it_interval={tv_sec=0, tv_usec=0}, it_value={tv_sec=0, tv_usec=0}}, {it_interval={tv_sec=0, tv_usec=0}, it_value={tv_sec=28, tv_usec=763539}}) = 0 rt_sigaction(SIGTERM, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fcd994c45b7}, {sa_handler=0x55dc6c6aa680, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fcd994c45b7}, 8) = 0 rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fcd994c45b7}, {sa_handler=0x55dc6c6aa680, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fcd994c45b7}, 8) = 0 tst_test.c:1628: TBROK: Test killed by SIGSEGV! Summary: passed 0 failed 0 broken 1 skipped 0 warnings 0 +++ exited with 2 +++
The test appears to segfault just after receiving SIGALRM and before calling
alarm(0)
(setitimer
). The instruction pointer is possibly at some weird location and GDB can't find the source lines or even disassemble the current location.