root@[fd00:1122:3344:109::3]:32221/omicron> SIGSEGV: segmentation violation
PC=0xfffff5ffe4b5ce31 m=2 sigcode=1 addr=0x0
goroutine 0 gp=0xc000006a80 m=2 mp=0xc00017c908 [idle]:
runtime: g 0 gp=0xc000006a80: unknown pc 0xfffff5ffe4b5ce31
stack: frame={sp:0xc000197900, fp:0x0} stack=[0xfffff5ffee400340,0xfffff5ffee5fff40)
runtime: g 0 gp=0xc000006a80: unknown pc 0xfffff5ffe4b5ce31
stack: frame={sp:0xc000197900, fp:0x0} stack=[0xfffff5ffee400340,0xfffff5ffee5fff40)
goroutine 1 gp=0xc0000061c0 m=4 mp=0xc00017db08 [syscall]:
runtime.cgocall(0x9e23b0, 0xc000033990)
/opt/ooce/go-1.22/src/runtime/cgocall.go:157 +0x3e fp=0xc000033968 sp=0xc000033930 pc=0x4f489e
github.com/knz/go-libedit/unix._C2func_go_libedit_gets(0x1059a90, 0x1056d80, 0x0, 0x0, 0xc00040ad48, 0xc00040ad4c, 0x1)
_cgo_gotypes.go:149 +0x56 fp=0xc000033990 sp=0xc000033968 pc=0x99d216
github.com/knz/go-libedit/unix.EditLine.GetLine.func1(0xc000033a50?, 0xc00040ad48, 0xc00040ad4c)
/work/oxidecomputer/cockroach/vendor/github.com/knz/go-libedit/unix/editline_unix.go:281 +0xd4 fp=0xc000033a20 sp=0xc000033990 pc=0x9a01f4
github.com/knz/go-libedit/unix.EditLine.GetLine(0x0)
/work/oxidecomputer/cockroach/vendor/github.com/knz/go-libedit/unix/editline_unix.go:281 +0x90 fp=0xc000033a80 sp=0xc000033a20 pc=0x99ffb0
github.com/cockroachdb/cockroach/pkg/cli/clisqlshell.(*cliState).doReadLine(0xc0002e2000, 0x6)
/work/oxidecomputer/cockroach/pkg/cli/clisqlshell/sql.go:1007 +0x1bf fp=0xc000033b40 sp=0xc000033a80 pc=0x9a693f
github.com/cockroachdb/cockroach/pkg/cli/clisqlshell.(*cliState).doRunShell(0xc0002e2000, 0x0?, 0xc00023a018, 0xc00023a020, 0xc00023a028)
/work/oxidecomputer/cockroach/pkg/cli/clisqlshell/sql.go:1881 +0x213 fp=0xc000033ba8 sp=0xc000033b40 pc=0x9ab453
github.com/cockroachdb/cockroach/pkg/cli/clisqlshell.(*cliState).RunInteractive(0xc0002e2000, 0xc00023a018, 0xc00023a020, 0xc00023a028)
/work/oxidecomputer/cockroach/pkg/cli/clisqlshell/sql.go:1844 +0x65 fp=0xc000033c00 sp=0xc000033ba8 pc=0x9ab1c5
github.com/cockroachdb/cockroach/pkg/cli/clisqlcfg.(*Context).Run(0xc0001b20d0, {0xc23d80, 0xc0001b2750})
/work/oxidecomputer/cockroach/pkg/cli/clisqlcfg/context.go:215 +0x2bf fp=0xc000033c80 sp=0xc000033c00 pc=0x9ae75f
main.runSQL(0xc00038e600?, {0xc0001ae810?, 0x4?, 0xad73df?})
/work/oxidecomputer/cockroach/pkg/cmd/cockroach-sql/main.go:137 +0x189 fp=0xc000033d10 sp=0xc000033c80 pc=0x9e12a9
github.com/spf13/cobra.(*Command).execute(0xf8fbe0, {0xc000216050, 0x3, 0x3})
/work/oxidecomputer/cockroach/vendor/github.com/spf13/cobra/command.go:856 +0x69d fp=0xc000033e00 sp=0xc000033d10 pc=0x9d62dd
github.com/spf13/cobra.(*Command).ExecuteC(0xf8fbe0)
/work/oxidecomputer/cockroach/vendor/github.com/spf13/cobra/command.go:974 +0x38d fp=0xc000033eb8 sp=0xc000033e00 pc=0x9d690d
github.com/spf13/cobra.(*Command).Execute(...)
/work/oxidecomputer/cockroach/vendor/github.com/spf13/cobra/command.go:902
main.main()
/work/oxidecomputer/cockroach/pkg/cmd/cockroach-sql/main.go:76 +0x4a6 fp=0xc000033f50 sp=0xc000033eb8 pc=0x9e1086
runtime.main()
/opt/ooce/go-1.22/src/runtime/proc.go:271 +0x28b fp=0xc000033fe0 sp=0xc000033f50 pc=0x52ac8b
runtime.goexit({})
/opt/ooce/go-1.22/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc000033fe8 sp=0xc000033fe0 pc=0x55d481
goroutine 18 gp=0xc000204380 m=nil [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
/opt/ooce/go-1.22/src/runtime/proc.go:402 +0xce fp=0xc0001727a8 sp=0xc000172788 pc=0x52b08e
runtime.goparkunlock(...)
/opt/ooce/go-1.22/src/runtime/proc.go:408
runtime.forcegchelper()
/opt/ooce/go-1.22/src/runtime/proc.go:326 +0xa5 fp=0xc0001727e0 sp=0xc0001727a8 pc=0x52af25
runtime.goexit({})
/opt/ooce/go-1.22/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0001727e8 sp=0xc0001727e0 pc=0x55d481
created by runtime.init.6 in goroutine 1
/opt/ooce/go-1.22/src/runtime/proc.go:314 +0x1a
goroutine 19 gp=0xc000204540 m=nil [GC sweep wait]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
/opt/ooce/go-1.22/src/runtime/proc.go:402 +0xce fp=0xc000172f80 sp=0xc000172f60 pc=0x52b08e
runtime.goparkunlock(...)
/opt/ooce/go-1.22/src/runtime/proc.go:408
runtime.bgsweep(0xc000212000)
/opt/ooce/go-1.22/src/runtime/mgcsweep.go:278 +0x94 fp=0xc000172fc8 sp=0xc000172f80 pc=0x516214
runtime.gcenable.gowrap1()
/opt/ooce/go-1.22/src/runtime/mgc.go:203 +0x25 fp=0xc000172fe0 sp=0xc000172fc8 pc=0x50ac45
runtime.goexit({})
/opt/ooce/go-1.22/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc000172fe8 sp=0xc000172fe0 pc=0x55d481
created by runtime.gcenable in goroutine 1
/opt/ooce/go-1.22/src/runtime/mgc.go:203 +0x66
goroutine 20 gp=0xc000204700 m=nil [GC scavenge wait]:
runtime.gopark(0xc000212000?, 0xc16d28?, 0x1?, 0x0?, 0xc000204700?)
/opt/ooce/go-1.22/src/runtime/proc.go:402 +0xce fp=0xc000173778 sp=0xc000173758 pc=0x52b08e
runtime.goparkunlock(...)
/opt/ooce/go-1.22/src/runtime/proc.go:408
runtime.(*scavengerState).park(0xfe3ca0)
/opt/ooce/go-1.22/src/runtime/mgcscavenge.go:425 +0x49 fp=0xc0001737a8 sp=0xc000173778 pc=0x513c29
runtime.bgscavenge(0xc000212000)
/opt/ooce/go-1.22/src/runtime/mgcscavenge.go:653 +0x3c fp=0xc0001737c8 sp=0xc0001737a8 pc=0x51419c
runtime.gcenable.gowrap2()
/opt/ooce/go-1.22/src/runtime/mgc.go:204 +0x25 fp=0xc0001737e0 sp=0xc0001737c8 pc=0x50abe5
runtime.goexit({})
/opt/ooce/go-1.22/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0001737e8 sp=0xc0001737e0 pc=0x55d481
created by runtime.gcenable in goroutine 1
/opt/ooce/go-1.22/src/runtime/mgc.go:204 +0xa5
goroutine 21 gp=0xc000204c40 m=nil [finalizer wait]:
runtime.gopark(0xc000176648?, 0x4fe665?, 0xa8?, 0x1?, 0xc0000061c0?)
/opt/ooce/go-1.22/src/runtime/proc.go:402 +0xce fp=0xc000176620 sp=0xc000176600 pc=0x52b08e
runtime.runfinq()
/opt/ooce/go-1.22/src/runtime/mfinal.go:194 +0x107 fp=0xc0001767e0 sp=0xc000176620 pc=0x509c87
runtime.goexit({})
/opt/ooce/go-1.22/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0001767e8 sp=0xc0001767e0 pc=0x55d481
created by runtime.createfing in goroutine 1
/opt/ooce/go-1.22/src/runtime/mfinal.go:164 +0x3d
goroutine 3 gp=0xc000007340 m=3 mp=0xc00017d208 [syscall]:
runtime.notetsleepg(0x1047fa0, 0xffffffffffffffff)
/opt/ooce/go-1.22/src/runtime/lock_sema.go:296 +0x31 fp=0xc000176fa0 sp=0xc000176f68 pc=0x4fcc91
os/signal.signal_recv()
/opt/ooce/go-1.22/src/runtime/sigqueue.go:152 +0x29 fp=0xc000176fc0 sp=0xc000176fa0 pc=0x559229
os/signal.loop()
/opt/ooce/go-1.22/src/os/signal/signal_unix.go:23 +0x13 fp=0xc000176fe0 sp=0xc000176fc0 pc=0x99c893
runtime.goexit({})
/opt/ooce/go-1.22/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc000176fe8 sp=0xc000176fe0 pc=0x55d481
created by os/signal.Notify.func1.1 in goroutine 1
/opt/ooce/go-1.22/src/os/signal/signal.go:151 +0x1f
goroutine 34 gp=0xc0002e6000 m=nil [select, locked to thread]:
runtime.gopark(0xc0002ec7a8?, 0x2?, 0x29?, 0xb3?, 0xc0002ec78c?)
/opt/ooce/go-1.22/src/runtime/proc.go:402 +0xce fp=0xc0002ec630 sp=0xc0002ec610 pc=0x52b08e
runtime.selectgo(0xc0002ec7a8, 0xc0002ec788, 0xc0002ec790?, 0x0, 0x0?, 0x1)
/opt/ooce/go-1.22/src/runtime/select.go:327 +0x725 fp=0xc0002ec750 sp=0xc0002ec630 pc=0x53c1e5
runtime.ensureSigM.func1()
/opt/ooce/go-1.22/src/runtime/signal_unix.go:1034 +0x1ac fp=0xc0002ec7e0 sp=0xc0002ec750 pc=0x5544ac
runtime.goexit({})
/opt/ooce/go-1.22/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0002ec7e8 sp=0xc0002ec7e0 pc=0x55d481
created by runtime.ensureSigM in goroutine 1
/opt/ooce/go-1.22/src/runtime/signal_unix.go:1017 +0xc8
goroutine 4 gp=0xc000007500 m=nil [select]:
runtime.gopark(0xc000177790?, 0x2?, 0x60?, 0x0?, 0xc00017776c?)
/opt/ooce/go-1.22/src/runtime/proc.go:402 +0xce fp=0xc000177618 sp=0xc0001775f8 pc=0x52b08e
runtime.selectgo(0xc000177790, 0xc000177768, 0x0?, 0x0, 0x0?, 0x1)
/opt/ooce/go-1.22/src/runtime/select.go:327 +0x725 fp=0xc000177738 sp=0xc000177618 pc=0x53c1e5
github.com/cockroachdb/cockroach/pkg/cli/clisqlshell.(*cliState).maybeHandleInterrupt.func2()
/work/oxidecomputer/cockroach/pkg/cli/clisqlshell/sql.go:2145 +0x118 fp=0xc0001777e0 sp=0xc000177738 pc=0x9accf8
runtime.goexit({})
/opt/ooce/go-1.22/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0001777e8 sp=0xc0001777e0 pc=0x55d481
created by github.com/cockroachdb/cockroach/pkg/cli/clisqlshell.(*cliState).maybeHandleInterrupt in goroutine 1
/work/oxidecomputer/cockroach/pkg/cli/clisqlshell/sql.go:2143 +0xf4
rax 0x10624e0
rbx 0x1059a90
rcx 0x2b
rdx 0x0
rdi 0xfffff5ffef270154
rsi 0x0
rbp 0xc000197a00
rsp 0xc000197900
r8 0x1000000
r9 0x1062710
r10 0x540
r11 0xfffff5ffef1535b0
r12 0x1059a90
r13 0x1062710
r14 0x106dec0
r15 0x106dec0
rip 0xfffff5ffe4b5ce31
rflags 0x10246
cs 0x53
fs 0x0
gs 0x0
here I was, innocently
omdb -w db sqland puttering around dogfood. I'd run awhich (unfortunately) returned ten rows that line-wrapped. I widened the terminal to make them not wrap, and somewhere along the way the repl didn't like it:
and the rest of it
@iliana mentions xe would like to rip out
go-libeditanyway, which hopefully would avoid this whole issue.this also left the shell I'd run
omdbin a pretty confused state, so go didn't die particularly gracefully :(