diamondburned/gotk4

Invalid pointer found on stack for glib.timeoutAdd

diamondburned opened this issue · 1 comments

runtime: bad pointer in frame github.com/diamondburned/gotk4/pkg/core/glib.timeoutAdd.func2 at 0xc0003c3a60: 0x13
fatal error: invalid pointer found on stack

runtime stack:
runtime.throw({0x1c7f681, 0x3430b60})
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/panic.go:1198 +0x71 fp=0x7f2712fba0c0 sp=0x7f2712fba090 pc=0x5794d1
runtime.adjustpointers(0x7f2712fba4e0, 0x7f265cb2c880, 0x2aab5c0, {0x2aab5c0, 0x3430b60})
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/stack.go:617 +0x1d0 fp=0x7f2712fba128 sp=0x7f2712fba0c0 pc=0x591690
runtime.adjustframe(0x7f2712fba4e0, 0x7f2712fba5c8)
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/stack.go:659 +0xcc fp=0x7f2712fba1d8 sp=0x7f2712fba128 pc=0x5917ac
runtime.gentraceback(0x0, 0x7f273ee3c901, 0x2, 0xc000c89b00, 0x0, 0x0, 0x7fffffff, 0x1ced3e8, 0x2, 0x0)
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/traceback.go:350 +0xac3 fp=0x7f2712fba548 sp=0x7f2712fba1d8 pc=0x59bfe3
runtime.copystack(0xc0000001a0, 0x2000)
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/stack.go:918 +0x293 fp=0x7f2712fba6f8 sp=0x7f2712fba548 pc=0x591f73
runtime.shrinkstack(0xc0000001a0)
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/stack.go:1199 +0x126 fp=0x7f2712fba718 sp=0x7f2712fba6f8 pc=0x592d46
runtime.newstack()
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/stack.go:1047 +0x39b fp=0x7f2712fba8c8 sp=0x7f2712fba718 pc=0x5923fb
runtime.morestack()
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/asm_amd64.s:461 +0x8b fp=0x7f2712fba8d0 sp=0x7f2712fba8c8 pc=0x5a7bcb

goroutine 1 [running, locked to thread]:
runtime.cgoCheckPointer({0x197c080, 0x13}, {0x0, 0x0})
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/cgocall.go:384 +0x196 fp=0xc0003c3a28 sp=0xc0003c3a20 pc=0x548cd6
github.com/diamondburned/gotk4/pkg/core/glib.timeoutAdd.func2(0x0, 0xc8, 0xc0011ea000)
	/home/diamond/.go/pkg/mod/github.com/diamondburned/gotk4/pkg@v0.0.0-20211129201102-9fd3d063c5bb/core/glib/glib.go:398 +0x52 fp=0xc0003c3a78 sp=0xc0003c3a28 pc=0x668892
github.com/diamondburned/gotk4/pkg/core/glib.timeoutAdd(0xc000a8bc80, 0x0, 0xc001b7c060, {0x1965260, 0xc001c56060})
	/home/diamond/.go/pkg/mod/github.com/diamondburned/gotk4/pkg@v0.0.0-20211129201102-9fd3d063c5bb/core/glib/glib.go:398 +0x7e fp=0xc0003c3ab8 sp=0xc0003c3a78 pc=0x66881e
github.com/diamondburned/gotk4/pkg/core/glib.TimeoutAdd(...)
	/home/diamond/.go/pkg/mod/github.com/diamondburned/gotk4/pkg@v0.0.0-20211129201102-9fd3d063c5bb/core/glib/glib.go:368
github.com/diamondburned/gotk4/pkg/glib/v2.TimeoutAdd(...)
	/home/diamond/.go/pkg/mod/github.com/diamondburned/gotk4/pkg@v0.0.0-20211129201102-9fd3d063c5bb/glib/v2/externglib.go:27
github.com/diamondburned/gotktrix/internal/app/blinker.(*blinker).sync(0xc000a8bc80)
	/home/diamond/Scripts/gotk4/gotktrix/internal/app/blinker/blinker.go:112 +0x9e fp=0xc0003c3af0 sp=0xc0003c3ab8 pc=0x13b0c9e
