Skip to content

Application crash when fast clicking the folders inside the file dialog #4260

Closed
@alexballas

Description

Checklist

  • I have searched the issue tracker for open issues that relate to the same problem, before opening a new one.
  • This issue only relates to a single bug. I will open new issues for any other problems.

Describe the bug

When I fast click the folders inside the file selection widget, the app crashes

How to reproduce

  • Open Fyne Demo
  • Select Dialogs
  • Select any of the file dialogs (file Open, Folder Open)
  • Start clicking very fast the (Parent) Icon / area.
  • Tha app crashes
alex@cosmo:/dev/shm/fyne/cmd/fyne_demo$ go run main.go 
2023/09/18 11:02:49 Lifecycle: Started
2023/09/18 11:02:49 Lifecycle: Entered Foreground
2023/09/18 11:03:02 Cancelled
2023/09/18 11:03:12 Cancelled
fatal error: sync: RUnlock of unlocked RWMutex

goroutine 16 [running, locked to thread]:
sync.fatal({0xc83529?, 0xc00024f500?})
	/usr/local/go/src/runtime/panic.go:1061 +0x18
sync.(*RWMutex).rUnlockSlow(0xc0000ff8c0, 0x29b098?)
	/usr/local/go/src/sync/rwmutex.go:129 +0x39
sync.(*RWMutex).RUnlock(0xc00236f560?)
	/usr/local/go/src/sync/rwmutex.go:119 +0x25
panic({0xc14700?, 0xc0015041c8?})
	/usr/local/go/src/runtime/panic.go:914 +0x21f
fyne.io/fyne/v2/dialog.(*fileDialog).setView.func3(0x438c32?, {0xdacbe0?, 0xc00024f490?})
	/dev/shm/fyne/dialog/file.go:489 +0x113
fyne.io/fyne/v2/widget.(*gridWrapLayout).setupGridItem(0xc001e17d00, 0xc00024f500, 0x0, 0x60?)
	/dev/shm/fyne/widget/gridwrap.go:528 +0xc6
fyne.io/fyne/v2/widget.(*gridWrapLayout).updateGrid(0xc001e17d00, 0x1)
	/dev/shm/fyne/widget/gridwrap.go:615 +0x5ff
fyne.io/fyne/v2/widget.(*gridWrapLayout).Layout(0x8?, {0xc0023d9410?, 0x6d81cd?, 0xc0039ba8c8?}, {0x42a00000?, 0x42b80000?})
	/dev/shm/fyne/widget/gridwrap.go:480 +0x18
fyne.io/fyne/v2.(*Container).layout(...)
	/dev/shm/fyne/container.go:195
fyne.io/fyne/v2.(*Container).Resize(0xc260c0?, {0xda3330?, 0x0?})
	/dev/shm/fyne/container.go:168 +0x57
fyne.io/fyne/v2/internal/widget.(*scrollContainerRenderer).Layout(0xc001bb8cc0, {0x43a80000, 0x43500000})
	/dev/shm/fyne/internal/widget/scroller.go:276 +0x8a
fyne.io/fyne/v2/internal/widget.(*Base).Resize(0xc00023f490, {0xda6670?, 0x0?})
	/dev/shm/fyne/internal/widget/base.go:59 +0x13b
fyne.io/fyne/v2/internal/widget.(*Scroll).Resize(0xc00023f490, {0xda6670?, 0x0?})
	/dev/shm/fyne/internal/widget/scroller.go:452 +0x36
fyne.io/fyne/v2/widget.(*gridWrapRenderer).Layout(0xdad648?, {0x23d2e70?, 0xc0?})
	/dev/shm/fyne/widget/gridwrap.go:333 +0x17
fyne.io/fyne/v2/widget.(*BaseWidget).Resize(0xc0023d2e70, {0xc68a57?, 0x0?})
	/dev/shm/fyne/widget/widget.go:61 +0x134
fyne.io/fyne/v2/widget.(*GridWrap).Resize(0xc0023d2e70, {0x0?, 0x0?})
	/dev/shm/fyne/widget/gridwrap.go:148 +0x1e
