Application: ark (18.4.3) Qt Version: 5.11.1 Frameworks Version: 5.50.0 Operating System: Linux 4.18.0-25-generic x86_64 Distribution: Ubuntu 18.10 -- Information about the crash: Dragging a file from a kio-gdrive mount in Dolphin to a brand new archive causes the crash. In all cases I was dragging a regular image file, not a google app file. Steps to reproduce: * Mount a google drive using kio-gdrive * Launch ark * Create a new archive in ark. I only changed the name, left it at the default of 'zip' * Drag a file from the google drive. Ark will immediately crash. I've also just noticed that using the ark 'Add Files' dialog to add the same file just results in an error message 'You can only select local files'. So it looks like the drag and drop action isn't respecting this limitation properly. The crash can be reproduced every time. -- Backtrace: Application: Ark (ark), signal: Segmentation fault Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [Current thread is 1 (Thread 0x7f70afedb800 (LWP 13861))] Thread 4 (Thread 0x7f70a5044700 (LWP 13871)): #0 0x00007f70b54d46d9 in __GI___poll (fds=0x7f7098004db0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007f70b3458f66 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f70b345908c in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f70b59f815b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007f70b59a516b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007f70b57f40b6 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007f70b4b7b545 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5 #7 0x00007f70b57fdc87 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #8 0x00007f70b4356164 in start_thread (arg=<optimized out>) at pthread_create.c:486 #9 0x00007f70b54e0def in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 3 (Thread 0x7f70a6c87700 (LWP 13868)): #0 futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55cf693fe518) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 #1 __pthread_cond_wait_common (abstime=0x0, mutex=0x55cf693fe4c8, cond=0x55cf693fe4f0) at pthread_cond_wait.c:502 #2 __pthread_cond_wait (cond=0x55cf693fe4f0, mutex=0x55cf693fe4c8) at pthread_cond_wait.c:655 #3 0x00007f70a72e7ebb in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so #4 0x00007f70a72e7c27 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so #5 0x00007f70b4356164 in start_thread (arg=<optimized out>) at pthread_create.c:486 #6 0x00007f70b54e0def in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 2 (Thread 0x7f70ae44d700 (LWP 13864)): #0 0x00007f70b54d46d9 in __GI___poll (fds=0x7f70ae44ccb8, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007f70b322b917 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #2 0x00007f70b322d53a in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #3 0x00007f70af803159 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #4 0x00007f70b57fdc87 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007f70b4356164 in start_thread (arg=<optimized out>) at pthread_create.c:486 #6 0x00007f70b54e0def in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 1 (Thread 0x7f70afedb800 (LWP 13861)): [KCrash Handler] #6 std::__atomic_base<int>::load (__m=std::memory_order_relaxed, this=0x0) at /usr/include/c++/8/bits/atomic_base.h:390 #7 QAtomicOps<int>::load<int> (_q_value=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h:227 #8 QBasicAtomicInteger<int>::load (this=0x0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:103 #9 QtPrivate::RefCount::ref (this=0x0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h:55 #10 QString::QString (other=..., this=0x7ffeb616b320) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:953 #11 Kerfuffle::ReadOnlyArchiveInterface::entryPathsFromDestination (entries=..., destination=<optimized out>, entriesWithoutChildren=0) at ./kerfuffle/archiveinterface.cpp:218 #12 0x00007f70a46ceeef in Ark::Part::slotAddFiles (this=0x7f70a8002e50, filesToAdd=..., destination=0x0, relPath=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h:99 #13 0x00007f70b59cf830 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #14 0x00007f70a46ee77c in ArchiveModel::droppedFiles (this=this@entry=0x55cf697a7af0, _t1=..., _t2=<optimized out>, _t3=...) at ./obj-x86_64-linux-gnu/part/arkpart_autogen/EWIEGA46WW/moc_archivemodel.cpp:276 #15 0x00007f70a46e05aa in ArchiveModel::dropMimeData (this=0x55cf697a7af0, data=<optimized out>, action=<optimized out>, row=<optimized out>, column=-1, parent=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h:255 #16 0x00007f70b5977793 in QAbstractProxyModel::dropMimeData(QMimeData const*, Qt::DropAction, int, int, QModelIndex const&) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #17 0x00007f70b65ad2ec in QAbstractItemView::dropEvent(QDropEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #18 0x00007f70a46ec8e7 in ArchiveView::dropEvent (this=0x55cf697bdce0, event=0x7ffeb616bcf0) at ./part/archiveview.cpp:97 #19 0x00007f70b63a37d8 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #20 0x00007f70b6446e7e in QFrame::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #21 0x00007f70b65b819b in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #22 0x00007f70b66200fb in QTreeView::viewportEvent(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #23 0x00007f70b59a61ab in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #24 0x00007f70b6365491 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #25 0x00007f70b636d9dc in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #26 0x00007f70b59a6499 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #27 0x00007f70b63c0232 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #28 0x00007f70b63c0ece in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #29 0x00007f70b63654a1 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #30 0x00007f70b636cae0 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #31 0x00007f70b59a6499 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #32 0x00007f70b5dacd56 in QGuiApplicationPrivate::processDrop(QWindow*, QMimeData const*, QPoint const&, QFlags<Qt::DropAction>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #33 0x00007f70b5d873eb in QWindowSystemInterface::handleDrop(QWindow*, QMimeData const*, QPoint const&, QFlags<Qt::DropAction>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #34 0x00007f70af831665 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #35 0x00007f70af81d333 in QXcbWindow::handleClientMessageEvent(xcb_client_message_event_t const*) () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #36 0x00007f70af804b43 in QXcbConnection::handleXcbEvent(xcb_generic_event_t*) () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #37 0x00007f70af8054b3 in QXcbConnection::processXcbEvents() () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #38 0x00007f70b59cff92 in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #39 0x00007f70b63654a1 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #40 0x00007f70b636cae0 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #41 0x00007f70b59a6499 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #42 0x00007f70b59a948b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #43 0x00007f70b59f8b23 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #44 0x00007f70b3458d5e in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #45 0x00007f70b3458ff8 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #46 0x00007f70b345908c in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #47 0x00007f70b59f8143 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #48 0x00007f70af894e51 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #49 0x00007f70b59a516b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #50 0x00007f70b59ad2e2 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #51 0x000055cf68e0e4fb in main (argc=<optimized out>, argv=<optimized out>) at ./app/main.cpp:328 [Inferior 1 (process 13861) detached] Possible duplicates by query: bug 409110, bug 385028, bug 384419, bug 372712. Reported using DrKonqi
Created attachment 123190 [details] New crash information added by DrKonqi ark (19.08.1) using Qt 5.13.1 - What I was doing when the application crashed: Trying to add a file inside a .zip using Ark inside kio-gdrive - Unusual behavior I noticed: The app crashed everytime I did the forementioned action - Custom settings of the application: -- Backtrace (Reduced): #6 std::__atomic_base<int>::load (__m=std::memory_order_relaxed, this=0x0) at /usr/include/c++/7/bits/atomic_base.h:396 #7 QAtomicOps<int>::load<int> (_q_value=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h:227 #8 QBasicAtomicInteger<int>::load (this=0x0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:103 [...] #10 QString::QString (other=..., this=0x7ffc8ea2ae68) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:956 #11 Kerfuffle::ReadOnlyArchiveInterface::entryPathsFromDestination (entries=..., destination=<optimized out>, entriesWithoutChildren=0) at ./kerfuffle/archiveinterface.cpp:217
Git commit d4801147cd4ddd40311a9b6a51f8de6324c2e2a3 by Elvis Angelaccio. Committed on 20/10/2019 at 12:41. Pushed by elvisangelaccio into branch 'Applications/19.08'. Prevent drops from non-local URLs Ark can only compress local files. FIXED-IN: 19.08.3 M +7 -0 part/archiveview.cpp https://commits.kde.org/ark/d4801147cd4ddd40311a9b6a51f8de6324c2e2a3
Git commit 79a4f1c6a56108439271522779da28522f906ec2 by Elvis Angelaccio. Committed on 20/10/2019 at 14:59. Pushed by elvisangelaccio into branch 'master'. Improve handling of remote URLs drops Tell the users why they can't drop remote URLs, instead of just blocking the drop event without feedback. M +4 -0 part/archivemodel.cpp M +0 -7 part/archiveview.cpp https://commits.kde.org/ark/79a4f1c6a56108439271522779da28522f906ec2