On Tue, Feb 24, 2015 at 12:52 AM, Alexey Suslikov
<[email protected]> wrote:
> On Tue, Feb 24, 2015 at 12:21 AM, Philip Guenther
> <[email protected]> wrote:
>>
>> On Mon, 23 Feb 2015, Alexey Suslikov wrote:
>>> I modified chunk at
>> ...
>>> to be
>>>
>>> if (res > -1) {
>>> ast_log(LOG_WARNING, "WIFCONTINUED = %d\n", WIFCONTINUED(status));
>>> ast_log(LOG_WARNING, "WIFEXITED = %d\n", WIFEXITED(status));
>>> ast_log(LOG_WARNING, "WIFSIGNALED = %d\n", WIFSIGNALED(status));
>>> ast_log(LOG_WARNING, "WIFSTOPPED = %d\n", WIFSTOPPED(status));
>>> ...
>>>
>>> and here is the result:
>> ...
>>> 5.7
>>> -- Executing [XXXXXXXXXX@from-trunk:3] System("SIP/test-145-00000000",
>>> "/bin/pwd") in new stack
>> ...
>>> [Feb 23 23:08:00] WARNING[-1][C-00000000]: asterisk.c:1137
>>> ast_safe_system: WIFSIGNALED = 1
>>> [Feb 23 23:08:00] WARNING[-1][C-00000000]: app_system.c:134
>>> system_exec_helper: Unable to execute '/bin/pwd'
>>>
>>> Boom! Child signaled and never executed.
>>>
>>> Any ideas?
>>
>> What's WTERMSIG(status) return?
>
> Philip, thanks for joining.
>
> Adding
>
> if (WIFSIGNALED(status)) {
> ast_log(LOG_WARNING, "WTERMSIG = %d\n", WTERMSIG(status));
> }
>
> results in
>
> [Feb 24 00:42:10] WARNING[-1][C-00000000]: asterisk.c:1137
> ast_safe_system: WIFSIGNALED = 1
> [Feb 24 00:42:10] WARNING[-1][C-00000000]: asterisk.c:1139
> ast_safe_system: WTERMSIG = 11
>
> Getting ktrace requires more time. I will try.
Here it goes. Let me know if you need more.
23810 asterisk CALL fork()
23810 asterisk RET fork 12995/0x32c3
23810 asterisk CALL
__thrsleep(0x1814ba3d7a00,CLOCK_REALTIME,0x18144db17a20,0x1814bc74a080,0x1814ba3d7ae0)
23810 asterisk STRU struct timespec { 1424732341<"Feb 24 00:59:01
2015">.251896000 }
23810 asterisk RET __thrsleep 35/0x23
23810 asterisk CALL
sigprocmask(SIG_SETMASK,0x8005003<SIGHUP|SIGINT|SIGPIPE|SIGTERM|SIGWINCH>)
23810 asterisk RET sigprocmask ~0x10100<SIGKILL|SIGSTOP>
23810 asterisk CALL
__thrsleep(0x1814ba3d7a00,CLOCK_REALTIME,0x18144db17a20,0x1814bc74a080,0x1814ba3d7ae0)
23810 asterisk STRU struct timespec { 1424732341<"Feb 24 00:59:01
2015">.256896000 }
23810 asterisk RET __thrsleep 35/0x23
23810 asterisk CALL sigprocmask(SIG_BLOCK,~0<>)
23810 asterisk CALL
__thrsleep(0x1814ba3d7a00,CLOCK_REALTIME,0x18144db17a20,0x1814bc74a080,0x1814ba3d7ae0)
23810 asterisk RET sigprocmask
0x8005003<SIGHUP|SIGINT|SIGPIPE|SIGTERM|SIGWINCH>
23810 asterisk STRU struct timespec { 1424732341<"Feb 24 00:59:01
2015">.261896000 }
23810 asterisk CALL mprotect(0x1811e30fb000,0x2000,0x3<PROT_READ|PROT_WRITE>)
23810 asterisk RET __thrsleep 35/0x23
23810 asterisk RET mprotect 0
23810 asterisk CALL
__thrsleep(0x1814ba3d7a00,CLOCK_REALTIME,0x18144db17a20,0x1814bc74a080,0x1814ba3d7ae0)
23810 asterisk STRU struct timespec { 1424732341<"Feb 24 00:59:01
2015">.266896000 }
23810 asterisk CALL mprotect(0x1811e30fb000,0x2000,0x1<PROT_READ>)
23810 asterisk RET __thrsleep 35/0x23
23810 asterisk RET mprotect 0
23810 asterisk CALL
__thrsleep(0x1814ba3d7a00,CLOCK_REALTIME,0x18144db17a20,0x1814bc74a080,0x1814ba3d7ae0)
23810 asterisk CALL
sigprocmask(SIG_SETMASK,0x8005003<SIGHUP|SIGINT|SIGPIPE|SIGTERM|SIGWINCH>)
23810 asterisk STRU struct timespec { 1424732341<"Feb 24 00:59:01
2015">.271896000 }
23810 asterisk RET sigprocmask ~0x10100<SIGKILL|SIGSTOP>
23810 asterisk RET __thrsleep 35/0x23
23810 asterisk CALL
__thrsleep(0x1814ba3d7a00,CLOCK_REALTIME,0x18144db17a20,0x1814bc74a080,0x1814ba3d7ae0)
23810 asterisk CALL wait4(12995,0x18144cf9dde4,0<>,0x18144cf9dd50)
23810 asterisk STRU struct timespec { 1424732341<"Feb 24 00:59:01
2015">.276896000 }
23810 asterisk RET __thrsleep 35/0x23
23810 asterisk PSIG SIGURG caught handler=0x1811e2c46e70
mask=0x8005003<SIGHUP|SIGINT|SIGPIPE|SIGTERM|SIGWINCH>
23810 asterisk RET __tfork 0
23810 asterisk CALL
__thrsleep(0x1814ba3d7a00,CLOCK_REALTIME,0x18144db17a20,0x1814bc74a080,0x1814ba3d7ae0)
23810 asterisk CALL sigreturn(0x1814c7e2f3d0)
23810 asterisk STRU struct timespec { 1424732341<"Feb 24 00:59:01
2015">.281896000 }
23810 asterisk RET __thrsleep 35/0x23
23810 asterisk RET sigreturn JUSTRETURN
23810 asterisk CALL
__thrsleep(0x1814ba3d7a00,CLOCK_REALTIME,0x18144db17a20,0x1814bc74a080,0x1814ba3d7ae0)
23810 asterisk STRU struct timespec { 1424732341<"Feb 24 00:59:01
2015">.286896000 }
23810 asterisk RET __thrsleep 35/0x23
23810 asterisk CALL
__thrsleep(0x1814ba3d7a00,CLOCK_REALTIME,0x18144db17a20,0x1814bc74a080,0x1814ba3d7ae0)
23810 asterisk STRU struct timespec { 1424732341<"Feb 24 00:59:01
2015">.291896000 }
23810 asterisk CALL __thrwakeup(0x181469b866c0,0)
23810 asterisk RET __thrsleep 35/0x23
23810 asterisk RET __thrwakeup 3
23810 asterisk CALL
__thrsleep(0x1814ba3d7a00,CLOCK_REALTIME,0x18144db17a20,0x1814bc74a080,0x1814ba3d7ae0)
23810 asterisk STRU struct timespec { 1424732341<"Feb 24 00:59:01
2015">.296896000 }
23810 asterisk RET __thrsleep 35/0x23
23810 asterisk CALL
__thrsleep(0x1814ba3d7a00,CLOCK_REALTIME,0x18144db17a20,0x1814bc74a080,0x1814ba3d7ae0)
23810 asterisk CALL gettimeofday(0x1814c7e296a0,0)
23810 asterisk STRU struct timespec { 1424732341<"Feb 24 00:59:01
2015">.301896000 }
23810 asterisk RET __thrsleep 35/0x23
23810 asterisk STRU struct timeval { 1424732417<"Feb 24 01:00:17
2015">.527303 }
23810 asterisk CALL
__thrsleep(0x1814ba3d7a00,CLOCK_REALTIME,0x18144db17a20,0x1814bc74a080,0x1814ba3d7ae0)
23810 asterisk RET gettimeofday 0
23810 asterisk STRU struct timespec { 1424732341<"Feb 24 00:59:01
2015">.306896000 }
23810 asterisk CALL poll(0x1814c7e29590,3,50)
23810 asterisk RET __thrsleep 35/0x23
23810 asterisk CALL
__thrsleep(0x1814ba3d7a00,CLOCK_REALTIME,0x18144db17a20,0x1814bc74a080,0x1814ba3d7ae0)
12995 asterisk RET fork 0
23810 asterisk STRU struct timespec { 1424732341<"Feb 24 00:59:01
2015">.311896000 }
23810 asterisk RET __thrsleep 35/0x23
23810 asterisk CALL
__thrsleep(0x1814ba3d7a00,CLOCK_REALTIME,0x18144db17a20,0x1814bc74a080,0x1814ba3d7ae0)
23810 asterisk STRU struct timespec { 1424732341<"Feb 24 00:59:01
2015">.316896000 }
23810 asterisk RET __thrsleep 35/0x23
12995 asterisk CALL
sigprocmask(SIG_SETMASK,0x8005003<SIGHUP|SIGINT|SIGPIPE|SIGTERM|SIGWINCH>)
12995 asterisk RET sigprocmask ~0x10100<SIGKILL|SIGSTOP>
23810 asterisk RET nanosleep 0
12995 asterisk CALL getthrid()
12995 asterisk RET getthrid 1012995/0xf7503
23810 asterisk CALL gettimeofday(0x1814dd2b57d0,0)
23810 asterisk STRU struct timeval { 1424732417<"Feb 24 01:00:17
2015">.527922 }
12995 asterisk PSIG SIGSEGV SIG_DFL code SEGV_MAPERR<1>
addr=0x181489355e40 trapno=6
23810 asterisk RET gettimeofday 0
23810 asterisk CALL gettimeofday(0x1814dd2b5000,0)
23810 asterisk STRU struct timeval { 1424732417<"Feb 24 01:00:17
2015">.528325 }
23810 asterisk RET gettimeofday 0
23810 asterisk CALL nanosleep(0x1814dd2b5080,0)
23810 asterisk STRU struct timespec { 0.010000000 }
23810 asterisk CALL
__thrsleep(0x1814ba3d7a00,CLOCK_REALTIME,0x18144db17a20,0x1814bc74a080,0x1814ba3d7ae0)
23810 asterisk STRU struct timespec { 1424732341<"Feb 24 00:59:01
2015">.321896000 }
23810 asterisk RET __thrsleep 35/0x23
23810 asterisk CALL
__thrsleep(0x1814ba3d7a00,CLOCK_REALTIME,0x18144db17a20,0x1814bc74a080,0x1814ba3d7ae0)
23810 asterisk STRU struct timespec { 1424732341<"Feb 24 00:59:01
2015">.326896000 }
23810 asterisk RET __thrsleep 35/0x23
23810 asterisk CALL
__thrsleep(0x1814ba3d7a00,CLOCK_REALTIME,0x18144db17a20,0x1814bc74a080,0x1814ba3d7ae0)
23810 asterisk STRU struct timespec { 1424732341<"Feb 24 00:59:01
2015">.331896000 }
23810 asterisk RET __thrsleep 35/0x23
23810 asterisk CALL
__thrsleep(0x1814ba3d7a00,CLOCK_REALTIME,0x18144db17a20,0x1814bc74a080,0x1814ba3d7ae0)
23810 asterisk STRU struct timespec { 1424732341<"Feb 24 00:59:01
2015">.336896000 }
23810 asterisk PSIG SIGCHLD caught handler=0x1811e2c46e00
mask=0x8005003<SIGHUP|SIGINT|SIGPIPE|SIGTERM|SIGWINCH>
23810 asterisk RET __thrsleep 35/0x23
23810 asterisk RET poll -1 errno 4 Interrupted system call
23810 asterisk CALL sigreturn(0x1814c7e29150)
23810 asterisk STRU struct rusage { utime=0, stime=0, maxrss=224,
ixrss=0, idrss=0, isrss=0, minflt=10, majflt=0, nswap=0, inblock=0,
oublock=0, msgsnd=0, msgrcv=0, nsignals=0, nvcsw=0, nivcsw=0 }
23810 asterisk RET wait4 12995/0x32c3
23810 asterisk RET sigreturn JUSTRETURN