github.com/diamondburned/gotktrix/internal/app/blinker.New.func1.1.1()
	/home/diamond/Scripts/gotk4/gotktrix/internal/app/blinker/blinker.go:89 +0x1d fp=0xc0003c3b08 sp=0xc0003c3af0 pc=0x13b0bdd
github.com/diamondburned/gotk4/pkg/core/glib.sourceFunc(0x16)
	/home/diamond/.go/pkg/mod/github.com/diamondburned/gotk4/pkg@v0.0.0-20211129201102-9fd3d063c5bb/core/glib/glib.go:306 +0xca fp=0xc0003c3b80 sp=0xc0003c3b08 pc=0x6684aa
_cgoexp_4afcb7e4db35_sourceFunc(0x7f2712fba94c)
	_cgo_gotypes.go:2058 +0x25 fp=0xc0003c3b98 sp=0xc0003c3b80 pc=0x66f7a5
runtime.cgocallbackg1(0x66f780, 0xc000c89d50, 0x0)
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/cgocall.go:306 +0x29a fp=0xc0003c3c68 sp=0xc0003c3b98 pc=0x54893a
runtime.cgocallbackg(0xc0000001a0, 0x300000002, 0xc0000001a0)
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/cgocall.go:232 +0x109 fp=0xc0003c3cf8 sp=0xc0003c3c68 pc=0x548609
runtime.cgocallbackg(0x66f780, 0x7f2712fba94c, 0x0)
	<autogenerated>:1 +0x2f fp=0xc0003c3d20 sp=0xc0003c3cf8 pc=0x5abe4f
runtime.cgocallback(0x548485, 0x18776f0, 0xc000139db0)
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/asm_amd64.s:915 +0xb4 fp=0xc0003c3d48 sp=0xc0003c3d20 pc=0x5a9a94
runtime.systemstack_switch()
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/asm_amd64.s:350 fp=0xc0003c3d50 sp=0xc0003c3d48 pc=0x5a7a80
runtime.cgocall(0x18776f0, 0xc000c89db0)
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/cgocall.go:166 +0x85 fp=0xc0003c3d88 sp=0xc0003c3d50 pc=0x548485
github.com/diamondburned/gotk4/pkg/gio/v2._Cfunc_g_application_run(0x7f2708006100, 0x1, 0x7f270800c3f0)
	_cgo_gotypes.go:3328 +0x4c fp=0xc0003c3db0 sp=0xc0003c3d88 pc=0x6bc6ec
github.com/diamondburned/gotk4/pkg/gio/v2.(*Application).Run.func3(0x7f270800c3f0, 0x57ec70, 0x7f270800c3f0)
	/home/diamond/.go/pkg/mod/github.com/diamondburned/gotk4/pkg@v0.0.0-20211129201102-9fd3d063c5bb/gio/v2/gapplication.go:943 +0x71 fp=0xc0003c3df8 sp=0xc0003c3db0 pc=0x70c3f1
github.com/diamondburned/gotk4/pkg/gio/v2.(*Application).Run(0xc00031f188, {0xc000032210, 0x1c22210, 0x1})
	/home/diamond/.go/pkg/mod/github.com/diamondburned/gotk4/pkg@v0.0.0-20211129201102-9fd3d063c5bb/gio/v2/gapplication.go:943 +0x1be fp=0xc0003c3ec0 sp=0xc0003c3df8 pc=0x70c2de
main.main()
	/home/diamond/Scripts/gotk4/gotktrix/main.go:116 +0x245 fp=0xc0003c3f80 sp=0xc0003c3ec0 pc=0x1863a45
runtime.main()
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/proc.go:255 +0x227 fp=0xc0003c3fe0 sp=0xc0003c3f80 pc=0x57bba7
runtime.goexit()
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/asm_amd64.s:1581 +0x1 fp=0xc0003c3fe8 sp=0xc0003c3fe0 pc=0x5a9ca1

Possible fix: maybe //go:noinline some of the functions inside.

This may have to do with the garbage collector. Further stack traces show GC
workers.