fyne.io/fyne/v2/layout.(*paddedLayout).Layout(0x8?, {0xc001265680, 0x1, 0xc0039ba8c0?}, {0x42b00000?, 0x42c80000?})
	/dev/shm/fyne/layout/paddedlayout.go:21 +0x8d
fyne.io/fyne/v2.(*Container).layout(...)
	/dev/shm/fyne/container.go:195
fyne.io/fyne/v2.(*Container).Resize(0xc260c0?, {0xda3330?, 0x0?})
	/dev/shm/fyne/container.go:168 +0x57
fyne.io/fyne/v2/internal/widget.(*scrollContainerRenderer).Layout(0xc001bb8a20, {0x43ac0000, 0x43580000})
	/dev/shm/fyne/internal/widget/scroller.go:276 +0x8a
fyne.io/fyne/v2/internal/widget.(*Base).Resize(0xc00023f2d0, {0x42000000?, 0x42000000?})
	/dev/shm/fyne/internal/widget/base.go:59 +0x13b
fyne.io/fyne/v2/internal/widget.(*Scroll).Resize(0xc00023f2d0, {0x269cb58?, 0xc0?})
	/dev/shm/fyne/internal/widget/scroller.go:452 +0x36
fyne.io/fyne/v2/layout.(*borderLayout).Layout(0xc001e17f00, {0xc001e17ec0, 0x3, 0xc0023d9798?}, {0x23d9788?, 0xc0?})
	/dev/shm/fyne/layout/borderlayout.go:61 +0x4f3
fyne.io/fyne/v2/internal/driver/common.(*Canvas).updateLayout(0xc0000ff8c0, {0xdab078?, 0xc002464820})
	/dev/shm/fyne/internal/driver/common/canvas.go:603 +0xd1
fyne.io/fyne/v2/internal/driver/common.(*Canvas).EnsureMinSize.func1(0xc002f6e4c0, {0x4365a200?, 0x42d00000?})
	/dev/shm/fyne/internal/driver/common/canvas.go:110 +0xfc
fyne.io/fyne/v2/internal/driver/common.(*Canvas).walkTree.func2({0xdab2b8?, 0xc00023f340?}, {0x2464800?, 0xc0?}, {0xdab078?, 0xc002464820?})
	/dev/shm/fyne/internal/driver/common/canvas.go:520 +0xda
fyne.io/fyne/v2/internal/driver.walkObjectTree({0xdab078, 0xc002464820}, 0x0, {0xdab198, 0xc00023f810}, {0x43e60000?, 0x44200000?}, {0x2639c20?, 0xc0?}, {0xdab378?, ...}, ...)
	/dev/shm/fyne/internal/driver/util.go:199 +0x46d
fyne.io/fyne/v2/internal/driver.walkObjectTree.func1(...)
	/dev/shm/fyne/internal/driver/util.go:178
fyne.io/fyne/v2/internal/driver.walkObjectTree({0xdab198, 0xc00023f810}, 0x0, {0xdab078, 0xc0024649b0}, {0xc5a540?, 0x0?}, {0x2639c08?, 0xc0?}, {0xf8475800?, ...}, ...)
	/dev/shm/fyne/internal/driver/util.go:192 +0x41f
fyne.io/fyne/v2/internal/driver.walkObjectTree.func1(...)
	/dev/shm/fyne/internal/driver/util.go:178
fyne.io/fyne/v2/internal/driver.walkObjectTree({0xdab078, 0xc0024649b0}, 0x0, {0xdac5e0, 0xc00264b780}, {0x23d9b60?, 0xc0?}, {0xa66425?, 0x0?}, {0xc65fb3?, ...}, ...)
	/dev/shm/fyne/internal/driver/util.go:192 +0x41f
fyne.io/fyne/v2/internal/driver.walkObjectTree.func1(...)
	/dev/shm/fyne/internal/driver/util.go:178
fyne.io/fyne/v2/internal/driver.walkObjectTree({0xdac5e0, 0xc00264b780}, 0x0, {0x0, 0x0}, {0x23d9bf0?, 0xc0?}, {0xa79525?, 0x0?}, {0x23d9bd8?, ...}, ...)
	/dev/shm/fyne/internal/driver/util.go:192 +0x41f
