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

            Bug ID: 472313
           Summary: Spectacle Crashes When Dragging Captured Image Into
                    Google Chat in Firefox
    Classification: Applications
           Product: Spectacle
           Version: 23.04.2
          Platform: Compiled Sources
                OS: Linux
            Status: REPORTED
          Keywords: drkonqi
          Severity: crash
          Priority: NOR
         Component: General
          Assignee: noaha...@gmail.com
          Reporter: m...@gabby.li
                CC: k...@david-redondo.de
  Target Milestone: ---

Application: spectacle (23.04.2)
 (Compiled from sources)
Qt Version: 5.15.10
Frameworks Version: 5.106.0
Operating System: Linux 6.1.38-gentoo--ZKsuOw-- x86_64
Windowing System: Wayland
Distribution: "Gentoo Linux"
DrKonqi: 5.27.5 [KCrashBackend]

-- Information about the crash:
1. Capture a rectangular region.
2. Drag the captured image from Spectacle's window into a Google chat
conversation running in Firefox to upload and share it.
3. Crash.

(Crashed 3/3 times tested)

The crash can be reproduced every time.

-- Backtrace:
Application: Spectacle (spectacle), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = 0x0}
[KCrash Handler]
#6  0x00007f6735f65086 in QDrag::dragCursor(Qt::DropAction) const (this=0x0,
action=action@entry=Qt::CopyAction) at
/usr/src/debug/dev-qt/qtgui-5.15.10/qtbase-everywhere-src-5.15.10/src/gui/kernel/qdrag.cpp:345
#7  0x00007f6735f678d9 in QBasicDrag::updateCursor(Qt::DropAction)
(this=this@entry=0x5623d4a00340, action=Qt::CopyAction) at
/usr/src/debug/dev-qt/qtgui-5.15.10/qtbase-everywhere-src-5.15.10/src/gui/kernel/qsimpledrag.cpp:307
#8  0x00007f67379633b5 in
QtWaylandClient::QWaylandDrag::setResponse(QPlatformDropQtResponse const&)
(this=this@entry=0x5623d4a00340, response=...) at
/usr/src/debug/dev-qt/qtwayland-5.15.10/qtwayland-everywhere-src-5.15.10/src/client/qwaylanddnd.cpp:123
#9  0x00007f673795f7bc in operator() (action=Qt::CopyAction,
accepted=<optimized out>, __closure=<optimized out>) at
/usr/src/debug/dev-qt/qtwayland-5.15.10/qtwayland-everywhere-src-5.15.10/src/client/qwaylanddatadevice.cpp:140
#10 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/qt5/QtCore/qobjectdefs_impl.h:146
#11
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/qt5/QtCore/qobjectdefs_impl.h:256
#12
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/qt5/QtCore/qobjectdefs_impl.h:443
#13 0x00007f6735ab76c4 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
(a=0x7ffe044c98b0, r=0x5623d4a0f6b0, this=0x5623d59f4c10) at
/usr/src/debug/dev-qt/qtcore-5.15.10/qtbase-everywhere-src-5.15.10/include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#14 doActivate<false>(QObject*, int, void**) (sender=0x5623d50c8b90,
signal_index=5, argv=0x7ffe044c98b0) at
/usr/src/debug/dev-qt/qtcore-5.15.10/qtbase-everywhere-src-5.15.10/src/corelib/kernel/qobject.cpp:3925
#15 0x00007f6735ab1417 in QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) (sender=<optimized out>, m=m@entry=0x7f6737a15540
<QtWaylandClient::QWaylandDataSource::staticMetaObject>,
local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7ffe044c98b0)
at
/usr/src/debug/dev-qt/qtcore-5.15.10/qtbase-everywhere-src-5.15.10/src/corelib/kernel/qobject.cpp:3985
#16 0x00007f673796d2a7 in
QtWaylandClient::QWaylandDataSource::dndResponseUpdated(bool, Qt::DropAction)
(this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>) at
.moc/moc_qwaylanddatasource_p.cpp:184
#17 0x00007f6737968809 in QtWayland::wl_data_source::handle_target(void*,
wl_data_source*, char const*) (data=0x5623d50c8ba0, object=<optimized out>,
mime_type=0x7f6724002e3c "text/uri-list") at qwayland-wayland.cpp:697
#18 0x00007f673689628a in ffi_call_unix64 () at
/usr/src/debug/dev-libs/libffi-3.4.4-r1/libffi-3.4.4/src/x86/unix64.S:104
#19 0x00007f67368956a4 in ffi_call_int (cif=cif@entry=0x7ffe044c9ae0,
fn=fn@entry=0x7f6737968750 <QtWayland::wl_data_source::handle_target(void*,
wl_data_source*, char const*)>, rvalue=<optimized out>, rvalue@entry=0x0,
avalue=<optimized out>, closure=closure@entry=0x0) at
/usr/src/debug/dev-libs/libffi-3.4.4-r1/libffi-3.4.4/src/x86/ffi64.c:673
#20 0x00007f6736895dfd in ffi_call (cif=cif@entry=0x7ffe044c9ae0,
fn=0x7f6737968750 <QtWayland::wl_data_source::handle_target(void*,
wl_data_source*, char const*)>, rvalue=rvalue@entry=0x0,
avalue=avalue@entry=0x7ffe044c9bb0) at
/usr/src/debug/dev-libs/libffi-3.4.4-r1/libffi-3.4.4/src/x86/ffi64.c:710
#21 0x00007f673802d924 in wl_closure_invoke (closure=0x7f6724002d60,
flags=<optimized out>, target=<optimized out>, opcode=0, data=<optimized out>)
at ../wayland-1.22.0/src/connection.c:1025
#22 0x00007f6738029c68 in dispatch_event (display=display@entry=0x5623d49fc060,
queue=0x5623d49fc150) at ../wayland-1.22.0/src/wayland-client.c:1631
#23 0x00007f673802b66c in dispatch_queue (queue=0x5623d49fc150,
display=0x5623d49fc060) at ../wayland-1.22.0/src/wayland-client.c:1777
#24 wl_display_dispatch_queue_pending (display=0x5623d49fc060,
queue=0x5623d49fc150) at ../wayland-1.22.0/src/wayland-client.c:2019
#25 0x00007f673793f196 in QtWaylandClient::QWaylandDisplay::flushRequests()
(this=<optimized out>) at
/usr/src/debug/dev-qt/qtwayland-5.15.10/qtwayland-everywhere-src-5.15.10/src/client/qwaylanddisplay.cpp:255
#26 0x00007f6735aaf624 in QObject::event(QEvent*) (this=0x5623d49fbf00,
e=0x7f6720003e00) at
/usr/src/debug/dev-qt/qtcore-5.15.10/qtbase-everywhere-src-5.15.10/src/corelib/kernel/qobject.cpp:1347
#27 0x00007f673716342e in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(this=<optimized out>, receiver=0x5623d49fbf00, e=0x7f6720003e00) at
/usr/src/debug/dev-qt/qtwidgets-5.15.10-r1/qtbase-everywhere-src-5.15.10/src/widgets/kernel/qapplication.cpp:3640
#28 0x00007f6735a84218 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
(receiver=0x5623d49fbf00, event=0x7f6720003e00) at
/usr/src/debug/dev-qt/qtcore-5.15.10/qtbase-everywhere-src-5.15.10/src/corelib/kernel/qcoreapplication.cpp:1064
#29 0x00007f6735a8440e in QCoreApplication::sendEvent(QObject*, QEvent*)
(receiver=<optimized out>, event=<optimized out>) at
/usr/src/debug/dev-qt/qtcore-5.15.10/qtbase-everywhere-src-5.15.10/src/corelib/kernel/qcoreapplication.cpp:1462
#30 0x00007f6735a87753 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) (receiver=0x0, event_type=0, data=0x5623d49be550) at
/usr/src/debug/dev-qt/qtcore-5.15.10/qtbase-everywhere-src-5.15.10/src/corelib/kernel/qcoreapplication.cpp:1821
#31 0x00007f6735a879f8 in QCoreApplication::sendPostedEvents(QObject*, int)
(receiver=<optimized out>, event_type=<optimized out>) at
/usr/src/debug/dev-qt/qtcore-5.15.10/qtbase-everywhere-src-5.15.10/src/corelib/kernel/qcoreapplication.cpp:1680
#32 0x00007f6735ad6393 in postEventSourceDispatch(GSource*, GSourceFunc,
gpointer) (s=0x5623d4a0e770) at
/usr/src/debug/dev-qt/qtcore-5.15.10/qtbase-everywhere-src-5.15.10/src/corelib/kernel/qeventdispatcher_glib.cpp:277
#33 0x00007f673351458c in g_main_dispatch (context=0x7f6728000ee0) at
../glib-2.76.3/glib/gmain.c:3460
#34 g_main_context_dispatch (context=context@entry=0x7f6728000ee0) at
../glib-2.76.3/glib/gmain.c:4200
#35 0x00007f6733514838 in g_main_context_iterate
(context=context@entry=0x7f6728000ee0, block=block@entry=1,
dispatch=dispatch@entry=1, self=<optimized out>) at
../glib-2.76.3/glib/gmain.c:4276
#36 0x00007f67335148cc in g_main_context_iteration (context=0x7f6728000ee0,
may_block=1) at ../glib-2.76.3/glib/gmain.c:4343
#37 0x00007f6735ad5e96 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x5623d49dce00, flags=...) at
/usr/src/debug/dev-qt/qtcore-5.15.10/qtbase-everywhere-src-5.15.10/src/corelib/kernel/qeventdispatcher_glib.cpp:423
#38 0x00007f6735a82c3b in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7ffe044ca110, flags=..., flags@entry=...) at
/usr/src/debug/dev-qt/qtcore-5.15.10/qtbase-everywhere-src-5.15.10/include/QtCore/../../src/corelib/global/qflags.h:69
#39 0x00007f6735a8af16 in QCoreApplication::exec() () at
/usr/src/debug/dev-qt/qtcore-5.15.10/qtbase-everywhere-src-5.15.10/include/QtCore/../../src/corelib/global/qflags.h:121
#40 0x00007f6735f1c3cc in QGuiApplication::exec() () at
/usr/src/debug/dev-qt/qtgui-5.15.10/qtbase-everywhere-src-5.15.10/src/gui/kernel/qguiapplication.cpp:1870
#41 0x00007f67371633a5 in QApplication::exec() () at
/usr/src/debug/dev-qt/qtwidgets-5.15.10-r1/qtbase-everywhere-src-5.15.10/src/widgets/kernel/qapplication.cpp:2832
#42 0x00005623d2c5d726 in main(int, char**) (argc=<optimized out>,
argv=<optimized out>) at
/usr/src/debug/kde-apps/spectacle-23.04.2/spectacle-23.04.2/src/Main.cpp:127
[Inferior 1 (process 26913) detached]

Reported using DrKonqi

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

Reply via email to