Bug 435168 - kioexec crashed when cancelling an open operation on an audio track
Summary: kioexec crashed when cancelling an open operation on an audio track
Status: REPORTED
Alias: None
Product: AudioCD-KIO
Classification: Applications
Component: General (other bugs)
Version First Reported In: 20.08
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-03-30 22:29 UTC by Guido Winkelmann
Modified: 2021-03-30 22:29 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Guido Winkelmann 2021-03-30 22:29:50 UTC
SUMMARY
kioexec crashed when cancelling an open operation on an audio track

STEPS TO REPRODUCE
1. Insert an audio CD into a connected CD drive that sometimes has trouble reading audio CDs
2. Open audiocd:/Ogg Vorbis/ in dolphin
3. Click on one of the displayed files to open it
4. Before the operation finishes, click on the stop button in the I/O notify widget that appears over the system tray area

OBSERVED RESULT

kioexec crashes with a segfault.

EXPECTED RESULT

kioexec should cancel the operation but not crash


SOFTWARE/OS VERSIONS
Application: kioexec (5.77.0)
 (Compiled from sources)
Qt Version: 5.15.2
Frameworks Version: 5.77.0
Operating System: Linux 5.10.21 x86_64
Windowing system: X11
Distribution: "Gentoo Base System release 2.7"

ADDITIONAL INFORMATION

Backtrace (from DrKonqi):

Application: KIOExec (kioexec), signal: Segmentation fault
Content of s_kcrashErrorMessage: (null)
[KCrash Handler]
#6  0x00007f35ffb2f01e in QObjectData::dynamicMetaObject() const (this=0x55ec4cc48630) at /usr/src/debug/dev-qt/qtcore-5.15.2-r2/qtbase-everywhere-src-5.15.2/src/corelib/kernel/qobject.cpp:184
#7  0x00007f35ffb37fe0 in QObject::connect(QObject const*, char const*, QObject const*, char const*, Qt::ConnectionType) (sender=sender@entry=0x7f35f0373020 <devnull>, signal=signal@entry=0x7f35ffcdf8aa "2aboutToClose()", receiver=receiver@entry=0x55ec4ccc2c78, method=method@entry=0x7f35ffcdf89b "1flushStream()", type=type@entry=Qt::AutoConnection) at /usr/src/debug/dev-qt/qtcore-5.15.2-r2/qtbase-everywhere-src-5.15.2/src/corelib/kernel/qobject.cpp:2797
#8  0x00007f35ffb97ff9 in QDeviceClosedNotifier::setupDevice(QTextStream*, QIODevice*) (device=0x7f35f0373020 <devnull>, stream=0x55ec4cf7d2e0, this=0x55ec4ccc2c78) at /usr/src/debug/dev-qt/qtcore-5.15.2-r2/qtbase-everywhere-src-5.15.2/include/QtCore/5.15.2/QtCore/private/../../../../../src/corelib/serialization/qtextstream_p.h:75
#9  QTextStream::QTextStream(QIODevice*) (this=0x55ec4cf7d2e0, device=0x7f35f0373020 <devnull>) at /usr/src/debug/dev-qt/qtcore-5.15.2-r2/qtbase-everywhere-src-5.15.2/src/corelib/serialization/qtextstream.cpp:1046
#10 0x00007f35f0333829 in QDebug::Stream::Stream(QIODevice*) (device=0x7f35f0373020 <devnull>, this=0x55ec4cf7d2e0) at /usr/include/qt5/QtCore/qdebug.h:72
#11 QDebug::QDebug(QIODevice*) (device=0x7f35f0373020 <devnull>, this=0x7ffe04d33df0) at /usr/include/qt5/QtCore/qdebug.h:113
#12 nullDebug() () at /usr/src/debug/media-libs/phonon-gstreamer-4.10.0/phonon-backend-gstreamer-4.10.0/gstreamer/debug_p.h:54
#13 Phonon::Gstreamer::Debug::dbgstream(Phonon::Gstreamer::Debug::DebugLevel) (level=level@entry=Phonon::Gstreamer::Debug::DEBUG_INFO) at /usr/src/debug/media-libs/phonon-gstreamer-4.10.0/phonon-backend-gstreamer-4.10.0/gstreamer/debug.cpp:150
#14 0x00007f35f034e7d4 in Phonon::Gstreamer::Debug::dbgstreamwrapper (level=Phonon::Gstreamer::Debug::DEBUG_INFO) at /usr/src/debug/media-libs/phonon-gstreamer-4.10.0/phonon-backend-gstreamer-4.10.0/gstreamer/debug.h:98
#15 Phonon::Gstreamer::Debug::debug () at /usr/src/debug/media-libs/phonon-gstreamer-4.10.0/phonon-backend-gstreamer-4.10.0/gstreamer/debug.h:100
#16 Phonon::Gstreamer::Pipeline::cb_state(_GstBus*, _GstMessage*, void*) (bus=<optimized out>, gstMessage=<optimized out>, data=0x55ec4cdaca80) at /usr/src/debug/media-libs/phonon-gstreamer-4.10.0/phonon-backend-gstreamer-4.10.0/gstreamer/pipeline.cpp:378
#17 0x00007f35f9b69ded in ffi_call_unix64 () at /usr/src/debug/dev-libs/libffi-3.3-r2/libffi-3.3/src/x86/unix64.S:101
#18 0x00007f35f9b6934c in ffi_call_int (cif=0x7ffe04d34070, fn=0x7f35f034e710 <Phonon::Gstreamer::Pipeline::cb_state(_GstBus*, _GstMessage*, void*)>, rvalue=<optimized out>, avalue=<optimized out>, closure=<optimized out>) at /usr/src/debug/dev-libs/libffi-3.3-r2/libffi-3.3/src/x86/ffi64.c:669
#23 0x00007f35f007d477 in <emit signal sync-message:state-changed on instance 0x55ec4d378f20 [GstBus]> (instance=instance@entry=0x55ec4d378f20, signal_id=<optimized out>, detail=<optimized out>) at ../glib-2.66.7/gobject/gsignal.c:3551
    #19 0x00007f35f005eabc in g_cclosure_marshal_generic (closure=0x55ec4ce4e700, return_gvalue=0x0, n_param_values=<optimized out>, param_values=<optimized out>, invocation_hint=<optimized out>, marshal_data=<optimized out>) at ../glib-2.66.7/gobject/gclosure.c:1500
    #20 0x00007f35f005e234 in g_closure_invoke (closure=0x55ec4ce4e700, return_value=0x0, n_param_values=2, param_values=0x7ffe04d342a0, invocation_hint=0x7ffe04d34210) at ../glib-2.66.7/gobject/gclosure.c:810
    #21 0x00007f35f00718d7 in signal_emit_unlocked_R (node=node@entry=0x55ec4cc4f430, detail=detail@entry=285, instance=instance@entry=0x55ec4d378f20, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffe04d342a0) at ../glib-2.66.7/gobject/gsignal.c:3739
    #22 0x00007f35f007cae7 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffe04d34470) at ../glib-2.66.7/gobject/gsignal.c:3495