fyne.io/fyne/v2/internal/driver.WalkVisibleObjectTree({0xdac5e0?, 0xc00264b780?}, 0xc000340460?, 0xa79500?)
	/dev/shm/fyne/internal/driver/util.go:134 +0x46
fyne.io/fyne/v2/internal/driver/common.(*Canvas).walkTree(0xa602c2?, 0xc00236f560, 0x0, 0xc0023d9d70)
	/dev/shm/fyne/internal/driver/common/canvas.go:526 +0x15f
fyne.io/fyne/v2/internal/driver/common.(*Canvas).WalkTrees(0xc0000ff8c0, 0xc0023d9d68?, 0x42db05?)
	/dev/shm/fyne/internal/driver/common/canvas.go:447 +0xd9
fyne.io/fyne/v2/internal/driver/common.(*Canvas).EnsureMinSize(0xc0000ff8c0)
	/dev/shm/fyne/internal/driver/common/canvas.go:143 +0x150
fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).repaintWindow.func1()
	/dev/shm/fyne/internal/driver/glfw/loop.go:189 +0x2b
fyne.io/fyne/v2/internal/driver/glfw.(*window).RunWithContext(0xc000341d50?, 0xc0023d9e30)
	/dev/shm/fyne/internal/driver/glfw/window.go:922 +0x43
fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).repaintWindow(0x4?, 0x0?)
	/dev/shm/fyne/internal/driver/glfw/loop.go:188 +0x45
fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).drawSingleFrame(0xc0023d9f90?)
	/dev/shm/fyne/internal/driver/glfw/loop.go:95 +0x1a5
fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).startDrawThread.func1()
	/dev/shm/fyne/internal/driver/glfw/loop.go:244 +0x1d5
created by fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).startDrawThread in goroutine 1
	/dev/shm/fyne/internal/driver/glfw/loop.go:220 +0xbb

goroutine 1 [select, locked to thread]:
fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).runGL(0xc000341d50)
	/dev/shm/fyne/internal/driver/glfw/loop.go:115 +0x15c
fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).Run(0xc000341d50)
	/dev/shm/fyne/internal/driver/glfw/driver.go:168 +0x6f
fyne.io/fyne/v2/internal/driver/glfw.(*window).ShowAndRun(0xc0003ce3c0)
	/dev/shm/fyne/internal/driver/glfw/window.go:231 +0x26
main.main()
	/dev/shm/fyne/cmd/fyne_demo/main.go:68 +0x4cd

goroutine 6 [chan receive]:
fyne.io/fyne/v2/test.NewApp.func1()
	/dev/shm/fyne/test/testapp.go:166 +0x45
created by fyne.io/fyne/v2/test.NewApp in goroutine 1
	/dev/shm/fyne/test/testapp.go:164 +0x325

goroutine 7 [IO wait]:
internal/poll.runtime_pollWait(0x7f95146a9b30, 0x72)
	/usr/local/go/src/runtime/netpoll.go:343 +0x85
internal/poll.(*pollDesc).wait(0xc00008a4e0?, 0xc00040fed0?, 0x1)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00008a4e0, {0xc00040fed0, 0x10000, 0x10000})
	/usr/local/go/src/internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	/usr/local/go/src/os/file_posix.go:29
os.(*File).Read(0xc000062140, {0xc00040fed0?, 0x0?, 0x0?})
	/usr/local/go/src/os/file.go:118 +0x52
github.com/fsnotify/fsnotify.(*Watcher).readEvents(0xc000094af0)
	/home/alex/go/pkg/mod/github.com/fsnotify/[email protected]/backend_inotify.go:356 +0xd2
created by github.com/fsnotify/fsnotify.NewWatcher in goroutine 1
	/home/alex/go/pkg/mod/github.com/fsnotify/[email protected]/backend_inotify.go:150 +0x186

goroutine 8 [chan receive]:
fyne.io/fyne/v2/app.watchFile.func1()
	/dev/shm/fyne/app/settings_desktop.go:43 +0x66
created by fyne.io/fyne/v2/app.watchFile in goroutine 1
	/dev/shm/fyne/app/settings_desktop.go:42 +0xf8

goroutine 10 [chan receive]:
github.com/godbus/dbus/v5.newConn.func1()
	/home/alex/go/pkg/mod/github.com/godbus/dbus/[email protected]/conn.go:303 +0x2c
