On 2015/02/23 16:15, Philip Guenther wrote:
> On Mon, 23 Feb 2015, Alexey Suslikov wrote:
> ...
> >  12995 asterisk RET   fork 0
> >  12995 asterisk CALL  
> > sigprocmask(SIG_SETMASK,0x8005003<SIGHUP|SIGINT|SIGPIPE|SIGTERM|SIGWINCH>)
> >  12995 asterisk RET   sigprocmask ~0x10100<SIGKILL|SIGSTOP>
> >  12995 asterisk CALL  getthrid()
> >  12995 asterisk RET   getthrid 1012995/0xf7503
> >  12995 asterisk PSIG  SIGSEGV SIG_DFL code SEGV_MAPERR<1> 
> > addr=0x181489355e40 trapno=6
> 
> So it's not even getting to ast_set_priority() or ast_close_fds_above_n().
> 
> <pause>
> 
> Ooog, this is probably caused by a pthread_atfork() handler from a shared 
> object.
> 
> The easiest way to test this hypothesis is to change this code:
>       #ifdef HAVE_WORKING_FORK
>               pid = fork();
>       #else
>               pid = vfork();
>       #endif
> 
> to just
>         pid = vfork();
> 
> 
> and see if the problem goes away...

Yes that gets rid of the "unable to execute" from the system("pwd") call.
(unfortunately the AGI script can't be fixed that way as it needs to not
block the parent).

And, with a syslog added to librthread, I can confirm that something
(but I don't know what) calls pthread_atfork.

Reply via email to