On Thu, Nov 29, 2018 at 5:32 PM Ian Lance Taylor <i...@golang.org> wrote:

> On Wed, Nov 28, 2018 at 7:18 PM Justin Israel <justinisr...@gmail.com>
> wrote:
> >
> > I've got a service that I have been testing quite a lot over the last
> few days. Only after I handed it off for some testing to a colleague, was
> he able to produce a SIGBUS panic that I had not seen before:
> >
> > go 1.11.2 linux/amd64
> >
> > The service does set up its own SIGINT/SIGTERM handling via the typical
> siginal.Notify approach. The nature of the program is that it listens on
> nats.io message queues, and receives requests to run tasks as
> sub-processes. My tests have been running between 40-200 of these instances
> over the course of a few days. But this panic occurred on a completely
> different machine that those I had been testing...
> >
> > goroutine 1121 [runnable (scan)]:
> > fatal error: unexpected signal during runtime execution
> > panic during panic
> > [signal SIGBUS: bus error code=0x2 addr=0xfa2adc pc=0x451637]
> >
> > runtime stack:
> > runtime.throw(0xcf7fe3, 0x2a)
> >         /vol/apps/go/1.11.2/src/runtime/panic.go:608 +0x72
> > runtime.sigpanic()
> >         /vol/apps/go/1.11.2/src/runtime/signal_unix.go:374 +0x2f2
> > runtime.gentraceback(0xffffffffffffffff, 0xffffffffffffffff, 0x0,
> 0xc0004baa80, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0, ...)
> >         /vol/apps/go/1.11.2/src/runtime/traceback.go:190 +0x377
> > runtime.traceback1(0xffffffffffffffff, 0xffffffffffffffff, 0x0,
> 0xc0004baa80, 0x0)
> >         /vol/apps/go/1.11.2/src/runtime/traceback.go:728 +0xf3
> > runtime.traceback(0xffffffffffffffff, 0xffffffffffffffff, 0x0,
> 0xc0004baa80)
> >         /vol/apps/go/1.11.2/src/runtime/traceback.go:682 +0x52
> > runtime.tracebackothers(0xc00012e780)
> >         /vol/apps/go/1.11.2/src/runtime/traceback.go:947 +0x187
> > runtime.dopanic_m(0xc00012e780, 0x42dcc2, 0x7f83f6ffc808, 0x1)
> >         /vol/apps/go/1.11.2/src/runtime/panic.go:805 +0x2aa
> > runtime.fatalthrow.func1()
> >         /vol/apps/go/1.11.2/src/runtime/panic.go:663 +0x5f
> > runtime.fatalthrow()
> >         /vol/apps/go/1.11.2/src/runtime/panic.go:660 +0x57
> > runtime.throw(0xcf7fe3, 0x2a)
> >         /vol/apps/go/1.11.2/src/runtime/panic.go:608 +0x72
> > runtime.sigpanic()
> >         /vol/apps/go/1.11.2/src/runtime/signal_unix.go:374 +0x2f2
> > runtime.gentraceback(0xffffffffffffffff, 0xffffffffffffffff, 0x0,
> 0xc0004baa80, 0x0, 0x0, 0x7fffffff, 0x7f83f6ffcd00, 0x0, 0x0, ...)
> >         /vol/apps/go/1.11.2/src/runtime/traceback.go:190 +0x377
> > runtime.scanstack(0xc0004baa80, 0xc000031270)
> >         /vol/apps/go/1.11.2/src/runtime/mgcmark.go:786 +0x15a
> > runtime.scang(0xc0004baa80, 0xc000031270)
> >         /vol/apps/go/1.11.2/src/runtime/proc.go:947 +0x218
> > runtime.markroot.func1()
> >         /vol/apps/go/1.11.2/src/runtime/mgcmark.go:264 +0x6d
> > runtime.markroot(0xc000031270, 0xc000000047)
> >         /vol/apps/go/1.11.2/src/runtime/mgcmark.go:245 +0x309
> > runtime.gcDrain(0xc000031270, 0x6)
> >         /vol/apps/go/1.11.2/src/runtime/mgcmark.go:882 +0x117
> > runtime.gcBgMarkWorker.func2()
> >         /vol/apps/go/1.11.2/src/runtime/mgc.go:1858 +0x13f
> > runtime.systemstack(0x7f83f7ffeb90)
> >         /vol/apps/go/1.11.2/src/runtime/asm_amd64.s:351 +0x66
> > runtime.mstart()
> >         /vol/apps/go/1.11.2/src/runtime/proc.go:1229
> >
> > Much appreciated for any insight.
>
> Is the problem repeatable?
>
> It looks like it crashed while tracing back the stack during garbage
> collection, but I don't know why since the panic was evidently able to
> trace back the stack just fine.
>


Thanks for the reply. Unfortunately it was rare and never happened in my
own testing of thousands of runs of this service. The colleague that saw
this crash on one of his workstations was not able to repro it after
attempting another run of the workflow. I wasn't really sure how to debug
this particular crash since it was in the gc and I have seen a "panic
during panic" before. Thought it might jump out at someone.


> 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