lxqt / pcmanfm-qt

File manager and desktop icon manager (Qt port of PCManFM and libfm)
https://lxqt-project.org
GNU General Public License v2.0
424 stars 112 forks source link

SIGSEGV when dragging a file to another application #620

Closed Exagone313 closed 6 years ago

Exagone313 commented 6 years ago
Expected Behavior

When a file is dragged to another application, it acts accordingly.

Current Behavior

When a file is dragged to another application, it segfaults when is it dropped.

Steps to Reproduce (for bugs)
  1. Open pcmanfm-qt
  2. Drag a file to another application (e.g. VLC Media Player or Filezilla)
System Information
gdb output
gdb -- pcmanfm-qt
GNU gdb (GDB) 8.0.1
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: (...)
(gdb) run
Starting program: /usr/bin/pcmanfm-qt 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7fffea309700 (LWP 15789)]
[New Thread 0x7fffe0a79700 (LWP 15790)]
[New Thread 0x7fffdbfff700 (LWP 15791)]
[New Thread 0x7fffdb7fe700 (LWP 15792)]
[New Thread 0x7fffdaffd700 (LWP 15794)]
isPrimaryInstance
[New Thread 0x7fffd92e0700 (LWP 15796)]
[New Thread 0x7fffd8adf700 (LWP 15797)]
[New Thread 0x7fffc3fff700 (LWP 15798)]
[New Thread 0x7fffb8580700 (LWP 15799)]
[Thread 0x7fffd92e0700 (LWP 15796) exited]
[Thread 0x7fffc3fff700 (LWP 15798) exited]
[New Thread 0x7fffc3fff700 (LWP 15800)]
[Thread 0x7fffd8adf700 (LWP 15797) exited]
[Thread 0x7fffc3fff700 (LWP 15800) exited]
[New Thread 0x7fffc3fff700 (LWP 15801)]
FolderModel::supportedDropActions
FolderModel::mimeTypes
FolderModel::mimeData
FolderModel::supportedDropActions
FolderModel::mimeTypes
FolderModel::supportedDropActions
FolderModel::supportedDropActions
FolderModel::mimeTypes
drag move
FolderModel::supportedDropActions
FolderModel::supportedDropActions
FolderModel::mimeTypes
  --- (drag move repeated a lot) ---
drag move
[New Thread 0x7fffd8adf700 (LWP 15803)]
[Thread 0x7fffd8adf700 (LWP 15803) exited]
FolderModel::supportedDropActions
FolderModel::supportedDropActions
FolderModel::mimeTypes
drag move
FolderModel::supportedDropActions
FolderModel::supportedDropActions
FolderModel::mimeTypes
 --- (drag move repeated a lot) ---
drag move
drag leave

Thread 1 "pcmanfm-qt" received signal SIGSEGV, Segmentation fault.
0x00007ffff63a6610 in QDrag::mimeData() const () from /usr/lib/libQt5Gui.so.5
tsujan commented 6 years ago

Can't reproduce a crash with VLC or SMPlayer on DNDing from pcmanfm-qt -- actually, I do that a lot to play audio/video.

If Qt is upgraded to v5.10 but libfm-qt and pcmanfm-qt aren't recompiled against it, there's a chance that the crash you see is caused by that. Please first recompile/install libfm-qt, then pcmanfm-qt, and, finally, restart pcmanfm-qt!

If you've done the recompilation and it still crashes, a backtrace will be needed. Make pcmanfm-qt crash and then:

coredumpctl gdb pcmanfm-qt
where

Please attach what comes after where!

agaida commented 6 years ago

s/there are chances/it will crash - and please don't forget lxqt-qtplugin, because qtxdg, fm-qt and qtplugin need a matching virtual qt abi - additional to that qtplugin is the part of LXQt that uses private Qt things - and at least these can and will change with every qt release

Exagone313 commented 6 years ago

Yes, I see that all lxqt packages in Arch Linux haven't been rebuilt with that Qt release. Will try to compile manually.

jleclanche commented 6 years ago

Rebuilding for Arch, should be fine once it's out.