Bug 434157

Summary: Crashes in PreviewJob
Product: [Frameworks and Libraries] frameworks-kio Reporter: Kai Uwe Broulik <kde>
Component: generalAssignee: KIO Bugs <kio-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: crash CC: kdelibs-bugs, nate
Priority: NOR    
Version: git master   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Kai Uwe Broulik 2021-03-08 19:32:21 UTC
SUMMARY
Whenever I take a screenshot in Spectacle with shortcut (Meta+Shift+PrtScr) Plasma crashes in the resulting notification in the previewer

STEPS TO REPRODUCE
1. Take region screenshot with Spectacle using keyboard shortcut

OBSERVED RESULT
Crashes

EXPECTED RESULT
Does not crash

SOFTWARE/OS VERSIONS
KDE Plasma Version: 5.20.80
KDE Frameworks Version: 5.79 git as of 5 March 
Qt Version: 5.15.2

ADDITIONAL INFORMATION
Thread 1 (Thread 0x7f04cb08d2c0 (LWP 40389)):
[KCrash Handler]
#4  __memmove_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:262
#5  0x00007f04cf918f2c in memcpy (__len=56320, __src=0x7f045c0e3000, __dest=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34
#6  QImage::copy(QRect const&) const (this=0x7fffcacd0a10, r=...) at image/qimage.cpp:1182
#7  0x00007f04cea9aaec in KIO::PreviewJobPrivate::slotThumbData(KIO::Job*, QByteArray const&) (this=0x55763e5a1bb0, job=0x55763e418ca0, data=...) at /home/kaiuwe/Projekte/kf5/kio/src/widgets/previewjob.cpp:781
#8  0x00007f04cea9980c in KIO::PreviewJobPrivate::<lambda(KIO::Job*, const QByteArray&)>::operator()(KIO::Job *, const QByteArray &) const (__closure=0x55763c658e60, job=0x55763e418ca0, data=...) at /home/kaiuwe/Projekte/kf5/kio/src/widgets/previewjob.cpp:711
#9  0x00007f04cea9c413 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<KIO::Job*, const QByteArray&>, void, KIO::PreviewJobPrivate::createThumbnail(const QString&)::<lambda(KIO::Job*, const QByteArray&)> >::call(KIO::PreviewJobPrivate::<lambda(KIO::Job*, const QByteArray&)> &, void **) (f=..., arg=0x7fffcacd0c80) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:146
#10 0x00007f04cea9c3c9 in QtPrivate::Functor<KIO::PreviewJobPrivate::createThumbnail(const QString&)::<lambda(KIO::Job*, const QByteArray&)>, 2>::call<QtPrivate::List<KIO::Job*, QByteArray const&>, void>(KIO::PreviewJobPrivate::<lambda(KIO::Job*, const QByteArray&)> &, void *, void **) (f=..., arg=0x7fffcacd0c80) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:256
#11 0x00007f04cea9c397 in QtPrivate::QFunctorSlotObject<KIO::PreviewJobPrivate::createThumbnail(const QString&)::<lambda(KIO::Job*, const QByteArray&)>, 2, QtPrivate::List<KIO::Job*, const QByteArray&>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=1, this_=0x55763c658e50, r=0x55763e5a8ee0, a=0x7fffcacd0c80, ret=0x0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:443
#12 0x00007f04cf51f6be in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fffcacd0c80, r=0x55763e5a8ee0, this=0x55763c658e50) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#13 doActivate<false>(QObject*, int, void**) (sender=0x55763e418ca0, signal_index=25, argv=0x7fffcacd0c80) at kernel/qobject.cpp:3886
#14 0x00007f04cd5dcffa in KIO::TransferJob::data(KIO::Job*, QByteArray const&) (this=0x55763e418ca0, _t1=0x55763e418ca0, _t2=...) at /home/kaiuwe/Projekte/kf5/kio/build/src/core/KF5KIOCore_autogen/include/moc_transferjob.cpp:309
#15 0x00007f04cd5d9cec in KIO::TransferJob::slotData(QByteArray const&) (this=0x55763e418ca0, _data=...) at /home/kaiuwe/Projekte/kf5/kio/src/core/transferjob.cpp:49
#16 0x00007f04cd5df363 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QByteArray const&>, void, void (KIO::TransferJob::*)(QByteArray const&)>::call(void (KIO::TransferJob::*)(QByteArray const&), KIO::TransferJob*, void**) (f=&virtual KIO::TransferJob::slotData(QByteArray const&), o=0x55763e418ca0, arg=0x7fffcacd0ef0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:152
#17 0x00007f04cd5df1ad in QtPrivate::FunctionPointer<void (KIO::TransferJob::*)(QByteArray const&)>::call<QtPrivate::List<QByteArray const&>, void>(void (KIO::TransferJob::*)(QByteArray const&), KIO::TransferJob*, void**) (f=&virtual KIO::TransferJob::slotData(QByteArray const&), o=0x55763e418ca0, arg=0x7fffcacd0ef0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:185
#18 0x00007f04cd5dedaa in QtPrivate::QSlotObject<void (KIO::TransferJob::*)(QByteArray const&), QtPrivate::List<QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x55763e465360, r=0x55763e418ca0, a=0x7fffcacd0ef0, ret=0x0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:418
#19 0x00007f04cf51f6be in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fffcacd0ef0, r=0x55763e418ca0, this=0x55763e465360) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#20 doActivate<false>(QObject*, int, void**) (sender=0x55763e1e6cf0, signal_index=3, argv=0x7fffcacd0ef0) at kernel/qobject.cpp:3886
#21 0x00007f04cd5ad1a8 in KIO::SlaveInterface::data(QByteArray const&) (this=0x55763e1e6cf0, _t1=...) at /home/kaiuwe/Projekte/kf5/kio/build/src/core/KF5KIOCore_autogen/include/moc_slaveinterface.cpp:439
#22 0x00007f04cd5aab3e in KIO::SlaveInterface::dispatch(int, QByteArray const&) (this=0x55763e1e6cf0, _cmd=100, rawdata=...) at /home/kaiuwe/Projekte/kf5/kio/src/core/slaveinterface.cpp:137
#23 0x00007f04cd5aa799 in KIO::SlaveInterface::dispatch() (this=0x55763e1e6cf0) at /home/kaiuwe/Projekte/kf5/kio/src/core/slaveinterface.cpp:78
#24 0x00007f04cd5afaa8 in KIO::Slave::gotInput() (this=0x55763e1e6cf0) at /home/kaiuwe/Projekte/kf5/kio/src/core/slave.cpp:392
#25 0x00007f04cd5b2890 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KIO::Slave::*)()>::call(void (KIO::Slave::*)(), KIO::Slave*, void**) (f=(void (KIO::Slave::*)(class KIO::Slave * const)) 0x7f04cd5afa42 <KIO::Slave::gotInput()>, o=0x55763e1e6cf0, arg=0x7fffcacd1230) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:152
#26 0x00007f04cd5b2757 in QtPrivate::FunctionPointer<void (KIO::Slave::*)()>::call<QtPrivate::List<>, void>(void (KIO::Slave::*)(), KIO::Slave*, void**) (f=(void (KIO::Slave::*)(class KIO::Slave * const)) 0x7f04cd5afa42 <KIO::Slave::gotInput()>, o=0x55763e1e6cf0, arg=0x7fffcacd1230) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:185
#27 0x00007f04cd5b2546 in QtPrivate::QSlotObject<void (KIO::Slave::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x55763e1e69a0, r=0x55763e1e6cf0, a=0x7fffcacd1230, ret=0x0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:418
#28 0x00007f04cf51f6be in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fffcacd1230, r=0x55763e1e6cf0, this=0x55763e1e69a0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#29 doActivate<false>(QObject*, int, void**) (sender=0x55763b815040, signal_index=3, argv=0x7fffcacd1230) at kernel/qobject.cpp:3886
#30 0x00007f04cd53b24d in KIO::Connection::readyRead() (this=0x55763b815040) at /home/kaiuwe/Projekte/kf5/kio/build/src/core/KF5KIOCore_autogen/include/moc_connection_p.cpp:148
#31 0x00007f04cd539eb4 in KIO::ConnectionPrivate::dequeue() (this=0x55763e1e6c30) at /home/kaiuwe/Projekte/kf5/kio/src/core/connection.cpp:31
#32 0x00007f04cd53b050 in KIO::Connection::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x55763b815040, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7f04482fbd58) at /home/kaiuwe/Projekte/kf5/kio/build/src/core/KF5KIOCore_autogen/include/moc_connection_p.cpp:88
#33 0x00007f04cf516239 in QObject::event(QEvent*) (this=0x55763b815040, e=0x7f04482fbd10) at kernel/qobject.cpp:1314
#34 0x00007f04d01e5dc3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x55763a101bd0, receiver=receiver@entry=0x55763b815040, e=e@entry=0x7f04482fbd10) at kernel/qapplication.cpp:3632
#35 0x00007f04d01eebb8 in QApplication::notify(QObject*, QEvent*) (this=0x7fffcacd19e0, receiver=0x55763b815040, e=0x7f04482fbd10) at kernel/qapplication.cpp:3156
#36 0x00007f04cf4e869a in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55763b815040, event=0x7f04482fbd10) at ../../include/QtCore/5.15.2/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325
#37 0x00007f04cf4eafa1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x55763a0f61b0) at kernel/qcoreapplication.cpp:1817
#38 0x00007f04cf543947 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x55763a1e1350) at kernel/qeventdispatcher_glib.cpp:277
#39 0x00007f04cd7c4f9d in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#40 0x00007f04cd7c5220 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#41 0x00007f04cd7c52c3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#42 0x00007f04cf542fa2 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55763a1e3570, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#43 0x00007f04cf4e71ab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffcacd1890, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#44 0x00007f04cf4ef354 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#45 0x0000557639282e5e in  ()
#46 0x00007f04cee870b3 in __libc_start_main (main=0x557639281f10, argc=2, argv=0x7fffcacd1b68, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffcacd1b58) at ../csu/libc-start.c:308
#47 0x0000557639282f8e in  ()
[Inferior 1 (process 40389) detached]
Comment 1 Kai Uwe Broulik 2021-03-08 19:40:47 UTC
Might have been a KIO/kio-extras version mismatch but I now compiled KIO and kio-extras/thumbnail from master and now kdeinit crashes every time instead in a similar place:

Thread 1 (Thread 0x7fb198bc37c0 (LWP 2787)):
[KCrash Handler]
#4  __memmove_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:262
#5  0x00007fb19cd9b061 in memcpy (__len=29184, __src=<optimized out>, __dest=0x7fb194606000) at /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34
#6  ThumbnailProtocol::get (this=0x7ffe1b2ae240, url=...) at /home/kaiuwe/Projekte/kf5/kio-extras/thumbnail/thumbnail.cpp:301
#7  0x00007fb19871a45e in KIO::SlaveBase::dispatch (this=0x7ffe1b2ae240, command=67, data=...) at /home/kaiuwe/Projekte/kf5/kio/src/core/slavebase.cpp:1215
#8  0x00007fb198715883 in KIO::SlaveBase::dispatchLoop (this=0x7ffe1b2ae240) at /home/kaiuwe/Projekte/kf5/kio/src/core/slavebase.cpp:336
#9  0x00007fb19cd97c42 in kdemain (argc=<optimized out>, argv=0x561f5aaaabe0) at /home/kaiuwe/Projekte/kf5/kio-extras/thumbnail/thumbnail.cpp:124
#10 0x0000561f598cc076 in launch (argc=4, _name=0x561f5aaaaad8 "/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/kio/thumbnail.so", args=0x561f5aaaab87 "", cwd=<optimized out>, envc=0, envs=<optimized out>, reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x561f598cf187 "0") at ./src/kdeinit/kinit.cpp:692
#11 0x0000561f598cd4da in handle_launcher_request (sock=8, who=<optimized out>) at ./src/kdeinit/kinit.cpp:1130
#12 0x0000561f598cdeca in handle_requests (waitForPid=0) at ./src/kdeinit/kinit.cpp:1323
#13 0x0000561f598c90ff in main (argc=3, argv=<optimized out>) at ./src/kdeinit/kinit.cpp:1761
[Inferior 1 (process 2787) detached]
Comment 2 Kai Uwe Broulik 2021-03-16 13:29:45 UTC
Getting constant crashes every time a thumbnail is generated, always in a seemingly different place but always with the memmove

Thread 1 (Thread 0x7ff90cff0cc0 (LWP 47665)):
[KCrash Handler]
#4  __memmove_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:262
#5  0x00007ff91140d3d9 in memcpy (__len=54784, __src=<optimized out>, __dest=0x7ff90861d000) at /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34
#6  ThumbnailProtocol::get (this=0x7ffef0acee50, url=...) at ./thumbnail/thumbnail.cpp:306
#7  0x00007ff90cb84ab6 in KIO::SlaveBase::dispatch (this=0x7ffef0acee50, command=67, data=...) at ./src/core/slavebase.cpp:1215
#8  0x00007ff90cb85156 in KIO::SlaveBase::dispatchLoop (this=this@entry=0x7ffef0acee50) at ./src/core/slavebase.cpp:336
#9  0x00007ff911409cc2 in kdemain (argc=<optimized out>, argv=0x55895b97b400) at ./thumbnail/thumbnail.cpp:124
Comment 3 Nate Graham 2021-03-17 23:55:55 UTC

*** This bug has been marked as a duplicate of bug 430862 ***