created by github.com/godbus/dbus/v5.newConn in goroutine 1
	/home/alex/go/pkg/mod/github.com/godbus/dbus/[email protected]/conn.go:302 +0x4f6

goroutine 18 [IO wait]:
internal/poll.runtime_pollWait(0x7f95146a9a38, 0x72)
	/usr/local/go/src/runtime/netpoll.go:343 +0x85
internal/poll.(*pollDesc).wait(0xc0000c3880?, 0xc0012803d0?, 0x0)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).ReadMsg(0xc0000c3880, {0xc0012803d0, 0x10, 0x10}, {0xc0003b0620, 0x1000, 0x1000}, 0x14?)
	/usr/local/go/src/internal/poll/fd_unix.go:301 +0x38a
net.(*netFD).readMsg(0xc0000c3880, {0xc0012803d0?, 0xc001380600?, 0x1490498?}, {0xc0003b0620?, 0xc001280170?, 0xc001280172?}, 0xc00128016c?)
	/usr/local/go/src/net/fd_posix.go:78 +0x31
net.(*UnixConn).readMsg(0xc000062158, {0xc0012803d0?, 0xc001380600?, 0xda12e0?}, {0xc0003b0620?, 0xdaa470?, 0x1bcbe60?})
	/usr/local/go/src/net/unixsock_posix.go:115 +0x45
net.(*UnixConn).ReadMsgUnix(0xc000062158, {0xc0012803d0?, 0x0?, 0x0?}, {0xc0003b0620?, 0x436845?, 0xc0012a4510?})
	/usr/local/go/src/net/unixsock.go:143 +0x36
github.com/godbus/dbus/v5.(*oobReader).Read(0xc0003b0600, {0xc0012803d0?, 0xc0001a1e00?, 0x436bc5?})
	/home/alex/go/pkg/mod/github.com/godbus/dbus/[email protected]/transport_unix.go:21 +0x3c
io.ReadAtLeast({0xda17e0, 0xc0003b0600}, {0xc0012803d0, 0x10, 0x10}, 0x10)
	/usr/local/go/src/io/io.go:335 +0x90
io.ReadFull(...)
	/usr/local/go/src/io/io.go:354
github.com/godbus/dbus/v5.(*unixTransport).ReadMessage(0xc0000133e0)
	/home/alex/go/pkg/mod/github.com/godbus/dbus/[email protected]/transport_unix.go:91 +0xfe
github.com/godbus/dbus/v5.(*Conn).inWorker(0xc0001fd4a0)
	/home/alex/go/pkg/mod/github.com/godbus/dbus/[email protected]/conn.go:390 +0x43
created by github.com/godbus/dbus/v5.(*Conn).Auth in goroutine 1
	/home/alex/go/pkg/mod/github.com/godbus/dbus/[email protected]/auth.go:118 +0x945

goroutine 67 [chan receive]:
fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).catchTerm(0x0?)
	/dev/shm/fyne/internal/driver/glfw/driver_desktop.go:172 +0x85
created by fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).Run in goroutine 1
	/dev/shm/fyne/internal/driver/glfw/driver.go:167 +0x65

goroutine 12 [IO wait]:
internal/poll.runtime_pollWait(0x7f95146a9940, 0x72)
	/usr/local/go/src/runtime/netpoll.go:343 +0x85
internal/poll.(*pollDesc).wait(0xc00008a6c0?, 0xc00050fed0?, 0x1)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00008a6c0, {0xc00050fed0, 0x10000, 0x10000})
	/usr/local/go/src/internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	/usr/local/go/src/os/file_posix.go:29
os.(*File).Read(0xc000062168, {0xc00050fed0?, 0x0?, 0x0?})
	/usr/local/go/src/os/file.go:118 +0x52
github.com/fsnotify/fsnotify.(*Watcher).readEvents(0xc000094cd0)
	/home/alex/go/pkg/mod/github.com/fsnotify/[email protected]/backend_inotify.go:356 +0xd2
created by github.com/fsnotify/fsnotify.NewWatcher in goroutine 1
	/home/alex/go/pkg/mod/github.com/fsnotify/[email protected]/backend_inotify.go:150 +0x186