#24 0x00007f35f01dafa8 in gst_bus_sync_signal_handler (bus=0x55ec4d378f20 [GstBus|bus2], message=0x55ec4d4aa440 [GstMessage], data=<optimized out>) at /usr/src/debug/media-libs/gstreamer-1.16.3/gstreamer-1.16.3/gst/gstbus.c:1300
#25 0x00007f35f01db1ea in gst_bus_post (bus=bus@entry=0x55ec4d378f20 [GstBus|bus2], message=message@entry=0x55ec4d4aa440 [GstMessage]) at /usr/src/debug/media-libs/gstreamer-1.16.3/gstreamer-1.16.3/gst/gstbus.c:359
#26 0x00007f35f01f1956 in gst_element_post_message_default (element=element@entry=0x55ec4d4b7440 [GstPlayBin|playbin0], message=0x55ec4d4aa440 [GstMessage]) at /usr/src/debug/media-libs/gstreamer-1.16.3/gstreamer-1.16.3/gst/gstelement.c:1999
#27 0x00007f35f01cc08e in gst_bin_post_message (element=0x55ec4d4b7440 [GstPlayBin|playbin0], msg=0x55ec4d4aa440 [GstMessage]) at /usr/src/debug/media-libs/gstreamer-1.16.3/gstreamer-1.16.3/gst/gstbin.c:2805
#28 0x00007f35f01f4bda in gst_element_post_message (element=element@entry=0x55ec4d4b7440 [GstPlayBin|playbin0], message=0x55ec4d4aa440 [GstMessage]) at /usr/src/debug/media-libs/gstreamer-1.16.3/gstreamer-1.16.3/gst/gstelement.c:2042
#29 0x00007f35f01f583c in _priv_gst_element_state_changed (element=element@entry=0x55ec4d4b7440 [GstPlayBin|playbin0], oldstate=oldstate@entry=GST_STATE_PAUSED, newstate=newstate@entry=GST_STATE_READY, pending=pending@entry=GST_STATE_NULL) at /usr/src/debug/media-libs/gstreamer-1.16.3/gstreamer-1.16.3/gst/gstelement.c:2599
#30 0x00007f35f01f665a in gst_element_continue_state (element=element@entry=0x55ec4d4b7440 [GstPlayBin|playbin0], ret=ret@entry=GST_STATE_CHANGE_SUCCESS) at /usr/src/debug/media-libs/gstreamer-1.16.3/gstreamer-1.16.3/gst/gstelement.c:2666
#31 0x00007f35f01f5cfb in gst_element_change_state (element=element@entry=0x55ec4d4b7440 [GstPlayBin|playbin0], transition=<optimized out>) at /usr/src/debug/media-libs/gstreamer-1.16.3/gstreamer-1.16.3/gst/gstelement.c:3004
#32 0x00007f35f01f66d8 in gst_element_continue_state (element=element@entry=0x55ec4d4b7440 [GstPlayBin|playbin0], ret=ret@entry=GST_STATE_CHANGE_SUCCESS) at /usr/src/debug/media-libs/gstreamer-1.16.3/gstreamer-1.16.3/gst/gstelement.c:2673
#33 0x00007f35f01f5cfb in gst_element_change_state (element=element@entry=0x55ec4d4b7440 [GstPlayBin|playbin0], transition=transition@entry=GST_STATE_CHANGE_PLAYING_TO_PAUSED) at /usr/src/debug/media-libs/gstreamer-1.16.3/gstreamer-1.16.3/gst/gstelement.c:3004
#34 0x00007f35f01f63f5 in gst_element_set_state_func (element=0x55ec4d4b7440 [GstPlayBin|playbin0], state=GST_STATE_NULL) at /usr/src/debug/media-libs/gstreamer-1.16.3/gstreamer-1.16.3/gst/gstelement.c:2919
#35 0x00007f35f034ed29 in Phonon::Gstreamer::Pipeline::~Pipeline() (this=0x55ec4cdaca80, __in_chrg=<optimized out>) at /usr/src/debug/media-libs/phonon-gstreamer-4.10.0/phonon-backend-gstreamer-4.10.0/gstreamer/pipeline.cpp:221
#36 0x00007f35f034eda9 in Phonon::Gstreamer::Pipeline::~Pipeline() (this=0x55ec4cdaca80, __in_chrg=<optimized out>) at /usr/src/debug/media-libs/phonon-gstreamer-4.10.0/phonon-backend-gstreamer-4.10.0/gstreamer/pipeline.cpp:234
#37 0x00007f35f0343509 in Phonon::Gstreamer::MediaObject::~MediaObject() (this=0x55ec4d099cc0, __in_chrg=<optimized out>) at /usr/src/debug/media-libs/phonon-gstreamer-4.10.0/phonon-backend-gstreamer-4.10.0/gstreamer/mediaobject.cpp:135
#38 0x00007f35f0343d49 in Phonon::Gstreamer::MediaObject::~MediaObject() (this=0x55ec4d099cc0, __in_chrg=<optimized out>) at /usr/src/debug/media-libs/phonon-gstreamer-4.10.0/phonon-backend-gstreamer-4.10.0/gstreamer/mediaobject.cpp:139
#39 0x00007f35f9e58a34 in Phonon::MediaNodePrivate::deleteBackendObject() (this=0x55ec4ccb6960) at /usr/src/debug/media-libs/phonon-4.11.1-r1/phonon-4.11.1/phonon/medianode.cpp:79
#40 0x00007f35f9e3b220 in Phonon::FactoryPrivate::~FactoryPrivate() (this=0x55ec4ccb6370, __in_chrg=<optimized out>) at /usr/src/debug/media-libs/phonon-4.11.1-r1/phonon-4.11.1/phonon/factory.cpp:188
#41 0x00007f35f9e3b4d9 in Phonon::FactoryPrivate::~FactoryPrivate() (this=0x55ec4ccb6370, __in_chrg=<optimized out>) at /usr/src/debug/media-libs/phonon-4.11.1-r1/phonon-4.11.1/phonon/factory.cpp:198
#42 0x00007f35ff517413 in __run_exit_handlers (status=status@entry=1, listp=0x7f35ff696738 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:108
#43 0x00007f35ff5175ca in __GI_exit (status=status@entry=1) at exit.c:139
#44 0x000055ec4b2e8768 in KIOExec::KIOExec(QStringList const&, bool, QString const&) (this=<optimized out>, args=<optimized out>, tempFiles=<optimized out>, suggestedFileName=<optimized out>) at /usr/src/debug/kde-frameworks/kio-5.77.0-r2/kio-5.77.0/src/kioexec/main.cpp:65
#45 0x000055ec4b2e5ffb in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kde-frameworks/kio-5.77.0-r2/kio-5.77.0/src/kioexec/main.cpp:306
[Inferior 1 (process 946) detached]