Bug 382443

Summary: plasmashell crashes on image drag'n'drop from Telegram onto folder containment
Product: [Plasma] plasmashell Reporter: Alexander Potashev <aspotashev>
Component: Desktop icons & Folder View widgetAssignee: Eike Hein <hein>
Status: RESOLVED WORKSFORME    
Severity: crash CC: nate, plasma-bugs, romerorodriguezcarlosolmo
Priority: NOR    
Version: 5.10.1   
Target Milestone: 1.0   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Alexander Potashev 2017-07-17 23:11:37 UTC
plasmashell crashes on image drag'n'drop from Telegram onto folder containment.


Steps to reproduce:

1. Download and run the official Linux GUI client for Telegram: https://desktop.telegram.org/
2. Send/receive and image in Telegram (you can e.g. send an image to yourself).
3. Configure desktop as a Folder containment.
4. Drag the image from Telegram onto the desktop.
--> plasmashell crashes!

Dolphin does not crash in the same scenario involving Telegram, it just does nothing.


=== plasmashell crash backtrace: ===

Thread 1 "plasmashell" received signal SIGSEGV, Segmentation fault.
0x00007ffff1d6aaf7 in QVariant::toByteArray() const () from /lib64/libQt5Core.so.5
(gdb) bt
#0  0x00007ffff1d6aaf7 in QVariant::toByteArray() const () at /lib64/libQt5Core.so.5
#1  0x00007ffff1d557e8 in QMimeData::data(QString const&) const () at /lib64/libQt5Core.so.5
#2  0x00007ffff09ce663 in KIO::isClipboardDataCut(QMimeData const*) () at /lib64/libKF5KIOWidgets.so.5
#3  0x00007ffff09f784c in KIO::PasteJobPrivate::slotStart() () at /lib64/libKF5KIOWidgets.so.5
#4  0x00007ffff09f7c01 in KIO::PasteJob::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () at /lib64/libKF5KIOWidgets.so.5
#5  0x00007ffff1d5a199 in QObject::event(QEvent*) () at /lib64/libQt5Core.so.5
#6  0x00007ffff2617d9c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#7  0x00007ffff261f3d4 in QApplication::notify(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#8  0x00007ffff1d31b8b in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
#9  0x00007ffff1d33d6b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib64/libQt5Core.so.5
#10 0x00007ffff1d80c73 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQt5Core.so.5
#11 0x00007fffe9cc4247 in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#12 0x00007fffe9cc45e8 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#13 0x00007fffe9cc467c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#14 0x00007ffff1d80cef in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#15 0x00007ffff1d30b8a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#16 0x00007ffff1d387dc in QCoreApplication::exec() () at /lib64/libQt5Core.so.5
#17 0x00005555555713b2 in main ()
(gdb) thread apply all bt

Thread 14 (Thread 0x7fff2fff1700 (LWP 5463)):
#0  0x00007ffff02b3d1a in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007ffff1b8a823 in QWaitCondition::wait(QMutex*, unsigned long) () at /lib64/libQt5Core.so.5
#2  0x00007ffff1b872bf in QThreadPoolThread::run() () at /lib64/libQt5Core.so.5
#3  0x00007ffff1b8a1ee in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#4  0x00007ffff02ad36d in start_thread () at /lib64/libpthread.so.0
#5  0x00007ffff0f71b8f in clone () at /lib64/libc.so.6

Thread 13 (Thread 0x7fff0d98d700 (LWP 5461)):
#0  0x00007ffff0f65a9d in poll () at /lib64/libc.so.6
#1  0x00007fffe9cc4569 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007fffe9cc467c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007ffff1d80cef in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007ffff1d30b8a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007ffff1b85efa in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007fff0f576497 in KCupsConnection::run() () at /lib64/libkcupslib.so
#7  0x00007ffff1b8a1ee in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#8  0x00007ffff02ad36d in start_thread () at /lib64/libpthread.so.0
#9  0x00007ffff0f71b8f in clone () at /lib64/libc.so.6