goroutine 13 [chan receive]:
fyne.io/fyne/v2/app.watchFile.func1()
	/dev/shm/fyne/app/settings_desktop.go:43 +0x66
created by fyne.io/fyne/v2/app.watchFile in goroutine 1
	/dev/shm/fyne/app/settings_desktop.go:42 +0xf8

goroutine 14 [chan receive]:
fyne.io/fyne/v2/app.watchFreedekstopThemeChange()
	/dev/shm/fyne/app/app_xdg.go:194 +0x1c5
created by fyne.io/fyne/v2/app.watchTheme in goroutine 1
	/dev/shm/fyne/app/app_xdg.go:166 +0x1a

goroutine 34 [select]:
fyne.io/fyne/v2/internal/async.(*UnboundedFuncChan).processing(0xc0003971d0)
	/dev/shm/fyne/internal/async/chan_func.go:45 +0xd5
created by fyne.io/fyne/v2/internal/async.NewUnboundedFuncChan in goroutine 1
	/dev/shm/fyne/internal/async/chan_func.go:22 +0xe5

goroutine 35 [chan receive]:
fyne.io/fyne/v2/internal/driver/common.(*Window).RunEventQueue(0x0?)
	/dev/shm/fyne/internal/driver/common/window.go:34 +0x47
created by fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).createWindow.func1 in goroutine 1
	/dev/shm/fyne/internal/driver/glfw/window.go:959 +0x139

goroutine 36 [chan receive]:
fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).refreshSystrayMenu.func1()
	/dev/shm/fyne/internal/driver/glfw/driver_desktop.go:139 +0x34
created by fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).refreshSystrayMenu in goroutine 1
	/dev/shm/fyne/internal/driver/glfw/driver_desktop.go:138 +0xee

goroutine 37 [select]:
fyne.io/fyne/v2/internal/async.(*UnboundedFuncChan).processing(0xc0004869c0)
	/dev/shm/fyne/internal/async/chan_func.go:45 +0xd5
created by fyne.io/fyne/v2/internal/async.NewUnboundedFuncChan in goroutine 1
	/dev/shm/fyne/internal/async/chan_func.go:22 +0xe5

goroutine 38 [runnable]:
syscall.Syscall(0x48b2f9?, 0x476aa9?, 0x80?, 0xbcc8c0?)
	/usr/local/go/src/syscall/syscall_linux.go:69 +0x25
syscall.Close(0x4ae965?)
	/usr/local/go/src/syscall/zsyscall_linux_amd64.go:320 +0x25
internal/poll.(*SysFile).destroy(...)
	/usr/local/go/src/internal/poll/fd_unixjs.go:24
internal/poll.(*FD).destroy(0xc002650240)
	/usr/local/go/src/internal/poll/fd_unix.go:81 +0x51
internal/poll.(*FD).decref(0xc000390690?)
	/usr/local/go/src/internal/poll/fd_mutex.go:213 +0x53
internal/poll.(*FD).Close(0xc002650240)
	/usr/local/go/src/internal/poll/fd_unix.go:104 +0x45
os.(*file).close(0xc002650240)
	/usr/local/go/src/os/file_unix.go:315 +0x98
os.(*File).Close(0xc002370000?)
	/usr/local/go/src/os/file_posix.go:23 +0x1b
os.ReadDir({0xd9e01c?, 0xc0031ce000?})
	/usr/local/go/src/os/dir.go:124 +0x18d
fyne.io/fyne/v2/internal/repository.(*FileRepository).List(0x7f9514672e60?, {0x7f9514672e60?, 0xc001265d00?})
	/dev/shm/fyne/internal/repository/file.go:218 +0x45
fyne.io/fyne/v2/storage.List({0x7f9514672e60, 0xc001265d00})
	/dev/shm/fyne/storage/uri.go:479 +0x4f
fyne.io/fyne/v2/storage.(*legacyListable).List(0x9b4289?)
	/dev/shm/fyne/storage/file.go:47 +0x1d
fyne.io/fyne/v2/dialog.(*fileDialog).refreshDir(0xc001bd3880, {0xdaeb20, 0xc0014f8a80})
	/dev/shm/fyne/dialog/file.go:339 +0x76
