fyne-io / fyne

Cross platform GUI toolkit in Go inspired by Material Design
https://fyne.io/
Other
24.98k stars 1.38k forks source link

Fyne app freezes with file dialog in /dev/ #4645

Open codesoap opened 8 months ago

codesoap commented 8 months ago

Checklist

Describe the bug

I have a FialeDialog (doesn't matter if created with NewFileOpen or NewFileSave). When I navigate to the /dev/ directory on my Debain Linux and scroll down (doesn't matter if I use the scrollwheel of my mouse or the handlebar at the right side) the application freezes forever once I reach the row with the files entries mapper, media0, mem, and net. The row after that would have contained the entries null, nvram, port and ppp, the row after that psaux, ptmx, pts and random.

How to reproduce

Run go run fyne.io/fyne/v2/cmd/fyne_demo@v2.4.4, go to "Dialogs", click "File Save", go to /dev and scroll down until the app freezes.

Screenshots

This is where it froze:

freeze

Example code

not applicable

Fyne version

2.4.4

Go compiler version

1.22.0

Operating system and version

MX Linux, I believe version 21; it's basically Debian

Additional Information

No response

andydotxyz commented 8 months ago

Is the CPU usage high, or low? This could be some sort of tight loop or it could be a deadlock. If it is the former a CPU profile would help. If it's the latter can you please provide a debug stack trace so we can see what locked up?

codesoap commented 8 months ago

Thanks for the quick response. CPU usage is not high. How do I get a debug stack trace?

codesoap commented 8 months ago

I have obtained a backtrace with the delve debugger. Is this what you were looking for?

(dlv) bt
0  0x0000000000481603 in runtime.futex
   at /usr/local/go/src/runtime/sys_linux_amd64.s:558
1  0x0000000000444c10 in runtime.futexsleep
   at /usr/local/go/src/runtime/os_linux.go:69
2  0x00000000004171dd in runtime.notesleep
   at /usr/local/go/src/runtime/lock_futex.go:170
3  0x000000000044e35e in runtime.mPark
   at /usr/local/go/src/runtime/proc.go:1761
4  0x0000000000450239 in runtime.stoplockedm
   at /usr/local/go/src/runtime/proc.go:3026
5  0x000000000045203a in runtime.schedule
   at /usr/local/go/src/runtime/proc.go:3847
6  0x000000000045268a in runtime.park_m
   at /usr/local/go/src/runtime/proc.go:4036
7  0x000000000047d7ee in runtime.mcall
   at /usr/local/go/src/runtime/asm_amd64.s:458