runtime: found bad pointer in Go heap when not using CGO and -race reveals nothing

93 views
Skip to first unread message

Kalen Krempely

unread,
Jul 18, 2024, 6:55:58 PM (3 days ago) Jul 18
to golang-nuts
My go program does not use any CGO, but is failing rather consistently with the following error. Disabling the garbage collector with `debug.SetGCPercent(-1)` "fixes" the issue.

The main dependencies used are [bubbletea](https://github.com/charmbracelet/bubbletea) and [pgx](https://github.com/jackc/pgx/). Is there an easy way to see if any of my dependencies are using CGO? What else can I be trying to help narrow down this issue since I have tried quite a lot with no definitive answers.

There was no difference when switching from [pgx](https://github.com/jackc/pgx/) to [pq](https://github.com/lib/pq), a pure go postgres driver.

```
runtime: pointer 0xc0006eb850 to unallocated span span.base()=0xc0006e4000 span.limit=0xc0006ec000 span.state=0
runtime: found in object at *(0xc000142690+0x20)
object=0xc000142690 s.base()=0xc000142000 s.limit=0xc000143fe0 s.spanclass=14 s.elemsize=80 s.state=mSpanInUse
 *(object+0) = 0xc0004280e0
 *(object+8) = 0xc0002e6cc0
 *(object+16) = 0x2
 *(object+24) = 0x2
 *(object+32) = 0xc0006eb850 <==
 *(object+40) = 0xc00041c480
 *(object+48) = 0x2a9
 *(object+56) = 0x480
 *(object+64) = 0xc0003dc430
 *(object+72) = 0x2
fatal error: found bad pointer in Go heap (incorrect use of unsafe or cgo?)
```
Full stack traces further down.

go version go1.22.5 linux/amd64`

go env:
```
GO111MODULE=''
GOARCH='amd64'
GOBIN=''
GOCACHE='/home/user/.cache/go-build'
GOENV='/home/user/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='amd64'
GOHOSTOS='linux'
GOINSECURE=''
GOMODCACHE='/home/user/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='linux'
GOPATH='/home/user/go'
GOPRIVATE=''
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/usr/local/go'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/usr/local/go/pkg/tool/linux_amd64'
GOVCS=''
GOVERSION='go1.22.5'
GCCGO='gccgo'
GOAMD64='v1'
AR='ar'
CC='gcc'
CXX='g++'
CGO_ENABLED='1'
GOMOD='/home/user/workspace/product/go.mod'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build1282480932=/tmp/go-build -gno-record-gcc-switches'
```

<details>
runtime: pointer 0xc0006eb850 to unallocated span span.base()=0xc0006e4000 span.limit=0xc0006ec000 span.state=0
runtime: found in object at *(0xc000142690+0x20)
object=0xc000142690 s.base()=0xc000142000 s.limit=0xc000143fe0 s.spanclass=14 s.elemsize=80 s.state=mSpanInUse
 *(object+0) = 0xc0004280e0
 *(object+8) = 0xc0002e6cc0
 *(object+16) = 0x2
 *(object+24) = 0x2
 *(object+32) = 0xc0006eb850 <==
 *(object+40) = 0xc00041c480
 *(object+48) = 0x2a9
 *(object+56) = 0x480
 *(object+64) = 0xc0003dc430
 *(object+72) = 0x2
fatal error: found bad pointer in Go heap (incorrect use of unsafe or cgo?)

runtime stack:
runtime.throw({0xe3835a?, 0x6?})
/usr/local/go/src/runtime/panic.go:1023 +0x5c fp=0x7c1dc4a65c00 sp=0x7c1dc4a65bd0 pc=0x43d41c
runtime.badPointer(0x7c1dc748c578, 0xc0006eb850, 0xc000142690, 0x20)
/usr/local/go/src/runtime/mbitmap.go:286 +0x165 fp=0x7c1dc4a65c50 sp=0x7c1dc4a65c00 pc=0x41a2c5
runtime.findObject(0xc0002e6cc0?, 0xc000142690?, 0x0?)
/usr/local/go/src/runtime/mbitmap.go:329 +0xa6 fp=0x7c1dc4a65c88 sp=0x7c1dc4a65c50 pc=0x41a446
runtime.scanobject(0xc000060168?, 0xc000060168)
/usr/local/go/src/runtime/mgcmark.go:1492 +0x14c fp=0x7c1dc4a65d18 sp=0x7c1dc4a65c88 pc=0x42692c
runtime.gcDrain(0xc000060168, 0x7)
/usr/local/go/src/runtime/mgcmark.go:1242 +0x1f4 fp=0x7c1dc4a65d80 sp=0x7c1dc4a65d18 pc=0x4261f4
runtime.gcDrainMarkWorkerIdle(...)
/usr/local/go/src/runtime/mgcmark.go:1114
runtime.gcBgMarkWorker.func2()
/usr/local/go/src/runtime/mgc.go:1406 +0x6f fp=0x7c1dc4a65dd0 sp=0x7c1dc4a65d80 pc=0x42282f
runtime.systemstack(0x800000)
/usr/local/go/src/runtime/asm_amd64.s:509 +0x4a fp=0x7c1dc4a65de0 sp=0x7c1dc4a65dd0 pc=0x470f4a

goroutine 12 gp=0xc00049a8c0 m=11 mp=0xc000600808 [GC worker (active)]:
runtime.systemstack_switch()
/usr/local/go/src/runtime/asm_amd64.s:474 +0x8 fp=0xc0004a1750 sp=0xc0004a1740 pc=0x470ee8
runtime.gcBgMarkWorker()
/usr/local/go/src/runtime/mgc.go:1370 +0x1f2 fp=0xc0004a17e0 sp=0xc0004a1750 pc=0x4224f2
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0004a17e8 sp=0xc0004a17e0 pc=0x472f01
created by runtime.gcBgMarkStartWorkers in goroutine 1
/usr/local/go/src/runtime/mgc.go:1234 +0x1c

goroutine 1 gp=0xc0000061c0 m=nil [runnable]:
github.com/muesli/termenv.Style.Styled({0x2, {0x11798b8, 0x1}, {0xc00065f810, 0x1, 0x1}}, {0x11798b8?, 0x1?})
/home/user/go/pkg/mod/github.com/muesli/ter...@v0.15.2/style.go:43 +0x190 fp=0xc000718610 sp=0xc000718608 pc=0x6360d0
github.com/muesli/termenv.Style.String(...)
/home/user/go/pkg/mod/github.com/muesli/ter...@v0.15.2/style.go:39
github.com/charmbracelet/glamour/ansi.renderText({0x117d400, 0xc0002f6080}, 0x0, {{0x11762b8, 0x1}, {0x11762b8, 0x1}, {0x0, 0x0}, {0x0, ...}, ...}, ...)
/home/user/go/pkg/mod/github.com/charmbracelet/gla...@v0.7.0/ansi/baseelement.go:79 +0xc59 fp=0xc0007188c0 sp=0xc000718610 pc=0x850a99
github.com/charmbracelet/glamour/ansi.NewMarginWriter.func1({0x0?, 0x0?})
/home/user/go/pkg/mod/github.com/charmbracelet/gla...@v0.7.0/ansi/margin.go:32 +0x65 fp=0xc0007189b8 sp=0xc0007188c0 pc=0x85b2c5
github.com/muesli/reflow/padding.(*Writer).pad(0xc000386e00)
/home/user/go/pkg/mod/github.com/muesli/ref...@v0.3.0/padding/padding.go:100 +0xa5 fp=0xc0007189f0 sp=0xc0007189b8 pc=0x847725
github.com/muesli/reflow/padding.(*Writer).Write(0xc000386e00, {0xc0004c4c18?, 0x1, 0x0?})
/home/user/go/pkg/mod/github.com/muesli/ref...@v0.3.0/padding/padding.go:78 +0x10d fp=0xc000718a68 sp=0xc0007189f0 pc=0x84756d
github.com/muesli/reflow/ansi.(*Writer).writeRune(0xc000318900, 0x0?)
/home/user/go/pkg/mod/github.com/muesli/ref...@v0.3.0/ansi/writer.go:60 +0xb6 fp=0xc000718a98 sp=0xc000718a68 pc=0x6136f6
github.com/muesli/reflow/ansi.(*Writer).Write(0xc000318900, {0xc000718b30?, 0x1, 0x0?})
/home/user/go/pkg/mod/github.com/muesli/ref...@v0.3.0/ansi/writer.go:45 +0x1cf fp=0xc000718b10 sp=0xc000718a98 pc=0x6135af
github.com/muesli/reflow/indent.(*Writer).Write(0xc000142d20, {0xc0004b6000?, 0x1909, 0x0?})
/home/user/go/pkg/mod/github.com/muesli/ref...@v0.3.0/indent/indent.go:94 +0x1d0 fp=0xc000718b90 sp=0xc000718b10 pc=0x73dcd0
github.com/charmbracelet/glamour/ansi.(*MarginWriter).Write(...)
/home/user/go/pkg/mod/github.com/charmbracelet/gla...@v0.7.0/ansi/margin.go:51
github.com/charmbracelet/glamour/ansi.(*BlockElement).Finish(_, {_, _}, {{{0x0, 0x0}, 0x78, 0x0, 0x0, {{{...}, 0x0, ...}, ...}}, ...})
/home/user/go/pkg/mod/github.com/charmbracelet/gla...@v0.7.0/ansi/blockelement.go:34 +0x2e5 fp=0xc00071ad70 sp=0xc000718b90 pc=0x851cc5
github.com/charmbracelet/glamour/ansi.(*ANSIRenderer).renderNode(0xc0001be008, {0x1189f60, 0xc0002f6080}, {0xc000152000, 0x4ac, 0x500}, {0x1196078, 0xc0001a67e0}, 0x0)
/home/user/go/pkg/mod/github.com/charmbracelet/gla...@v0.7.0/ansi/renderer.go:126 +0x4b0 fp=0xc00071fd70 sp=0xc00071ad70 pc=0x85d370
github.com/charmbracelet/glamour/ansi.(*ANSIRenderer).renderNode-fm({0x1189f60?, 0xc0002f6080?}, {0xc000152000?, 0x500?, 0xc0002f6080?}, {0x1196078?, 0xc0001a67e0?}, 0x38?)
<autogenerated>:1 +0x5e fp=0xc00071fdc8 sp=0xc00071fd70 pc=0x860bfe
github.com/yuin/goldmark/renderer.(*renderer).Render.func2({0x1196078, 0xc0001a67e0}, 0x0)
/home/user/go/pkg/mod/github.com/yuin/gold...@v1.5.4/renderer/renderer.go:166 +0xc8 fp=0xc00071fe48 sp=0xc00071fdc8 pc=0x848128
github.com/yuin/goldmark/ast.walkHelper({0x1196078, 0xc0001a67e0}, 0xc00071feb0)
/home/user/go/pkg/mod/github.com/yuin/gold...@v1.5.4/ast/ast.go:503 +0xb1 fp=0xc00071fe80 sp=0xc00071fe48 pc=0x823491
github.com/yuin/goldmark/ast.Walk(...)
/home/user/go/pkg/mod/github.com/yuin/gold...@v1.5.4/ast/ast.go:487
github.com/yuin/goldmark/renderer.(*renderer).Render(0xc0003b45f0, {0x117cc00, 0xc0003f8270}, {0xc000152000, 0x4ac, 0x500}, {0x1196078, 0xc0001a67e0})
/home/user/go/pkg/mod/github.com/yuin/gold...@v1.5.4/renderer/renderer.go:161 +0x230 fp=0xc00071ff08 sp=0xc00071fe80 pc=0x847f30
github.com/yuin/goldmark.(*markdown).Convert(0xc0002f6a80, {0xc000152000, 0x4ac, 0x500}, {0x117cc00, 0xc0003f8270}, {0x0, 0x0, 0x0})
/home/user/go/pkg/mod/github.com/yuin/gold...@v1.5.4/markdown.go:117 +0x106 fp=0xc00071ff60 sp=0xc00071ff08 pc=0x880ae6
github.com/charmbracelet/glamour.(*TermRenderer).RenderBytes(0xc0003fe008, {0xc000152000, 0x4ac, 0x500})
/home/user/go/pkg/mod/github.com/charmbracelet/gla...@v0.7.0/glamour.go:248 +0x6e fp=0xc00071ffc0 sp=0xc00071ff60 pc=0x88e0ce
github.com/charmbracelet/glamour.(*TermRenderer).Render(0xc0003fe008, {0xc0003be700?, 0x2?})
/home/user/go/pkg/mod/github.com/charmbracelet/gla...@v0.7.0/glamour.go:241 +0x32 fp=0xc000720000 sp=0xc00071ffc0 pc=0x88e012
github.com/program/tui/screens.TrainingResults.Update({{0xc000482470, 0x2, 0x2}, 0xc0003ae600, 0xc0003ae630, 0xc0003ae6c0, 0x1, {0xc00056e000, 0x7cb8}, {0xe17196, ...}, ...}, ...)
/home/user/workspace/product/tui/screens/training_results.go:112 +0x2f3 fp=0xc000720188 sp=0xc000720000 pc=0xbcbdd3
github.com/program/tui/screens.(*TrainingResults).Update(0xc00007c000?, {0xd8e4a0?, 0xc0003f81e0?})
<autogenerated>:1 +0x7f fp=0xc000720268 sp=0xc000720188 pc=0xbdb4bf
github.com/program/tui.ScreenController.Update({0x1, {0xc000228940, 0x2, 0x2}, 0x0, 0xc0000be420, 0x101f8c8, {{{0x1796320, 0x8, 0x8}, ...}, ...}, ...}, ...)
/home/user/workspace/product/tui/tui.go:259 +0x19df fp=0xc000721328 sp=0xc000720268 pc=0xb908ff
github.com/program/tui.(*ScreenController).Update(0xc000320900?, {0xd8e4a0?, 0xc0003f81e0?})
<autogenerated>:1 +0xaa fp=0xc0007218b8 sp=0xc000721328 pc=0xb933ea
github.com/charmbracelet/bubbletea.(*Program).eventLoop(0xc000344100, {0x1183058?, 0xc000278008?}, 0xc00028cb40)
/home/user/go/pkg/mod/github.com/charmbracelet/bubb...@v0.26.4/tea.go:412 +0x6c2 fp=0xc0007219b0 sp=0xc0007218b8 pc=0x610242
github.com/charmbracelet/bubbletea.(*Program).Run(0xc000344100)
/home/user/go/pkg/mod/github.com/charmbracelet/bubb...@v0.26.4/tea.go:550 +0xa0e fp=0xc000721c00 sp=0xc0007219b0 pc=0x61110e
github.com/program/commands.Root.train.func2(0xc0001cf100?, {0xdf0b0c?, 0x4?, 0xdf0a34?})
/home/user/workspace/product/commands/train.go:23 +0x2f fp=0xc000721c28 sp=0xc000721c00 pc=0xc6cacf
github.com/spf13/cobra.(*Command).execute(0xc0003bc908, {0xc0003caa20, 0x3, 0x3})
/home/user/go/pkg/mod/github.com/spf13/co...@v1.8.0/command.go:983 +0xaca fp=0xc000721db0 sp=0xc000721c28 pc=0x5e8eaa
github.com/spf13/cobra.(*Command).ExecuteC(0xc0003bc308)
/home/user/go/pkg/mod/github.com/spf13/co...@v1.8.0/command.go:1115 +0x3ff fp=0xc000721e88 sp=0xc000721db0 pc=0x5e977f
github.com/spf13/cobra.(*Command).Execute(0x46e2c6?)
/home/user/go/pkg/mod/github.com/spf13/co...@v1.8.0/command.go:1039 +0x13 fp=0xc000721ea0 sp=0xc000721e88 pc=0x5e92d3
main.main()
/home/user/workspace/product/main.go:27 +0x76 fp=0xc000721f50 sp=0xc000721ea0 pc=0xc6d316
runtime.main()
/usr/local/go/src/runtime/proc.go:271 +0x29d fp=0xc000721fe0 sp=0xc000721f50 pc=0x43ff7d
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc000721fe8 sp=0xc000721fe0 pc=0x472f01

goroutine 2 gp=0xc000006c40 m=nil [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
/usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc000078fa8 sp=0xc000078f88 pc=0x4403ae
runtime.goparkunlock(...)
/usr/local/go/src/runtime/proc.go:408
runtime.forcegchelper()
/usr/local/go/src/runtime/proc.go:326 +0xb3 fp=0xc000078fe0 sp=0xc000078fa8 pc=0x440233
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc000078fe8 sp=0xc000078fe0 pc=0x472f01
created by runtime.init.6 in goroutine 1
/usr/local/go/src/runtime/proc.go:314 +0x1a

goroutine 3 gp=0xc000007180 m=nil [GC sweep wait]:
runtime.gopark(0x1?, 0x0?, 0x0?, 0x0?, 0x0?)
/usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc000079780 sp=0xc000079760 pc=0x4403ae
runtime.goparkunlock(...)
/usr/local/go/src/runtime/proc.go:408
runtime.bgsweep(0xc00003a070)
/usr/local/go/src/runtime/mgcsweep.go:318 +0xdf fp=0xc0000797c8 sp=0xc000079780 pc=0x42b9ff
runtime.gcenable.gowrap1()
/usr/local/go/src/runtime/mgc.go:203 +0x25 fp=0xc0000797e0 sp=0xc0000797c8 pc=0x420305
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0000797e8 sp=0xc0000797e0 pc=0x472f01
created by runtime.gcenable in goroutine 1
/usr/local/go/src/runtime/mgc.go:203 +0x66

goroutine 4 gp=0xc000007340 m=nil [GC scavenge wait]:
runtime.gopark(0x22f5e5?, 0x17deff?, 0x0?, 0x0?, 0x0?)
/usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc000079f78 sp=0xc000079f58 pc=0x4403ae
runtime.goparkunlock(...)
/usr/local/go/src/runtime/proc.go:408
runtime.(*scavengerState).park(0x17b5d40)
/usr/local/go/src/runtime/mgcscavenge.go:425 +0x49 fp=0xc000079fa8 sp=0xc000079f78 pc=0x4293a9
runtime.bgscavenge(0xc00003a070)
/usr/local/go/src/runtime/mgcscavenge.go:658 +0x59 fp=0xc000079fc8 sp=0xc000079fa8 pc=0x429959
runtime.gcenable.gowrap2()
/usr/local/go/src/runtime/mgc.go:204 +0x25 fp=0xc000079fe0 sp=0xc000079fc8 pc=0x4202a5
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc000079fe8 sp=0xc000079fe0 pc=0x472f01
created by runtime.gcenable in goroutine 1
/usr/local/go/src/runtime/mgc.go:204 +0xa5

goroutine 5 gp=0xc000007c00 m=nil [finalizer wait]:
runtime.gopark(0xc000078648?, 0x413ca5?, 0xa8?, 0x1?, 0xc0000061c0?)
/usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc000078620 sp=0xc000078600 pc=0x4403ae
runtime.runfinq()
/usr/local/go/src/runtime/mfinal.go:194 +0x107 fp=0xc0000787e0 sp=0xc000078620 pc=0x41f347
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0000787e8 sp=0xc0000787e0 pc=0x472f01
created by runtime.createfing in goroutine 1
/usr/local/go/src/runtime/mfinal.go:164 +0x3d

goroutine 6 gp=0xc000007dc0 m=nil [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
/usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc00007a750 sp=0xc00007a730 pc=0x4403ae
runtime.gcBgMarkWorker()
/usr/local/go/src/runtime/mgc.go:1310 +0xe5 fp=0xc00007a7e0 sp=0xc00007a750 pc=0x4223e5
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc00007a7e8 sp=0xc00007a7e0 pc=0x472f01
created by runtime.gcBgMarkStartWorkers in goroutine 1
/usr/local/go/src/runtime/mgc.go:1234 +0x1c

goroutine 18 gp=0xc000500000 m=nil [GC worker (idle)]:
runtime.gopark(0x101f3c8?, 0xc000040860?, 0x1a?, 0xa?, 0x0?)
/usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc000074750 sp=0xc000074730 pc=0x4403ae
runtime.gcBgMarkWorker()
/usr/local/go/src/runtime/mgc.go:1310 +0xe5 fp=0xc0000747e0 sp=0xc000074750 pc=0x4223e5
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0000747e8 sp=0xc0000747e0 pc=0x472f01
created by runtime.gcBgMarkStartWorkers in goroutine 1
/usr/local/go/src/runtime/mgc.go:1234 +0x1c

goroutine 7 gp=0xc00049a000 m=nil [GC worker (idle)]:
runtime.gopark(0xf66716d3b2e8?, 0x3?, 0x67?, 0x1b?, 0x0?)
/usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc00007af50 sp=0xc00007af30 pc=0x4403ae
runtime.gcBgMarkWorker()
/usr/local/go/src/runtime/mgc.go:1310 +0xe5 fp=0xc00007afe0 sp=0xc00007af50 pc=0x4223e5
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc00007afe8 sp=0xc00007afe0 pc=0x472f01
created by runtime.gcBgMarkStartWorkers in goroutine 1
/usr/local/go/src/runtime/mgc.go:1234 +0x1c

goroutine 8 gp=0xc00049a1c0 m=nil [GC worker (idle)]:
runtime.gopark(0xf66641f04b1f?, 0x3?, 0x3d?, 0x4e?, 0x0?)
/usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc00007b750 sp=0xc00007b730 pc=0x4403ae
runtime.gcBgMarkWorker()
/usr/local/go/src/runtime/mgc.go:1310 +0xe5 fp=0xc00007b7e0 sp=0xc00007b750 pc=0x4223e5
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc00007b7e8 sp=0xc00007b7e0 pc=0x472f01
created by runtime.gcBgMarkStartWorkers in goroutine 1
/usr/local/go/src/runtime/mgc.go:1234 +0x1c

goroutine 9 gp=0xc00049a380 m=nil [GC worker (idle)]:
runtime.gopark(0xf66641efae10?, 0x3?, 0x4d?, 0xf8?, 0x0?)
/usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc00007bf50 sp=0xc00007bf30 pc=0x4403ae
runtime.gcBgMarkWorker()
/usr/local/go/src/runtime/mgc.go:1310 +0xe5 fp=0xc00007bfe0 sp=0xc00007bf50 pc=0x4223e5
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc00007bfe8 sp=0xc00007bfe0 pc=0x472f01
created by runtime.gcBgMarkStartWorkers in goroutine 1
/usr/local/go/src/runtime/mgc.go:1234 +0x1c

goroutine 10 gp=0xc00049a540 m=nil [GC worker (idle)]:
runtime.gopark(0xf66716d3bb44?, 0x3?, 0xb5?, 0xee?, 0x0?)
/usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc0004a0750 sp=0xc0004a0730 pc=0x4403ae
runtime.gcBgMarkWorker()
/usr/local/go/src/runtime/mgc.go:1310 +0xe5 fp=0xc0004a07e0 sp=0xc0004a0750 pc=0x4223e5
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0004a07e8 sp=0xc0004a07e0 pc=0x472f01
created by runtime.gcBgMarkStartWorkers in goroutine 1
/usr/local/go/src/runtime/mgc.go:1234 +0x1c

goroutine 11 gp=0xc00049a700 m=nil [GC worker (idle)]:
runtime.gopark(0xf66716d3cd34?, 0x3?, 0x8b?, 0x88?, 0x0?)
/usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc0004a0f50 sp=0xc0004a0f30 pc=0x4403ae
runtime.gcBgMarkWorker()
/usr/local/go/src/runtime/mgc.go:1310 +0xe5 fp=0xc0004a0fe0 sp=0xc0004a0f50 pc=0x4223e5
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0004a0fe8 sp=0xc0004a0fe0 pc=0x472f01
created by runtime.gcBgMarkStartWorkers in goroutine 1
/usr/local/go/src/runtime/mgc.go:1234 +0x1c

goroutine 13 gp=0xc0005828c0 m=nil [select]:
runtime.gopark(0xc0004a3f88?, 0x2?, 0x60?, 0x0?, 0xc0004a3f84?)
/usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc0004a3e30 sp=0xc0004a3e10 pc=0x4403ae
runtime.selectgo(0xc0004a3f88, 0xc0004a3f80, 0x0?, 0x0, 0x0?, 0x1)
/usr/local/go/src/runtime/select.go:327 +0x725 fp=0xc0004a3f50 sp=0xc0004a3e30 pc=0x451805
database/sql.(*DB).connectionOpener(0xc0000c68f0, {0x1185cb8, 0xc0003b4780})
/usr/local/go/src/database/sql/sql.go:1246 +0x87 fp=0xc0004a3fb8 sp=0xc0004a3f50 pc=0x8b7fa7
database/sql.OpenDB.gowrap1()
/usr/local/go/src/database/sql/sql.go:824 +0x28 fp=0xc0004a3fe0 sp=0xc0004a3fb8 pc=0x8b62c8
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0004a3fe8 sp=0xc0004a3fe0 pc=0x472f01
created by database/sql.OpenDB in goroutine 1
/usr/local/go/src/database/sql/sql.go:824 +0x14c

goroutine 34 gp=0xc000102380 m=nil [select]:
runtime.gopark(0xc00049e788?, 0x2?, 0x60?, 0x0?, 0xc00049e784?)
/usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc00049e630 sp=0xc00049e610 pc=0x4403ae
runtime.selectgo(0xc00049e788, 0xc00049e780, 0x0?, 0x0, 0x0?, 0x1)
/usr/local/go/src/runtime/select.go:327 +0x725 fp=0xc00049e750 sp=0xc00049e630 pc=0x451805
database/sql.(*DB).connectionOpener(0xc0002a41a0, {0x1185cb8, 0xc000142000})
/usr/local/go/src/database/sql/sql.go:1246 +0x87 fp=0xc00049e7b8 sp=0xc00049e750 pc=0x8b7fa7
database/sql.OpenDB.gowrap1()
/usr/local/go/src/database/sql/sql.go:824 +0x28 fp=0xc00049e7e0 sp=0xc00049e7b8 pc=0x8b62c8
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc00049e7e8 sp=0xc00049e7e0 pc=0x472f01
created by database/sql.OpenDB in goroutine 1
/usr/local/go/src/database/sql/sql.go:824 +0x14c

goroutine 35 gp=0xc000102540 m=nil [select]:
runtime.gopark(0xc00049ef88?, 0x2?, 0x60?, 0x0?, 0xc00049ef84?)
/usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc00049ee30 sp=0xc00049ee10 pc=0x4403ae
runtime.selectgo(0xc00049ef88, 0xc00049ef80, 0x0?, 0x0, 0x0?, 0x1)
/usr/local/go/src/runtime/select.go:327 +0x725 fp=0xc00049ef50 sp=0xc00049ee30 pc=0x451805
database/sql.(*DB).connectionOpener(0xc0002a4c30, {0x1185cb8, 0xc000142370})
/usr/local/go/src/database/sql/sql.go:1246 +0x87 fp=0xc00049efb8 sp=0xc00049ef50 pc=0x8b7fa7
database/sql.OpenDB.gowrap1()
/usr/local/go/src/database/sql/sql.go:824 +0x28 fp=0xc00049efe0 sp=0xc00049efb8 pc=0x8b62c8
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc00049efe8 sp=0xc00049efe0 pc=0x472f01
created by database/sql.OpenDB in goroutine 1
/usr/local/go/src/database/sql/sql.go:824 +0x14c

goroutine 36 gp=0xc000102700 m=nil [select]:
runtime.gopark(0xc00049f770?, 0x2?, 0x40?, 0xf6?, 0xc00049f744?)
/usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc00049f5e8 sp=0xc00049f5c8 pc=0x4403ae
runtime.selectgo(0xc00049f770, 0xc00049f740, 0x2?, 0x0, 0x0?, 0x1)
/usr/local/go/src/runtime/select.go:327 +0x725 fp=0xc00049f708 sp=0xc00049f5e8 pc=0x451805
github.com/charmbracelet/bubbletea.(*Program).handleSignals.func1()
/home/user/go/pkg/mod/github.com/charmbracelet/bubb...@v0.26.4/tea.go:232 +0x14c fp=0xc00049f7e0 sp=0xc00049f708 pc=0x60f50c
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc00049f7e8 sp=0xc00049f7e0 pc=0x472f01
created by github.com/charmbracelet/bubbletea.(*Program).handleSignals in goroutine 1
/home/user/go/pkg/mod/github.com/charmbracelet/bubb...@v0.26.4/tea.go:223 +0x78

goroutine 37 gp=0xc0001028c0 m=nil [select]:
runtime.gopark(0xc00008bf98?, 0x2?, 0x2?, 0x0?, 0xc00008bf94?)
/usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc00008be40 sp=0xc00008be20 pc=0x4403ae
runtime.selectgo(0xc00008bf98, 0xc00008bf90, 0x0?, 0x0, 0x0?, 0x1)
/usr/local/go/src/runtime/select.go:327 +0x725 fp=0xc00008bf60 sp=0xc00008be40 pc=0x451805
github.com/charmbracelet/bubbletea.(*standardRenderer).listen(0xc000320900)
/home/user/go/pkg/mod/github.com/charmbracelet/bubb...@v0.26.4/standard_renderer.go:140 +0x65 fp=0xc00008bfc8 sp=0xc00008bf60 pc=0x60bfa5
github.com/charmbracelet/bubbletea.(*standardRenderer).start.gowrap1()
/home/user/go/pkg/mod/github.com/charmbracelet/bubb...@v0.26.4/standard_renderer.go:94 +0x25 fp=0xc00008bfe0 sp=0xc00008bfc8 pc=0x60bb25
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc00008bfe8 sp=0xc00008bfe0 pc=0x472f01
created by github.com/charmbracelet/bubbletea.(*standardRenderer).start in goroutine 1
/home/user/go/pkg/mod/github.com/charmbracelet/bubb...@v0.26.4/standard_renderer.go:94 +0xbf

goroutine 14 gp=0xc000582c40 m=nil [select, locked to thread]:
runtime.gopark(0xc000074fa8?, 0x2?, 0x49?, 0x6?, 0xc000074f94?)
/usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc000074e38 sp=0xc000074e18 pc=0x4403ae
runtime.selectgo(0xc000074fa8, 0xc000074f90, 0x0?, 0x0, 0x0?, 0x1)
/usr/local/go/src/runtime/select.go:327 +0x725 fp=0xc000074f58 sp=0xc000074e38 pc=0x451805
runtime.ensureSigM.func1()
/usr/local/go/src/runtime/signal_unix.go:1034 +0x19f fp=0xc000074fe0 sp=0xc000074f58 pc=0x46a55f
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc000074fe8 sp=0xc000074fe0 pc=0x472f01
created by runtime.ensureSigM in goroutine 36
/usr/local/go/src/runtime/signal_unix.go:1017 +0xc8

goroutine 15 gp=0xc000582e00 m=4 mp=0xc00007f808 [syscall]:
runtime.notetsleepg(0x181c060, 0xffffffffffffffff)
/usr/local/go/src/runtime/lock_futex.go:246 +0x29 fp=0xc0000757a0 sp=0xc000075778 pc=0x4122c9
os/signal.signal_recv()
/usr/local/go/src/runtime/sigqueue.go:152 +0x29 fp=0xc0000757c0 sp=0xc0000757a0 pc=0x46f889
os/signal.loop()
/usr/local/go/src/os/signal/signal_unix.go:23 +0x13 fp=0xc0000757e0 sp=0xc0000757c0 pc=0x5fdfb3
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0000757e8 sp=0xc0000757e0 pc=0x472f01
created by os/signal.Notify.func1.1 in goroutine 36
/usr/local/go/src/os/signal/signal.go:151 +0x1f

goroutine 39 gp=0xc000102c40 m=nil [select]:
runtime.gopark(0xc0004a2790?, 0x2?, 0xb8?, 0xbc?, 0xc0004a2774?)
/usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc0004a2618 sp=0xc0004a25f8 pc=0x4403ae
runtime.selectgo(0xc0004a2790, 0xc0004a2770, 0x0?, 0x0, 0x0?, 0x1)
/usr/local/go/src/runtime/select.go:327 +0x725 fp=0xc0004a2738 sp=0xc0004a2618 pc=0x451805
github.com/charmbracelet/bubbletea.(*Program).handleCommands.func1()
/home/user/go/pkg/mod/github.com/charmbracelet/bubb...@v0.26.4/tea.go:274 +0xd4 fp=0xc0004a27e0 sp=0xc0004a2738 pc=0x60f934
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0004a27e8 sp=0xc0004a27e0 pc=0x472f01
created by github.com/charmbracelet/bubbletea.(*Program).handleCommands in goroutine 1
/home/user/go/pkg/mod/github.com/charmbracelet/bubb...@v0.26.4/tea.go:270 +0x90

goroutine 73 gp=0xc000103180 m=nil [IO wait]:
runtime.gopark(0x18?, 0x428745?, 0xd0?, 0x8?, 0xb?)
/usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc0006d0848 sp=0xc0006d0828 pc=0x4403ae
runtime.netpollblock(0x48aad8?, 0x4097c6?, 0x0?)
/usr/local/go/src/runtime/netpoll.go:573 +0xf7 fp=0xc0006d0880 sp=0xc0006d0848 pc=0x4391b7
internal/poll.runtime_pollWait(0x7c1dc4a97e68, 0x72)
/usr/local/go/src/runtime/netpoll.go:345 +0x85 fp=0xc0006d08a0 sp=0xc0006d0880 pc=0x46d7c5
internal/poll.(*pollDesc).wait(0xc00025c300?, 0xc00033e000?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc0006d08c8 sp=0xc0006d08a0 pc=0x4e5007
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00025c300, {0xc00033e000, 0x2000, 0x2000})
/usr/local/go/src/internal/poll/fd_unix.go:164 +0x27a fp=0xc0006d0960 sp=0xc0006d08c8 pc=0x4e62fa
net.(*netFD).Read(0xc00025c300, {0xc00033e000?, 0x0?, 0x10000103180?})
/usr/local/go/src/net/fd_posix.go:55 +0x25 fp=0xc0006d09a8 sp=0xc0006d0960 pc=0x5708e5
net.(*conn).Read(0xc00007c150, {0xc00033e000?, 0xc000103180?, 0x18?})
/usr/local/go/src/net/net.go:185 +0x45 fp=0xc0006d09f0 sp=0xc0006d09a8 pc=0x580be5
net.(*TCPConn).Read(0x17?, {0xc00033e000?, 0xc0007d20f0?, 0x0?})
<autogenerated>:1 +0x25 fp=0xc0006d0a20 sp=0xc0006d09f0 pc=0x591785
github.com/jackc/pgx/v5/pgconn/internal/bgreader.(*BGReader).Read(0xc0002e6d40, {0xc00033e000, 0x2000, 0x2000})
/home/user/go/pkg/mod/github.com/jackc/pgx/v...@v5.6.0/pgconn/internal/bgreader/bgreader.go:100 +0xd7 fp=0xc0006d0a90 sp=0xc0006d0a20 pc=0x9fdcb7
io.ReadAtLeast({0x117d200, 0xc0002e6d40}, {0xc00033e000, 0x2000, 0x2000}, 0x5)
/usr/local/go/src/io/io.go:335 +0x90 fp=0xc0006d0ad8 sp=0xc0006d0a90 pc=0x480030
github.com/jackc/pgx/v5/pgproto3.(*chunkReader).Next(0xc000491530, 0x5)
/home/user/go/pkg/mod/github.com/jackc/pgx/v...@v5.6.0/pgproto3/chunkreader.go:80 +0x291 fp=0xc0006d0b30 sp=0xc0006d0ad8 pc=0x8f6411
github.com/jackc/pgx/v5/pgproto3.(*Frontend).Receive(0xc000317208)
/home/user/go/pkg/mod/github.com/jackc/pgx/v...@v5.6.0/pgproto3/frontend.go:307 +0x3c fp=0xc0006d0bc0 sp=0xc0006d0b30 pc=0x8ff2fc
github.com/jackc/pgx/v5/pgconn.(*PgConn).peekMessage(0xc000316d88)
/home/user/go/pkg/mod/github.com/jackc/pgx/v...@v5.6.0/pgconn/pgconn.go:547 +0x14a fp=0xc0006d0c28 sp=0xc0006d0bc0 pc=0xa0b48a
github.com/jackc/pgx/v5/pgconn.(*PgConn).receiveMessage(0xc000316d88)
/home/user/go/pkg/mod/github.com/jackc/pgx/v...@v5.6.0/pgconn/pgconn.go:567 +0x1c fp=0xc0006d0c80 sp=0xc0006d0c28 pc=0xa0b59c
github.com/jackc/pgx/v5/pgconn.(*MultiResultReader).receiveMessage(0xc000316ea0)
/home/user/go/pkg/mod/github.com/jackc/pgx/v...@v5.6.0/pgconn/pgconn.go:1434 +0x25 fp=0xc0006d0cd0 sp=0xc0006d0c80 pc=0xa12285
github.com/jackc/pgx/v5/pgconn.(*MultiResultReader).NextResult(0xc000316ea0)
/home/user/go/pkg/mod/github.com/jackc/pgx/v...@v5.6.0/pgconn/pgconn.go:1462 +0x4b fp=0xc0006d0da8 sp=0xc0006d0cd0 pc=0xa126eb
github.com/jackc/pgx/v5.(*Conn).execSimpleProtocol(0xd04f80?, {0x1185988?, 0x181b4c0?}, {0xc0006a0000?, 0x1b6d305b1b206d32?}, {0x181b4c0?, 0x4b9465?, 0xc00036e068?})
/home/user/go/pkg/mod/github.com/jackc/pgx/v...@v5.6.0/conn.go:543 +0xb0 fp=0xc0006d0e00 sp=0xc0006d0da8 pc=0xb367d0
github.com/jackc/pgx/v5.(*Conn).exec(0xc000358c60, {0x1185988, 0x181b4c0}, {0xc0006a0000, 0x186}, {0x181b4c0?, 0x2a?, 0x35323b353b000022?})
/home/user/go/pkg/mod/github.com/jackc/pgx/v...@v5.6.0/conn.go:528 +0x558 fp=0xc0006d0ec0 sp=0xc0006d0e00 pc=0xb36558
github.com/jackc/pgx/v5.(*Conn).Exec(0xc000358c60, {0x1185988?, 0x181b4c0?}, {0xc0006a0000, 0x186}, {0x181b4c0, 0x0, 0x0})
/home/user/go/pkg/mod/github.com/jackc/pgx/v...@v5.6.0/conn.go:447 +0x12f fp=0xc0006d0f70 sp=0xc0006d0ec0 pc=0xb35f0f
github.com/jackc/pgx/v5/stdlib.(*Conn).ExecContext(0xc00029c420, {0x1185988, 0x181b4c0}, {0xc0006a0000, 0x186}, {0x181b4c0, 0x0, 0xc0006d10e0?})
/home/user/go/pkg/mod/github.com/jackc/pgx/v...@v5.6.0/stdlib/sql.go:485 +0x248 fp=0xc0006d1020 sp=0xc0006d0f70 pc=0xb45328
database/sql.ctxDriverExec({0x1185988?, 0x181b4c0?}, {0x7c1dc7cc0fc8?, 0xc00029c420?}, {0x0?, 0x0?}, {0xc0006a0000?, 0x0?}, {0x181b4c0, 0x0, ...})
/usr/local/go/src/database/sql/ctxutil.go:31 +0xd7 fp=0xc0006d10a8 sp=0xc0006d1020 pc=0x8b35d7
database/sql.(*DB).execDC.func2()
/usr/local/go/src/database/sql/sql.go:1703 +0x159 fp=0xc0006d1168 sp=0xc0006d10a8 pc=0x8bafb9
database/sql.withLock({0x1180a08, 0xc0002a0120}, 0xc0006d1320)
/usr/local/go/src/database/sql/sql.go:3530 +0x82 fp=0xc0006d11a8 sp=0xc0006d1168 pc=0x8c3b82
database/sql.(*DB).execDC(0x7c1e10188101?, {0x1185988, 0x181b4c0}, 0xc0002a0120, 0x5e8ce0?, {0xc0006a0000, 0x186}, {0x0, 0x0, 0x0})
/usr/local/go/src/database/sql/sql.go:1698 +0x229 fp=0xc0006d13c0 sp=0xc0006d11a8 pc=0x8ba849
database/sql.(*DB).exec(0xc0002a41a0, {0x1185988, 0x181b4c0}, {0xc0006a0000, 0x186}, {0x0, 0x0, 0x0}, 0xf8?)
/usr/local/go/src/database/sql/sql.go:1683 +0xd5 fp=0xc0006d1430 sp=0xc0006d13c0 pc=0x8ba595
database/sql.(*DB).ExecContext.func1(0xd0?)
/usr/local/go/src/database/sql/sql.go:1662 +0x4f fp=0xc0006d1498 sp=0xc0006d1430 pc=0x8ba3af
database/sql.(*DB).retry(0x0?, 0xc0006d1510)
/usr/local/go/src/database/sql/sql.go:1566 +0x42 fp=0xc0006d14e0 sp=0xc0006d1498 pc=0x8b99c2
database/sql.(*DB).ExecContext(0xc000482550?, {0x1185988?, 0x181b4c0?}, {0xc0006a0000?, 0x7?}, {0x0?, 0x0?, 0x0?})
/usr/local/go/src/database/sql/sql.go:1661 +0xc8 fp=0xc0006d1578 sp=0xc0006d14e0 pc=0x8ba2c8
database/sql.(*DB).Exec(...)
/usr/local/go/src/database/sql/sql.go:1675
github.com/program/algorithms.SV_Train(0xc000000540, {{0x0, 0x0, 0x0}, {{0x181b4c0, 0x0, 0x0}, {0xc0002f6180, 0x2, 0x2}, ...}, ...})
/home/user/workspace/product/algorithms/sv.go:34 +0x6bc fp=0xc0006d1cb8 sp=0xc0006d1578 pc=0xba44bc
github.com/program/algorithms.RunTrainingAlgorithm({0xc0003826e0, 0x1e}, _, {{0x0, 0x0, 0x0}, {{0x181b4c0, 0x0, 0x0}, {0xc0002f6180, ...}, ...}, ...})
/home/user/workspace/product/algorithms/training_algorithms.go:73 +0x11d fp=0xc0006d1df0 sp=0xc0006d1cb8 pc=0xba7b7d
github.com/program/tui/screens.TrainingResults.Prepare.func1()
/home/user/workspace/product/tui/screens/training_results.go:79 +0x5c fp=0xc0006d1f50 sp=0xc0006d1df0 pc=0xbcb9bc
github.com/charmbracelet/bubbletea.(*Program).handleCommands.func1.1()
/home/user/go/pkg/mod/github.com/charmbracelet/bubb...@v0.26.4/tea.go:289 +0x29 fp=0xc0006d1fe0 sp=0xc0006d1f50 pc=0x60fa09
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0006d1fe8 sp=0xc0006d1fe0 pc=0x472f01
created by github.com/charmbracelet/bubbletea.(*Program).handleCommands.func1 in goroutine 39
/home/user/go/pkg/mod/github.com/charmbracelet/bubb...@v0.26.4/tea.go:288 +0x139

goroutine 31 gp=0xc000500c40 m=nil [chan receive]:
runtime.gopark(0xc0006f0f08?, 0x2?, 0x90?, 0x20?, 0x100c0006f0e90?)
/usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc0006f0e48 sp=0xc0006f0e28 pc=0x4403ae
runtime.chanrecv(0xc0003d8600, 0xc0006f0f20, 0x1)
/usr/local/go/src/runtime/chan.go:583 +0x3bf fp=0xc0006f0ec0 sp=0xc0006f0e48 pc=0x40c65f
runtime.chanrecv1(0xc00028cae0?, 0xc00028cae0?)
/usr/local/go/src/runtime/chan.go:442 +0x12 fp=0xc0006f0ee8 sp=0xc0006f0ec0 pc=0x40c272
github.com/charmbracelet/bubbletea.Tick.func1()
/home/user/go/pkg/mod/github.com/charmbracelet/bubb...@v0.26.4/commands.go:151 +0x45 fp=0xc0006f0f50 sp=0xc0006f0ee8 pc=0x608f65
github.com/charmbracelet/bubbletea.(*Program).handleCommands.func1.1()
/home/user/go/pkg/mod/github.com/charmbracelet/bubb...@v0.26.4/tea.go:289 +0x29 fp=0xc0006f0fe0 sp=0xc0006f0f50 pc=0x60fa09
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0006f0fe8 sp=0xc0006f0fe0 pc=0x472f01
created by github.com/charmbracelet/bubbletea.(*Program).handleCommands.func1 in goroutine 39
/home/user/go/pkg/mod/github.com/charmbracelet/bubb...@v0.26.4/tea.go:288 +0x139
</details>

Jason E. Aten

unread,
Jul 19, 2024, 9:45:40 PM (2 days ago) Jul 19
to golang-nuts
> Is there an easy way to see if any of my dependencies are using CGO?

You could turn off CGO , with export CGO_ENABLED=0
and then a build should fail if a dependency uses CGO.

Or even faster: you could examine the library dependencies of the final executable and see if the C standard library is linked in.
Run ldd on your executable and look for libraries like these as evidence that CGO was used:

        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fed2a8eb000)

        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fed2a6d3000)

        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fed2a2e2000)



Jason E. Aten

unread,
Jul 19, 2024, 9:56:37 PM (2 days ago) Jul 19
to golang-nuts
There are a number of open bugs that mention the same error that you are seeing


So you could try seeing if the issue reproduces with a different go version, say, go 1.19. (per https://github.com/golang/go/issues/64781 )


Reply all
Reply to author
Forward
0 new messages