On Mon, Oct 1, 2018 at 4:52 PM, pba <papostoles...@gmail.com> wrote:
>
> I'm running into a situation where my program deadlocks due to (apparently)
> a call to runtime.(*sigctxt).preparePanic which never exits (stack below).
>
> The program uses cgo and passes callbacks to the C library, this particular
> panic seems to be triggered when the go callback returns to the C code. I
> cannot debug the C code (binary dependency).
>
> Any suggestions on how to make the the program crash cleanly (i.e. panic and
> exit) ?
>
> go version go1.11 darwin/amd64
> macOS Sierra (10.12.6)
>
> 2359 Thread_1644947
>     + 2359 _sigtramp  (in libsystem_platform.dylib) + 26  [0x7fff9656cb3a]
>     +   2359 runtime.sigtramp  (in test) + 51  [0x4065fe3]
>     +     2359 runtime.sigtrampgo  (in test) + 544  [0x4049000]
>     +       2359 runtime.sighandler  (in test) + 1788  [0x404866c]
>     +         2359 runtime.(*sigctxt).preparePanic  (in test) + 172
> [0x40475fc]

preparePanic is only called if your program has already gotten a
signal.  In this case it looks like preparePanic is itself causing a
signal.  There is some special code in Darwin that fires when a
program does a division by zero or otherwise gets a SIGFPE signal; is
it possible that this is happening in your program?

Ian

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to