Thread 12 (Thread 0x7fff164cc700 (LWP 5452)):
#0  0x00007ffff0f65a9d in poll () at /lib64/libc.so.6
#1  0x00007fffe9cc4569 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007fffe9cc467c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007ffff1d80cef in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007ffff1d30b8a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007ffff1b85efa in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007ffff1b8a1ee in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#7  0x00007ffff02ad36d in start_thread () at /lib64/libpthread.so.0
#8  0x00007ffff0f71b8f in clone () at /lib64/libc.so.6

Thread 11 (Thread 0x7fff35453700 (LWP 5448)):
#0  0x00007ffff0f65a9d in poll () at /lib64/libc.so.6
#1  0x00007fffe9cc4569 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007fffe9cc467c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007ffff1d80cef in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007ffff1d30b8a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007ffff1b85efa in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007ffff5792ff6 in QQuickPixmapReader::run() () at /lib64/libQt5Quick.so.5
#7  0x00007ffff1b8a1ee in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#8  0x00007ffff02ad36d in start_thread () at /lib64/libpthread.so.0
#9  0x00007ffff0f71b8f in clone () at /lib64/libc.so.6

Thread 10 (Thread 0x7fff3c7a3700 (LWP 5447)):
#0  0x00007ffff02b381b in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007fff41e80a5b in thread_function () at /usr/lib64/dri/swrast_dri.so
#2  0x00007fff41e808d7 in impl_thrd_routine () at /usr/lib64/dri/swrast_dri.so
#3  0x00007ffff02ad36d in start_thread () at /lib64/libpthread.so.0
#4  0x00007ffff0f71b8f in clone () at /lib64/libc.so.6

Thread 9 (Thread 0x7fff3cfa4700 (LWP 5446)):
#0  0x00007ffff02b381b in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007fff41e80a5b in thread_function () at /usr/lib64/dri/swrast_dri.so
#2  0x00007fff41e808d7 in impl_thrd_routine () at /usr/lib64/dri/swrast_dri.so
#3  0x00007ffff02ad36d in start_thread () at /lib64/libpthread.so.0
#4  0x00007ffff0f71b8f in clone () at /lib64/libc.so.6

Thread 8 (Thread 0x7fff3d7a5700 (LWP 5445)):
---Type <return> to continue, or q <return> to quit---
#0  0x00007ffff02b381b in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007fff41e80a5b in thread_function () at /usr/lib64/dri/swrast_dri.so
#2  0x00007fff41e808d7 in impl_thrd_routine () at /usr/lib64/dri/swrast_dri.so
#3  0x00007ffff02ad36d in start_thread () at /lib64/libpthread.so.0
#4  0x00007ffff0f71b8f in clone () at /lib64/libc.so.6

Thread 7 (Thread 0x7fff3dfa6700 (LWP 5444)):
#0  0x00007ffff02b381b in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007fff41e80a5b in thread_function () at /usr/lib64/dri/swrast_dri.so
#2  0x00007fff41e808d7 in impl_thrd_routine () at /usr/lib64/dri/swrast_dri.so
#3  0x00007ffff02ad36d in start_thread () at /lib64/libpthread.so.0
#4  0x00007ffff0f71b8f in clone () at /lib64/libc.so.6

