core icon indicating copy to clipboard operation
core copied to clipboard

Crash when getting monitors

Open kkoreilly opened this issue 10 months ago • 0 comments

Describe the bug

Probably due to a monitor being plugged in while the app was running.

How to reproduce

Try plugging a monitor in while an app is running (probably one that it will switch to as the main monitor).

Example code

No response

Relevant output

Platform: MacOS
System platform: MacOS
App version: v0.0.9-186-g51e6d9742
Core version: v0.0.9-186-g51e6d9742
Time: 2024-04-04 14:55:17

panic: runtime error: index out of range [2] with length 2

goroutine 1 [running, locked to thread]:
runtime/debug.Stack()
	/opt/homebrew/Cellar/go/1.22.1/libexec/src/runtime/debug/stack.go:24 +0x64
cogentcore.org/core/goosi.HandleRecoverBase({0x106492a40, 0x1401fe7cdb0})
	/Users/kaioreilly/cogent/core/goosi/recover.go:49 +0x38
cogentcore.org/core/gi.HandleRecover({0x106492a40, 0x1401fe7cdb0})
	/Users/kaioreilly/cogent/core/gi/recover.go:32 +0x48
cogentcore.org/core/gi.Wait.func1()
	/Users/kaioreilly/cogent/core/gi/renderwin.go:35 +0x34
panic({0x106492a40?, 0x1401fe7cdb0?})
	/opt/homebrew/Cellar/go/1.22.1/libexec/src/runtime/panic.go:770 +0x124
cogentcore.org/core/goosi/driver/desktop.(*App).GetScreens(0x106f145e0)
	/Users/kaioreilly/cogent/core/goosi/driver/desktop/screen.go:80 +0x1464
cogentcore.org/core/goosi/driver/desktop.(*App).MonitorChange(0x106f145e0, 0x106425420?, 0x1400004db01?)
	/Users/kaioreilly/cogent/core/goosi/driver/desktop/screen.go:39 +0xf8
github.com/go-gl/glfw/v3.3/glfw.goMonitorCB(...)
	/Users/kaioreilly/go/pkg/mod/github.com/go-gl/glfw/v3.3/[email protected]/monitor.go:52
github.com/go-gl/glfw/v3.3/glfw._Cfunc_glfwWaitEvents()
	_cgo_gotypes.go:2455 +0x30
github.com/go-gl/glfw/v3.3/glfw.WaitEvents()
	/Users/kaioreilly/go/pkg/mod/github.com/go-gl/glfw/v3.3/[email protected]/window.go:949 +0x1c
cogentcore.org/core/goosi/driver/desktop.(*App).MainLoop(0x106f145e0)
	/Users/kaioreilly/cogent/core/goosi/driver/desktop/app.go:71 +0x10c
cogentcore.org/core/gi.Wait()
	/Users/kaioreilly/cogent/core/gi/renderwin.go:41 +0x58
cogentcore.org/core/gi.(*Stage).Wait(...)
	/Users/kaioreilly/cogent/core/gi/stage.go:311
cogentcore.org/core/gi.(*Body).RunMainWindow(0x1400036c008?)
	/Users/kaioreilly/cogent/core/gi/mainstage.go:41 +0x38
main.main()
	/Users/kaioreilly/cogent/core/examples/demo/demo.go:49 +0x138

Platform

macOS

kkoreilly avatar Apr 04 '24 22:04 kkoreilly