When opening a directory and selecting an empty area, libfm segfaults, and then pcmanfm crashes
When running in gdb, pcmanfm is still running after libfm crashed, but it doesn't respond and also doesn't update window contents.
You seem to have CSS turned off.
Please don't fill out this field.
I've used pcmanfm version 0.9.8-6 and libfm 0.1.14-5 from archlinux repo.
I'll try to fix this before 1.0 release, but there is no guarantee since till now I'm not able to reproduce the bug here.
The backtrace included did not provide diagnostic information.
I repeated your test case for many times and there is no crash.
I think it has been fixed in git.
Please test the latest source code in git repo.
If the bug still exists, open this bug again.
Sorry for not giving attention to this report.
I can still reproduce the bug in 1.0.
I select an empty area while the directory is being loaded and when it would finish loading, instead of showing contents, it segfaults.
Tried strace on it, and this showed up on the end as many times as many items I would have selected:
recv(3, 0x9678ba0, 4096, 0) = -1 EAGAIN (Resource temporarily unavailable)
I've tried with git version and it's still there.
Steps to reproduce:
- Open pcmanfm
- Navigate to a huge directory (in terms of number of files and directories) like /usr/bin
- Select an area while it's loading (you're late if you select that area when content are loaded but still not drawn, this lasts for maybe 0.1s for me)
The program exits with segmentation fault.
This may not be a problem however, because no one wants to select anything while no content are loaded, but it's a bug.
Thank you very much for detailed description. It segfaults in exo_icon_view_update_rubberband_selection function. When it's folder with 50000 files then that takes a little more than 0.1s so can be caught more easily.
We hope this issue is completely fixed in the Git repository recently.
Check it out when it's possible for you and if the bug still exists then reopen the report, please.
Thank you very much.
I confirm that it's fixed in git. Thanks!