Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Deadlock when receiving kill-signal from child process



On Wed, Aug 5, 2015 at 9:52 PM, Bart Schaefer wrote:
}
} Hm.  I'm a little puzzled by the continued appearance of the "no job
} table entry" warning but this --

Is it not explainable by disowning the child process (child &!)? At
least when I only do "child &" the error disappears.

By applying your last patch (in addition to the previous ones) I have
managed to produce two new stack traces, one where the last script is
run as-is and one where I do not disown the child processes.

child &! (disowned):

#0  0x00007fff8abfe166 in __psynch_mutexwait ()
#1  0x00007fff8e4b578a in _pthread_mutex_lock ()
#2  0x00007fff82ce5750 in fputc ()
#3  0x000000010c4d4d95 in zputs ()
#4  0x000000010c4d4bfc in mb_niceformat ()
#5  0x000000010c4d428d in zwarning ()
#6  0x000000010c4d4436 in zwarn ()
#7  0x000000010c4c8632 in wait_for_processes ()
#8  0x000000010c4c82fe in zhandler ()
#9  <signal handler called>
#10 0x00007fff8abfe72a in __sigsuspend ()
#11 0x000000010c4c84df in signal_suspend ()
#12 0x000000010c49fa05 in zwaitjob ()
#13 0x000000010c49f858 in waitjobs ()
#14 0x000000010c4825cc in execpline ()
#15 0x000000010c4817b2 in execlist ()
#16 0x000000010c4815da in execode ()
#17 0x000000010c4851df in runshfunc ()
#18 0x000000010c484cca in doshfunc ()
#19 0x000000010c4c98a7 in dotrapargs ()
#20 0x000000010c4c8a0a in handletrap ()
#21 0x000000010c4c8308 in zhandler ()
#22 <signal handler called>
#23 0x00007fff853a9340 in OSAtomicCompareAndSwapPtrBarrier$VARIANT$mp ()
#24 0x00007fff8e4b5714 in _pthread_mutex_lock ()
#25 0x00007fff82ce43a3 in ferror ()
#26 0x000000010c499f56 in loop ()
#27 0x000000010c49cb74 in zsh_main ()
#28 0x00007fff8610c5c9 in start ()

child & (no more "no job table entry" errors):

#0  0x00007fff8abf95da in syscall_thread_switch ()
#1  0x00007fff853a982d in _OSSpinLockLockSlow ()
#2  0x00007fff896e16d9 in szone_force_lock ()
#3  0x00007fff896e15e6 in _malloc_fork_prepare ()
#4  0x00007fff82cb8097 in fork ()
#5  0x0000000105079718 in zfork ()
#6  0x000000010507d1a5 in execcmd ()
#7  0x0000000105078208 in execpline ()
#8  0x00000001050777b2 in execlist ()
#9  0x00000001050775da in execode ()
#10 0x000000010507b1df in runshfunc ()
#11 0x000000010507acca in doshfunc ()
#12 0x00000001050bf8a7 in dotrapargs ()
#13 0x00000001050bea0a in handletrap ()
#14 0x00000001050be308 in zhandler ()
#15 <signal handler called>
#16 0x00007fff896ddfc7 in small_free_list_add_ptr ()
#17 0x00007fff896d9ccf in szone_free_definite_size ()
#18 0x00000001050ae85c in init_parse ()
#19 0x00000001050ae965 in parse_event ()
#20 0x000000010508fd1c in loop ()
#21 0x0000000105092b74 in zsh_main ()
#22 0x00007fff8610c5c9 in start ()



Messages sorted by: Reverse Date, Date, Thread, Author