Thread 6 (Thread 0x7fffc340d700 (LWP 5443)):
#0  0x00007ffff02b381b in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007ffff7865534 in QTWTF::TCMalloc_PageHeap::scavengerThread() () at /lib64/libQt5Script.so.5
#2  0x00007ffff7865579 in  () at /lib64/libQt5Script.so.5
#3  0x00007ffff02ad36d in start_thread () at /lib64/libpthread.so.0
#4  0x00007ffff0f71b8f in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7fffd12f1700 (LWP 5442)):
#0  0x00007ffff0f65a9d in poll () at /lib64/libc.so.6
#1  0x00007fffe9cc4569 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007fffe9cc467c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007ffff1d80cef in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007ffff1d30b8a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007ffff1b85efa in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007ffff4e0b9b5 in QQmlThreadPrivate::run() () at /lib64/libQt5Qml.so.5
#7  0x00007ffff1b8a1ee in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#8  0x00007ffff02ad36d in start_thread () at /lib64/libpthread.so.0
#9  0x00007ffff0f71b8f in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7fffd2be9700 (LWP 5441)):
#0  0x00007ffff0f65a9d in poll () at /lib64/libc.so.6
#1  0x00007fffe9cc4569 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007fffe9cc467c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007ffff1d80cef in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007ffff1d30b8a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007ffff1b85efa in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007ffff4e0b9b5 in QQmlThreadPrivate::run() () at /lib64/libQt5Qml.so.5
#7  0x00007ffff1b8a1ee in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#8  0x00007ffff02ad36d in start_thread () at /lib64/libpthread.so.0
#9  0x00007ffff0f71b8f in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7fffd3fff700 (LWP 5439)):
#0  0x00007ffff0f65a9d in poll () at /lib64/libc.so.6
#1  0x00007fffe9cc4569 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007fffe9cc467c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007ffff1d80cef in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007ffff1d30b8a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007ffff1b85efa in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007ffff1f8b709 in QDBusConnectionManager::run() () at /lib64/libQt5DBus.so.5
#7  0x00007ffff1b8a1ee in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#8  0x00007ffff02ad36d in start_thread () at /lib64/libpthread.so.0
#9  0x00007ffff0f71b8f in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7fffd9cc9700 (LWP 5438)):
#0  0x00007ffff0f65a9d in poll () at /lib64/libc.so.6
#1  0x00007ffff6161c97 in _xcb_conn_wait () at /lib64/libxcb.so.1
---Type <return> to continue, or q <return> to quit---
#2  0x00007ffff6163a8a in xcb_wait_for_event () at /lib64/libxcb.so.1
#3  0x00007fffdd19fb99 in QXcbEventReader::run() () at /lib64/libQt5XcbQpa.so.5
#4  0x00007ffff1b8a1ee in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#5  0x00007ffff02ad36d in start_thread () at /lib64/libpthread.so.0
#6  0x00007ffff0f71b8f in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7fffe3e4b240 (LWP 5434)):
#0  0x00007ffff1d6aaf7 in QVariant::toByteArray() const () at /lib64/libQt5Core.so.5
#1  0x00007ffff1d557e8 in QMimeData::data(QString const&) const () at /lib64/libQt5Core.so.5
#2  0x00007ffff09ce663 in KIO::isClipboardDataCut(QMimeData const*) () at /lib64/libKF5KIOWidgets.so.5
#3  0x00007ffff09f784c in KIO::PasteJobPrivate::slotStart() () at /lib64/libKF5KIOWidgets.so.5
#4  0x00007ffff09f7c01 in KIO::PasteJob::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () at /lib64/libKF5KIOWidgets.so.5
#5  0x00007ffff1d5a199 in QObject::event(QEvent*) () at /lib64/libQt5Core.so.5
#6  0x00007ffff2617d9c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#7  0x00007ffff261f3d4 in QApplication::notify(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#8  0x00007ffff1d31b8b in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
#9  0x00007ffff1d33d6b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib64/libQt5Core.so.5
#10 0x00007ffff1d80c73 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQt5Core.so.5
#11 0x00007fffe9cc4247 in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#12 0x00007fffe9cc45e8 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#13 0x00007fffe9cc467c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#14 0x00007ffff1d80cef in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#15 0x00007ffff1d30b8a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#16 0x00007ffff1d387dc in QCoreApplication::exec() () at /lib64/libQt5Core.so.5
#17 0x00005555555713b2 in main ()
(gdb)
Comment 1 Eike Hein 2017-07-21 17:42:00 UTC
I tried these steps, but Folder View won't actually let me drop a Telegram image ...
Comment 2 Christoph Feck 2019-05-30 18:54:42 UTC
*** Bug 407649 has been marked as a duplicate of this bug. ***
Comment 3 Nate Graham 2020-01-23 17:08:01 UTC
Cannot reproduce with Plasma 5.17.5 or git master and the latest version of Telegram. Can you?
Comment 4 Bug Janitor Service 2020-02-07 04:33:15 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 5 Bug Janitor Service 2020-02-22 04:33:16 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!
Comment 6 Alexander Potashev 2020-03-08 12:48:03 UTC
In 5.17.4 the Folder View containment does not let me drop an image from Telegram. Anyhow, it doesn't crash anymore.