Skip to content

Instantly share code, notes, and snippets.

@bwester
Created April 11, 2022 15:55
Show Gist options
  • Save bwester/5c7247df7290013966f4945fe827f33b to your computer and use it in GitHub Desktop.
Save bwester/5c7247df7290013966f4945fe827f33b to your computer and use it in GitHub Desktop.
DLV and SIGQUIT info for Hermit, built with Go @ db7183ccf9, when it has deadlocked
Hermit v0.18.3 (Square internal wrapper)
compile environment: CGO_ENABLED=0
compiled with Go @ db7183ccf9
run environment: GOTRACEBACK=crash
arch: amd64
os: darwin (macOS 11.6.3)
output 1: DLV session attached to the deadlocked process
output 2: output after receiving SIGQUIT
------------------------------
(dlv) goroutines
Goroutine 1 - User: /goroot/src/runtime/os_darwin.go:351 syscall.runtime_BeforeExec (0x1060713) (thread 22223294)
Goroutine 2 - User: /goroot/src/runtime/proc.go:364 runtime.gopark (0x1036b56) [force gc (idle)]
Goroutine 17 - User: /goroot/src/runtime/proc.go:364 runtime.gopark (0x1036b56) [GC sweep wait]
Goroutine 18 - User: /goroot/src/runtime/proc.go:364 runtime.gopark (0x1036b56) [GC scavenge wait]
Goroutine 19 - User: /goroot/src/runtime/proc.go:364 runtime.gopark (0x1036b56) [finalizer wait]
Goroutine 23 - User: /gopath/pkg/mod/github.com/cashapp/hermit@v0.18.3/ui/ui.go:90 github.com/cashapp/hermit/ui.New.func2 (0x131370d) [chan receive]
Goroutine 24 - User: /goroot/src/runtime/proc.go:364 runtime.gopark (0x1036b56) [select]
Goroutine 25 - User: /goroot/src/runtime/sigqueue.go:149 os/signal.signal_recv (0x1061928)
[8 goroutines]
(dlv) goroutine 1 bt
0 0x0000000001053e46 in runtime.libcCall
at /goroot/src/runtime/sys_libc.go:49
1 0x000000000105358c in runtime.usleep
at /goroot/src/runtime/sys_darwin.go:250
2 0x0000000001060713 in runtime.osyield
at /goroot/src/runtime/os_darwin.go:351
3 0x0000000001060713 in syscall.runtime_BeforeExec
at /goroot/src/runtime/proc.go:4039
4 0x00000000010a746b in syscall.Exec
at /goroot/src/syscall/exec_unix.go:283
5 0x00000000015124d4 in github.com/cashapp/hermit/app.(*execCmd).Run
at /gopath/pkg/mod/github.com/cashapp/hermit@v0.18.3/app/exec_cmd.go:60
6 0x0000000001063d8e in runtime.call256
at :0
7 0x0000000001067d3c in runtime.reflectcall
at <autogenerated>:1
8 0x000000000108f905 in reflect.Value.call
at /goroot/src/reflect/value.go:570
9 0x000000000108ee9f in reflect.Value.Call
at /goroot/src/reflect/value.go:353
10 0x00000000014b51e7 in github.com/alecthomas/kong.callMethod
at /gopath/pkg/mod/github.com/alecthomas/kong@v0.5.0/callbacks.go:97
11 0x00000000014bb8f7 in github.com/alecthomas/kong.(*Context).RunNode
at /gopath/pkg/mod/github.com/alecthomas/kong@v0.5.0/context.go:735
12 0x00000000014bbc8e in github.com/alecthomas/kong.(*Context).Run
at /gopath/pkg/mod/github.com/alecthomas/kong@v0.5.0/context.go:760
13 0x0000000001517db5 in github.com/cashapp/hermit/app.Main
at /gopath/pkg/mod/github.com/cashapp/hermit@v0.18.3/app/main.go:267
14 0x000000000155edb8 in main.main
at ./cmd/hermit/main.go:53
15 0x0000000001036792 in runtime.main
at /goroot/src/runtime/proc.go:250
16 0x0000000001065661 in runtime.goexit
at /goroot/src/runtime/asm_amd64.s:1594
(dlv) goroutine 2 bt
0 0x0000000001036b56 in runtime.gopark
at /goroot/src/runtime/proc.go:364
1 0x00000000010369ed in runtime.goparkunlock
at /goroot/src/runtime/proc.go:369
2 0x00000000010369ed in runtime.forcegchelper
at /goroot/src/runtime/proc.go:302
3 0x0000000001065661 in runtime.goexit
at /goroot/src/runtime/asm_amd64.s:1594
(dlv) goroutine 17 bt
0 0x0000000001036b56 in runtime.gopark
at /goroot/src/runtime/proc.go:364
1 0x00000000010236ae in runtime.goparkunlock
at /goroot/src/runtime/proc.go:369
2 0x00000000010236ae in runtime.bgsweep
at /goroot/src/runtime/mgcsweep.go:278
3 0x0000000001019306 in runtime.gcenable.func1
at /goroot/src/runtime/mgc.go:177
4 0x0000000001065661 in runtime.goexit
at /goroot/src/runtime/asm_amd64.s:1594
(dlv) goroutine 18 bt
0 0x0000000001036b56 in runtime.gopark
at /goroot/src/runtime/proc.go:364
1 0x000000000102130c in runtime.goparkunlock
at /goroot/src/runtime/proc.go:369
2 0x000000000102130c in runtime.bgscavenge
at /goroot/src/runtime/mgcscavenge.go:272
3 0x00000000010192a6 in runtime.gcenable.func2
at /goroot/src/runtime/mgc.go:178
4 0x0000000001065661 in runtime.goexit
at /goroot/src/runtime/asm_amd64.s:1594
(dlv) goroutine 19 bt
0 0x0000000001036b56 in runtime.gopark
at /goroot/src/runtime/proc.go:364
1 0x00000000010183b3 in runtime.goparkunlock
at /goroot/src/runtime/proc.go:369
2 0x00000000010183b3 in runtime.runfinq
at /goroot/src/runtime/mfinal.go:177
3 0x0000000001065661 in runtime.goexit
at /goroot/src/runtime/asm_amd64.s:1594
(dlv) goroutine 23 bt
0 0x0000000001036b56 in runtime.gopark
at /goroot/src/runtime/proc.go:364
1 0x0000000001006950 in runtime.chanrecv
at /goroot/src/runtime/chan.go:579
2 0x00000000010063b8 in runtime.chanrecv2
at /goroot/src/runtime/chan.go:447
3 0x000000000131370d in github.com/cashapp/hermit/ui.New.func2
at /gopath/pkg/mod/github.com/cashapp/hermit@v0.18.3/ui/ui.go:90
4 0x0000000001065661 in runtime.goexit
at /goroot/src/runtime/asm_amd64.s:1594
(dlv) goroutine 24 bt
0 0x0000000001036b56 in runtime.gopark
at /goroot/src/runtime/proc.go:364
1 0x00000000010466fc in runtime.selectgo
at /goroot/src/runtime/select.go:328
2 0x000000000104aab2 in runtime.ensureSigM.func1
at /goroot/src/runtime/signal_unix.go:979
3 0x0000000001065661 in runtime.goexit
at /goroot/src/runtime/asm_amd64.s:1594
(dlv) goroutine 25 bt
0 0x0000000001063560 in runtime.systemstack_switch
at /goroot/src/runtime/asm_amd64.s:459
1 0x0000000001053e46 in runtime.libcCall
at /goroot/src/runtime/sys_libc.go:49
2 0x0000000001053474 in runtime.read
at /goroot/src/runtime/sys_darwin.go:216
3 0x000000000103115e in runtime.sigNoteSleep
at /goroot/src/runtime/os_darwin.go:124
4 0x0000000001061928 in os/signal.signal_recv
at /goroot/src/runtime/sigqueue.go:149
5 0x00000000013107f9 in os/signal.loop
at /goroot/src/os/signal/signal_unix.go:23
6 0x0000000001065661 in runtime.goexit
at /goroot/src/runtime/asm_amd64.s:1594
------------------------------
fatal error: notesleep not on g0
panic during panic
goroutine 0 [idle]:
runtime.throw({0x167624a?, 0x0?})
/goroot/src/runtime/panic.go:994 +0x71 fp=0xc00000f7d8 sp=0xc00000f7a8 pc=0x10340b1
runtime.notesleep(0x0?)
/goroot/src/runtime/lock_sema.go:167 +0x11a fp=0xc00000f808 sp=0xc00000f7d8 pc=0x100bc7a
runtime.(*rwmutex).rlock.func1()
/goroot/src/runtime/rwmutex.go:54 +0x7b fp=0xc00000f830 sp=0xc00000f808 pc=0x10458fb
runtime.(*rwmutex).rlock(0x0?)
/goroot/src/runtime/rwmutex.go:41 +0x59 fp=0xc00000f858 sp=0xc00000f830 pc=0x1045839
runtime.preemptM(0xc000080000)
/goroot/src/runtime/signal_unix.go:372 +0x29 fp=0xc00000f878 sp=0xc00000f858 pc=0x1049429
runtime.preemptone(0x0?)
/goroot/src/runtime/proc.go:5344 +0x5e fp=0xc00000f890 sp=0xc00000f878 pc=0x1041dde
runtime.preemptall()
/goroot/src/runtime/proc.go:5306 +0x55 fp=0xc00000f8c8 sp=0xc00000f890 pc=0x1041d35
runtime.freezetheworld()
/goroot/src/runtime/proc.go:886 +0x73 fp=0xc00000f8e8 sp=0xc00000f8c8 pc=0x1038113
runtime.startpanic_m()
/goroot/src/runtime/panic.go:1142 +0x16a fp=0xc00000f910 sp=0xc00000f8e8 pc=0x10346ea
runtime.sighandler(0x3, 0x1b7a440?, 0xc00000f9e8?, 0x1b79ea0)
/goroot/src/runtime/signal_unix.go:705 +0x309 fp=0xc00000f9c0 sp=0xc00000f910 pc=0x1049da9
runtime.sigtrampgo(0x3, 0xc00000fee0, 0xc00000ff48)
/goroot/src/runtime/signal_unix.go:479 +0x1a5 fp=0xc00000fa38 sp=0xc00000f9c0 pc=0x1049685
runtime.sigtrampgo(0x3, 0xc00000fee0, 0xc00000ff48)
<autogenerated>:1 +0x2e fp=0xc00000fa60 sp=0xc00000fa38 pc=0x1067c4e
runtime: g 0: unexpected return pc for runtime.sigtramp called from 0x7fff203eed7d
stack: frame={sp:0xc00000fa60, fp:0xc00000fab0} stack=[0xc000008000,0xc000010000)
0x000000c00000f960: 0x0000000000000000 0x000000c00000f9c0
0x000000c00000f970: 0x0000000000000000 0x0000000000000000
0x000000c00000f980: 0x000000c000006000 0x0000000000000000
0x000000c00000f990: 0x0000000000000000 0x0000000000000000
0x000000c00000f9a0: 0x000000c00000fee0 0x000000c00000ff48
0x000000c00000f9b0: 0x000000c00000fa28 0x0000000001049685 <runtime.sigtrampgo+0x00000000000001a5>
0x000000c00000f9c0: 0x000000c000000003 0x0000000001b7a440
0x000000c00000f9d0: 0x000000c00000f9e8 0x0000000001b79ea0
0x000000c00000f9e0: 0x0000000000000000 0x0000000000000000
0x000000c00000f9f0: 0x0000000000000000 0x0000000000000000
0x000000c00000fa00: 0x0000000000000000 0x0000000000000000
0x000000c00000fa10: 0x0000000001b79ea0 0x000000c00000fee0
0x000000c00000fa20: 0x000000c00000ff48 0x000000c00000fa50
0x000000c00000fa30: 0x0000000001067c4e <runtime.sigtrampgo+0x000000000000002e> 0x0000000000000003
0x000000c00000fa40: 0x000000c00000fee0 0x000000c00000ff48
0x000000c00000fa50: 0x000000c00000faa0 0x000000000106711c <runtime.sigtramp+0x000000000000003c>
0x000000c00000fa60: <0x0000000000000003 0x000000c00000fee0
0x000000c00000fa70: 0x000000c00000ff48 0x000000c00000ff48
0x000000c00000fa80: 0x9bc6e302cef0da4f 0x0000000000000016
0x000000c00000fa90: 0x0000370100003800 0x0000000000003500
0x000000c00000faa0: 0x000000c00000fab0 !0x00007fff203eed7d
0x000000c00000fab0: >0x00007ffeefbfe6a0 0x0000000000000000
0x000000c00000fac0: 0x0000000000000000 0x0000000000000000
0x000000c00000fad0: 0x0000000000000000 0x0200013100000085
0x000000c00000fae0: 0x00007ffeefbfe608 0x0000000000000104
0x000000c00000faf0: 0x0000000002f74e00 0x00007ffeefbfe5f8
0x000000c00000fb00: 0x0000000000003500 0x0000000001b7a7c0
0x000000c00000fb10: 0x0000370100003800 0x00007ffeefbfe6a0
0x000000c00000fb20: 0x00007ffeefbfe5f8 0x0000000000000000
0x000000c00000fb30: 0x00000000000000a0 0x0000000000000000
0x000000c00000fb40: 0x0000000000000246 0x0000000001b7a780
0x000000c00000fb50: 0x0000000000000016 0x0000370100003800
0x000000c00000fb60: 0x0000000000003500 0x00007fff20376cde
0x000000c00000fb70: 0x0000000000000247 0x0000000000000007
0x000000c00000fb80: 0x0000000000000000 0x0000000000000000
0x000000c00000fb90: 0x0000000000000000 0x000000000000037f
0x000000c00000fba0: 0x0000000000000000 0x0000000000000000
runtime.sigtramp()
/goroot/src/runtime/sys_darwin_amd64.s:227 +0x3c fp=0xc00000fab0 sp=0xc00000fa60 pc=0x106711c
goroutine 1 [running]:
goroutine running on other thread; stack unavailable
goroutine 2 [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
/goroot/src/runtime/proc.go:363 +0xd6 fp=0xc000058fb0 sp=0xc000058f90 pc=0x1036b56
runtime.goparkunlock(...)
/goroot/src/runtime/proc.go:369
runtime.forcegchelper()
/goroot/src/runtime/proc.go:302 +0xad fp=0xc000058fe0 sp=0xc000058fb0 pc=0x10369ed
runtime.goexit()
/goroot/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc000058fe8 sp=0xc000058fe0 pc=0x1065661
created by runtime.init.6
/goroot/src/runtime/proc.go:290 +0x25
goroutine 17 [GC sweep wait]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
/goroot/src/runtime/proc.go:363 +0xd6 fp=0xc000054790 sp=0xc000054770 pc=0x1036b56
runtime.goparkunlock(...)
/goroot/src/runtime/proc.go:369
runtime.bgsweep(0x0?)
/goroot/src/runtime/mgcsweep.go:278 +0x8e fp=0xc0000547c8 sp=0xc000054790 pc=0x10236ae
runtime.gcenable.func1()
/goroot/src/runtime/mgc.go:177 +0x26 fp=0xc0000547e0 sp=0xc0000547c8 pc=0x1019306
runtime.goexit()
/goroot/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0000547e8 sp=0xc0000547e0 pc=0x1065661
created by runtime.gcenable
/goroot/src/runtime/mgc.go:177 +0x6b
goroutine 18 [GC scavenge wait]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
/goroot/src/runtime/proc.go:363 +0xd6 fp=0xc000054f20 sp=0xc000054f00 pc=0x1036b56
runtime.goparkunlock(...)
/goroot/src/runtime/proc.go:369
runtime.bgscavenge(0x0?)
/goroot/src/runtime/mgcscavenge.go:272 +0xec fp=0xc000054fc8 sp=0xc000054f20 pc=0x102130c
runtime.gcenable.func2()
/goroot/src/runtime/mgc.go:178 +0x26 fp=0xc000054fe0 sp=0xc000054fc8 pc=0x10192a6
runtime.goexit()
/goroot/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc000054fe8 sp=0xc000054fe0 pc=0x1065661
created by runtime.gcenable
/goroot/src/runtime/mgc.go:178 +0xaa
goroutine 19 [finalizer wait]:
runtime.gopark(0x0?, 0xc000058670?, 0x70?, 0x87?, 0x10436d1?)
/goroot/src/runtime/proc.go:363 +0xd6 fp=0xc000058630 sp=0xc000058610 pc=0x1036b56
runtime.goparkunlock(...)
/goroot/src/runtime/proc.go:369
runtime.runfinq()
/goroot/src/runtime/mfinal.go:177 +0xb3 fp=0xc0000587e0 sp=0xc000058630 pc=0x10183b3
runtime.goexit()
/goroot/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0000587e8 sp=0xc0000587e0 pc=0x1065661
created by runtime.createfing
/goroot/src/runtime/mfinal.go:157 +0x45
goroutine 23 [chan receive]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
/goroot/src/runtime/proc.go:363 +0xd6 fp=0xc0000566e8 sp=0xc0000566c8 pc=0x1036b56
runtime.chanrecv(0xc0002bf620, 0xc0000567c0, 0x1)
/goroot/src/runtime/chan.go:579 +0x570 fp=0xc000056778 sp=0xc0000566e8 pc=0x1006950
runtime.chanrecv2(0x0?, 0x0?)
/goroot/src/runtime/chan.go:447 +0x18 fp=0xc0000567a0 sp=0xc000056778 pc=0x10063b8
github.com/cashapp/hermit/ui.New.func2()
/gopath/pkg/mod/github.com/cashapp/hermit@v0.18.3/ui/ui.go:90 +0x4d fp=0xc0000567e0 sp=0xc0000567a0 pc=0x131370d
runtime.goexit()
/goroot/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0000567e8 sp=0xc0000567e0 pc=0x1065661
created by github.com/cashapp/hermit/ui.New
/gopath/pkg/mod/github.com/cashapp/hermit@v0.18.3/ui/ui.go:89 +0x23f
goroutine 24 [select, locked to thread]:
runtime.gopark(0xc000056fa8?, 0x2?, 0x0?, 0x0?, 0xc000056fa4?)
/goroot/src/runtime/proc.go:363 +0xd6 fp=0xc000056e20 sp=0xc000056e00 pc=0x1036b56
runtime.selectgo(0xc000056fa8, 0xc000056fa0, 0x0?, 0x0, 0x0?, 0x1)
/goroot/src/runtime/select.go:328 +0x7bc fp=0xc000056f60 sp=0xc000056e20 pc=0x10466fc
runtime.ensureSigM.func1()
/goroot/src/runtime/signal_unix.go:979 +0x172 fp=0xc000056fe0 sp=0xc000056f60 pc=0x104aab2
runtime.goexit()
/goroot/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc000056fe8 sp=0xc000056fe0 pc=0x1065661
created by runtime.ensureSigM
/goroot/src/runtime/signal_unix.go:962 +0xbd
goroutine 25 [syscall]:
runtime.sigNoteSleep(0x0)
/goroot/src/runtime/os_darwin.go:123 +0x1e fp=0xc0000577a0 sp=0xc000057768 pc=0x103113e
os/signal.signal_recv()
/goroot/src/runtime/sigqueue.go:149 +0x28 fp=0xc0000577c0 sp=0xc0000577a0 pc=0x1061928
os/signal.loop()
/goroot/src/os/signal/signal_unix.go:23 +0x19 fp=0xc0000577e0 sp=0xc0000577c0 pc=0x13107f9
runtime.goexit()
/goroot/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0000577e8 sp=0xc0000577e0 pc=0x1065661
created by os/signal.Notify.func1.1
/goroot/src/os/signal/signal.go:151 +0x2a
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment