https://bugs.kde.org/show_bug.cgi?id=467467

            Bug ID: 467467
           Summary: Plasmashell crashes when trying to drag screenshot
                    from notification to application.
    Classification: Plasma
           Product: plasmashell
           Version: 5.27.3
          Platform: Archlinux
                OS: Linux
            Status: REPORTED
          Keywords: drkonqi
          Severity: crash
          Priority: NOR
         Component: general
          Assignee: plasma-b...@kde.org
          Reporter: julians...@gmail.com
                CC: k...@davidedmundson.co.uk
  Target Milestone: 1.0

Application: plasmashell (5.27.3)

Qt Version: 5.15.8
Frameworks Version: 5.104.0
Operating System: Linux 6.2.6-arch1-1 x86_64
Windowing System: Wayland
Distribution: "Arch Linux"
DrKonqi: 5.27.3 [KCrashBackend]

-- Information about the crash:
When I tried to drag a screenshot from a Spectacle notification to a Discord
window, plasmashell crashed.

The reporter is unsure if this crash is reproducible.

-- Backtrace:
Application: Plasma (plasmashell), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = <optimized
out>}
[KCrash Handler]
#6  QMapData<Qt::DropAction, QPixmap>::root() const (this=0x0) at
../../include/QtCore/../../src/corelib/tools/qmap.h:208
#7  QMapData<Qt::DropAction, QPixmap>::findNode(Qt::DropAction const&) const
(akey=<synthetic pointer>: <optimized out>, this=0x0) at
../../include/QtCore/../../src/corelib/tools/qmap.h:287
#8  QMap<Qt::DropAction, QPixmap>::constFind(Qt::DropAction const&) const
(akey=<optimized out>, this=<optimized out>) at
../../include/QtCore/../../src/corelib/tools/qmap.h:852
#9  QDrag::dragCursor(Qt::DropAction) const (this=0x55bdd59fef10,
action=action@entry=Qt::IgnoreAction) at kernel/qdrag.cpp:349
#10 0x00007fe7e357d07e in QBasicDrag::updateCursor(Qt::DropAction)
(this=this@entry=0x55bdd524c700, action=Qt::IgnoreAction) at
kernel/qsimpledrag.cpp:307
#11 0x00007fe7e494117c in
QtWaylandClient::QWaylandDrag::setResponse(QPlatformDropQtResponse const&)
(this=this@entry=0x55bdd524c700, response=...) at
/usr/src/debug/qt5-wayland/qtwayland/src/client/qwaylanddnd.cpp:123
#12 0x00007fe7e494669e in operator() (action=Qt::MoveAction,
accepted=<optimized out>, __closure=<optimized out>) at
/usr/src/debug/qt5-wayland/qtwayland/src/client/qwaylanddatadevice.cpp:140
#13 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<bool,
Qt::DropAction>, void,
QtWaylandClient::QWaylandDataDevice::startDrag(QMimeData*, Qt::DropActions,
QtWaylandClient::QWaylandWindow*)::<lambda(bool, Qt::DropAction)> >::call
(arg=<optimized out>, f=<optimized out>) at
/usr/include/qt/QtCore/qobjectdefs_impl.h:146
#14
QtPrivate::Functor<QtWaylandClient::QWaylandDataDevice::startDrag(QMimeData*,
Qt::DropActions, QtWaylandClient::QWaylandWindow*)::<lambda(bool,
Qt::DropAction)>, 2>::call<QtPrivate::List<bool, Qt::DropAction>, void>
(arg=<optimized out>, f=<optimized out>) at
/usr/include/qt/QtCore/qobjectdefs_impl.h:256
#15
QtPrivate::QFunctorSlotObject<QtWaylandClient::QWaylandDataDevice::startDrag(QMimeData*,
Qt::DropActions, QtWaylandClient::QWaylandWindow*)::<lambda(bool,
Qt::DropAction)>, 2, QtPrivate::List<bool, Qt::DropAction>, void>::impl(int,
QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized
out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>,
ret=<optimized out>) at /usr/include/qt/QtCore/qobjectdefs_impl.h:443
#16 0x00007fe7e30bea71 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
(a=0x7ffc01b9b3b0, r=<optimized out>, this=0x55bddb120d40, this=<optimized
out>, r=<optimized out>, a=<optimized out>) at
../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#17 doActivate<false>(QObject*, int, void**) (sender=0x55bdd7bdc600,
signal_index=5, argv=0x7ffc01b9b3b0) at kernel/qobject.cpp:3923
#18 0x00007fe7e494a9de in
QtWaylandClient::QWaylandDataSource::dndResponseUpdated(bool, Qt::DropAction)
(this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>) at
.moc/moc_qwaylanddatasource_p.cpp:184
#19 0x00007fe7e4949596 in QtWayland::wl_data_source::handle_target(void*,
wl_data_source*, char const*) (data=0x55bdd7bdc610, object=<optimized out>,
mime_type=0x7fe7d403944c "") at
/usr/src/debug/qt5-wayland/build/src/client/qwayland-wayland.cpp:697
#20 0x00007fe7e48354f6 in ffi_call_unix64 () at ../src/x86/unix64.S:104
#21 0x00007fe7e4831f5e in ffi_call_int (cif=cif@entry=0x7ffc01b9b5d0,
fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>,
closure=closure@entry=0x0) at ../src/x86/ffi64.c:673
#22 0x00007fe7e4834b73 in ffi_call (cif=cif@entry=0x7ffc01b9b5d0, fn=<optimized
out>, rvalue=rvalue@entry=0x0, avalue=avalue@entry=0x7ffc01b9b6a0) at
../src/x86/ffi64.c:710
#23 0x00007fe7e53ca645 in wl_closure_invoke
(closure=closure@entry=0x7fe7d4039370, target=<optimized out>,
target@entry=0x55bdd87efe00, opcode=opcode@entry=0, data=<optimized out>,
flags=1) at ../wayland-1.21.0/src/connection.c:1025
#24 0x00007fe7e53cae03 in dispatch_event (display=display@entry=0x55bdd524e7c0,
queue=0x55bdd524e890) at ../wayland-1.21.0/src/wayland-client.c:1595
#25 0x00007fe7e53caffc in dispatch_queue (queue=0x55bdd524e890,
display=0x55bdd524e7c0) at ../wayland-1.21.0/src/wayland-client.c:1741
#26 wl_display_dispatch_queue_pending (display=0x55bdd524e7c0,
queue=0x55bdd524e890) at ../wayland-1.21.0/src/wayland-client.c:1983
#27 0x00007fe7e4922bf6 in QtWaylandClient::QWaylandDisplay::flushRequests()
(this=<optimized out>) at
/usr/src/debug/qt5-wayland/qtwayland/src/client/qwaylanddisplay.cpp:253
#28 0x00007fe7e30b1bb0 in QObject::event(QEvent*) (this=0x55bdd524a520,
e=0x7fe7d0009600) at kernel/qobject.cpp:1347
#29 0x00007fe7e3d78b5c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(this=<optimized out>, receiver=0x55bdd524a520, e=0x7fe7d0009600) at
kernel/qapplication.cpp:3640
#30 0x00007fe7e308df48 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
(receiver=0x55bdd524a520, event=0x7fe7d0009600) at
kernel/qcoreapplication.cpp:1064
#31 0x00007fe7e308dfb3 in QCoreApplication::sendEvent(QObject*, QEvent*)
(receiver=<optimized out>, event=<optimized out>) at
kernel/qcoreapplication.cpp:1462
#32 0x00007fe7e308ea53 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) (receiver=0x0, event_type=0, data=0x55bdd523d670) at
kernel/qcoreapplication.cpp:1821
#33 0x00007fe7e30d4e88 in postEventSourceDispatch(GSource*, GSourceFunc,
gpointer) (s=0x55bdd5263210) at kernel/qeventdispatcher_glib.cpp:277
#34 0x00007fe7e1da4afb in g_main_dispatch (context=0x7fe7d8000ee0) at
../glib/glib/gmain.c:3460
#35 g_main_context_dispatch (context=0x7fe7d8000ee0) at
../glib/glib/gmain.c:4200
#36 0x00007fe7e1e015d9 in g_main_context_iterate.constprop.0
(context=0x7fe7d8000ee0, block=1, dispatch=1, self=<optimized out>) at
../glib/glib/gmain.c:4276
#37 0x00007fe7e1da2382 in g_main_context_iteration (context=0x7fe7d8000ee0,
may_block=1) at ../glib/glib/gmain.c:4343
#38 0x00007fe7e30d8c6c in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x55bdd520f9d0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#39 0x00007fe7e30866ec in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x55bdda60cf60, flags=..., flags@entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:69
#40 0x00007fe7e35748ba in QBasicDrag::drag(QDrag*) (this=0x55bdd524c700,
o=<optimized out>) at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#41 0x00007fe7e3576cc0 in QDragManager::drag(QDrag*) (this=0x55bdda2405c0,
o=o@entry=0x55bdd59fef10) at kernel/qdnd.cpp:117
#42 0x00007fe7e35771bf in QDrag::exec(QFlags<Qt::DropAction>, Qt::DropAction)
(this=0x55bdd59fef10, supportedActions=...,
defaultDropAction=defaultDropAction@entry=Qt::IgnoreAction) at
kernel/qdrag.cpp:283
#43 0x00007fe7e357726c in QDrag::exec(QFlags<Qt::DropAction>) (this=<optimized
out>, supportedActions=...) at kernel/qdrag.cpp:238
#44 0x00007fe7ccc2fac0 in DragHelper::doDrag(QQuickItem*, QUrl const&, QPixmap
const&) (pixmap=..., url=..., item=<optimized out>, this=0x55bdd8e59030) at
/usr/include/qt/QtCore/qflags.h:121
#45 DragHelper::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)
(_o=0x55bdd8e59030, _c=<optimized out>, _id=<optimized out>, _a=<optimized
out>) at
/usr/src/debug/plasma-workspace/build/applets/notifications/org.kde.plasma.notifications_autogen/EWIEGA46WW/moc_draghelper.cpp:119
#46 0x00007fe7e30b1bb0 in QObject::event(QEvent*) (this=0x55bdd8e59030,
e=0x7fe7d00045c0) at kernel/qobject.cpp:1347
#47 0x00007fe7e3d78b5c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(this=<optimized out>, receiver=0x55bdd8e59030, e=0x7fe7d00045c0) at
kernel/qapplication.cpp:3640
#48 0x00007fe7e308df48 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
(receiver=0x55bdd8e59030, event=0x7fe7d00045c0) at
kernel/qcoreapplication.cpp:1064
#49 0x00007fe7e308dfb3 in QCoreApplication::sendEvent(QObject*, QEvent*)
(receiver=<optimized out>, event=<optimized out>) at
kernel/qcoreapplication.cpp:1462
#50 0x00007fe7e308ea53 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) (receiver=0x0, event_type=0, data=0x55bdd523d670) at
kernel/qcoreapplication.cpp:1821
#51 0x00007fe7e30d4e88 in postEventSourceDispatch(GSource*, GSourceFunc,
gpointer) (s=0x55bdd5263210) at kernel/qeventdispatcher_glib.cpp:277
#52 0x00007fe7e1da4afb in g_main_dispatch (context=0x7fe7d8000ee0) at
../glib/glib/gmain.c:3460
#53 g_main_context_dispatch (context=0x7fe7d8000ee0) at
../glib/glib/gmain.c:4200
#54 0x00007fe7e1e015d9 in g_main_context_iterate.constprop.0
(context=0x7fe7d8000ee0, block=1, dispatch=1, self=<optimized out>) at
../glib/glib/gmain.c:4276
#55 0x00007fe7e1da2382 in g_main_context_iteration (context=0x7fe7d8000ee0,
may_block=1) at ../glib/glib/gmain.c:4343
#56 0x00007fe7e30d8c6c in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x55bdd520f9d0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#57 0x00007fe7e30866ec in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7ffc01b9c200,
flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#58 0x00007fe7e3091219 in QCoreApplication::exec() () at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#59 0x00007fe7e3539fe2 in QGuiApplication::exec() () at
kernel/qguiapplication.cpp:1870
#60 0x00007fe7e3d76f2a in QApplication::exec() () at
kernel/qapplication.cpp:2832
#61 0x000055bdd44ce168 in main(int, char**) (argc=<optimized out>,
argv=<optimized out>) at
/usr/src/debug/plasma-workspace/plasma-workspace-5.27.3/shell/main.cpp:235
[Inferior 1 (process 3937) detached]

Reported using DrKonqi

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to