fyne.io/fyne/v2/dialog.(*fileDialog).setLocation(0xc001bd3880, {0x7f9514672e60, 0xc001265d00})
	/dev/shm/fyne/dialog/file.go:452 +0x716
fyne.io/fyne/v2/dialog.(*fileDialog).makeUI.func7(0x9f7666?)
	/dev/shm/fyne/dialog/file.go:225 +0x39
fyne.io/fyne/v2/widget.(*List).Select.func1()
	/dev/shm/fyne/widget/list.go:212 +0x57
fyne.io/fyne/v2/widget.(*List).Select(0xc000ccd5c0, 0x1)
	/dev/shm/fyne/widget/list.go:217 +0x184
fyne.io/fyne/v2/dialog.(*fileDialog).setLocation(0xc001bd3880, {0xdab1f8, 0xc0023b0ff0})
	/dev/shm/fyne/dialog/file.go:394 +0x1c6
fyne.io/fyne/v2/dialog.(*fileDialog).setSelected(0xc001bd3880, {0xdab1f8, 0xc0023b0ff0}, 0x0)
	/dev/shm/fyne/dialog/file.go:460 +0x170
fyne.io/fyne/v2/dialog.(*fileDialog).setView.func4(0x9f7666?)
	/dev/shm/fyne/dialog/file.go:496 +0x45
fyne.io/fyne/v2/widget.(*GridWrap).Select.func1()
	/dev/shm/fyne/widget/gridwrap.go:172 +0x57
fyne.io/fyne/v2/widget.(*GridWrap).Select(0xc0023d2e70, 0x0)
	/dev/shm/fyne/widget/gridwrap.go:177 +0x184
fyne.io/fyne/v2/widget.(*gridWrapLayout).setupGridItem.func1()
	/dev/shm/fyne/widget/gridwrap.go:538 +0x96
fyne.io/fyne/v2/widget.(*gridWrapItem).Tapped(0xc00024f500, 0xc001aa4901)
	/dev/shm/fyne/widget/gridwrap.go:421 +0x33
fyne.io/fyne/v2/internal/driver/glfw.(*window).mouseClickedHandleTapDoubleTap.func1()
	/dev/shm/fyne/internal/driver/glfw/window.go:649 +0x22
fyne.io/fyne/v2/internal/driver/common.(*Window).RunEventQueue(0x0?)
	/dev/shm/fyne/internal/driver/common/window.go:35 +0x38
created by fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).createWindow.func1 in goroutine 1
	/dev/shm/fyne/internal/driver/glfw/window.go:959 +0x139

goroutine 69 [syscall]:
os/signal.signal_recv()
	/usr/local/go/src/runtime/sigqueue.go:152 +0x29
os/signal.loop()
	/usr/local/go/src/os/signal/signal_unix.go:23 +0x13
created by os/signal.Notify.func1.1 in goroutine 67
	/usr/local/go/src/os/signal/signal.go:151 +0x1f

goroutine 52 [chan receive]:
fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).refreshSystrayMenu.func1()
	/dev/shm/fyne/internal/driver/glfw/driver_desktop.go:139 +0x34
created by fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).refreshSystrayMenu in goroutine 15
	/dev/shm/fyne/internal/driver/glfw/driver_desktop.go:138 +0xee

goroutine 53 [chan receive]:
fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).refreshSystrayMenu.func1()
	/dev/shm/fyne/internal/driver/glfw/driver_desktop.go:139 +0x34
created by fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).refreshSystrayMenu in goroutine 15
	/dev/shm/fyne/internal/driver/glfw/driver_desktop.go:138 +0xee

goroutine 40 [select]:
fyne.io/systray.stayRegistered()
	/home/alex/go/pkg/mod/fyne.io/[email protected]/systray_unix.go:266 +0x2af
created by fyne.io/systray.nativeStart in goroutine 1
	/home/alex/go/pkg/mod/fyne.io/[email protected]/systray_unix.go:230 +0xbbc
exit status 2

Screenshots

2023-09-17_20-37-18.mp4

Example code

No code. Replicated with Fyne Demo

Fyne version

v2.4.0

Go compiler version

1.21.1

Operating system and version

Ubuntu 18.04

Additional Information

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    blockerItems that would block a forthcoming releasebugSomething isn't working

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions