-
Notifications
You must be signed in to change notification settings - Fork 112
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mysterious Crash #397
Comments
Yet another rare crash related to libfm (a coredump I saw a few minutes ago), whose trace I add for reference:
|
I think (the new?) libfm has a bug:
Will investigate the situation. |
This is a shot in the dark to prevent rare crashes (lxqt/pcmanfm-qt#397).
Since I opened this issue, I've found 8 coredumps with the same trace as in #397 (comment) -- but nothing else. It's always about |
A wild guess: this may be related to the new C++ wrappers of libfm-qt (mimetype.h). EDIT1. EDIT2. My theory (may be wrong): The |
@tsujan Thank you for tracking this. I have no idea (yet).
|
@tsujan BTW I think you might be right. This looks like ref counting issue of FmMimeType. :-( |
@PCMan |
@PCMan |
@tsujan I spent two hours on this but I'm not able to reproduce the crash. :-( |
@tsujan About the "fm_file_info_get_path" crash, I still don't have an idea. Debugging now. |
@tsujan not able to reproduce the bug yet. :-( |
@PCMan File creation and deletion are frequent in my daily usage (because of programming). I'll remove all C++ wrappers to see if the crash happens without them and will report the result P.S. It may take a while because of the random nature of crashes. |
@PCMan Although it may sound strange, the crash may be related to changing wallpaper. This time, I saw this line too:
That explains why others don't see the crash because I have a startup bash script that changes wallpaper once an hour with I don't know how changing wallpaper may cause a crash, especially a mimetype related one, but I'll investigate it. |
At last found an easy way to make pcmanfm-qt crash: In a terminal, enter @ everyone, A confirmation of this crash would be appreciated. |
@PCMan When the program exits immediately without doing anything, as is the case with setting a wallpapaer that's already set, This situation started to exist only after lxde/libfm@bfbd882. If libfm is downgraded to a commit before it, no crash will happen. More specifically, if Anyway, there's no mechanism to guarantee that EDIT1: I tested on an old computer and saw that if CPU was busy, coredumping might not happen. This shows that it's a matter of timing. IMHO, we need a way to call EDIT2: I succeeded in fixing the crash by using a function " |
If `_fm_file_info_finalize()` and `_fm_mime_type_finalize()` are called "immediately" after initialization, some FmFileInfo functions might still be called and so, a crash might happen (see lxqt/pcmanfm-qt#397 and especially, lxqt/pcmanfm-qt#397 (comment)). This commit is a hack rather than a nice solution.
This is a shot in the dark to prevent rare crashes (lxqt/pcmanfm-qt#397).
This is a shot in the dark to prevent rare crashes (lxqt/pcmanfm-qt#397).
@PCMan, could you replace lxde/libfm@2321195 with a more fundamental method? Please also see #397 (comment). |
Deleting folders/files sometimes crashes pcman (0.11.3 and 0.11.2 before that) on an Arch/Fluxbox system with Qt (5.8) theme set by qt5ct if that matters. I've seen the same issue with pcman-gtk as well. Not sure if I've managed to get a proper backtrace but here it is:
|
@AcarBurak Thanks! I think the single cause of all such crashes is what I explained at lxde/libfm#19. That PR could prevent most of them but a more fundamental approach is needed. |
Would you care to elaborate a bit about the kind of "more fundamental approach"? Just curious. |
libfm should be finalized only when none of its functions is called or, said in another way, libfm functions should return immediately if libfm is finalized. There's no mechanism fo that yet. lxde/libfm#19 just makes some functions return immediately when finalization is done. I've seen no crash in pcmanfm-qt with it but a crash happened in lximage-qt recently. |
All right, thank you. It's out of my very limited understanding. I was wondering if it's anything to do with a possible gtk cruft inheritance! |
libfm itself (not libfm-gtkX) doesn't have any gtk dependency. It depends only on glib. |
Yes, I know, but glib is developed by GTK guys, is it not? Though almost everything depends on it. |
Yes but it's so fundamental that it isn't (and, perhaps, can't be) affected by their annoying decisions, as far as I know |
FWIW I've also seen sporadic crashes of PCManFM-Qt due to deleting files. Unfortunately I forgot to save the traces before they were automatically scrubbed from the disk so cannot provide any really helpful information. The crashes never took place when the files were deleted from within PCManFM-Qt itself but only when they were deleted by another application, e. g. a command invoked in a terminal emulator, while PCManFM-Qt was displaying the corresponding folder. (@AcarBurak Is this the context you've been seeing the crashes in #451 as well or did the crashes take place when you were deleting from PCManFM-Qt's GUI itself?) Btw. a similar problem has already been addressed in #70. |
Crashes occur randomly when I delete something from pcman gui itself. |
Seemingly the same issue with the pcman gtk version: |
Running libfm 1.2.5, lxqt/libfm-qt@e3e2839 and 1d38bbd on Arch Linux I can not reproduce this crash. Invoking |
I think all such problems are fixed by lxqt/libfm-qt#63 but I leave this issue open for now. |
Fixed by C++ 11 port (the latest libfm-qt and pcmanfm-qt). |
Apparently it's related to libfm:
I haven't found a way to reproduce it yet.
The text was updated successfully, but these errors were encountered: