Bug 381863

Summary: k3b crashes when I close an audio cd project
Product: [Applications] k3b Reporter: Patrick Silva <bugseforuns>
Component: Audio ProjectAssignee: k3b developers <k3b>
Status: RESOLVED FIXED    
Severity: crash CC: michalm, trueg, zhaixiang, zorak1103
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Patrick Silva 2017-07-01 12:42:25 UTC
open k3b, start an audio cd project, add some audio files
click "X" button to close the project, click "dont save" in dialog, crash!

konsole says

(K3b::AudioDoc::AudioDoc) deleting track  1  of  5
K3b::AudioTrack(0x26ff240)
deleting sources.
finished
(K3b::AudioDoc::AudioDoc) deleted.
(K3b::AudioDoc::AudioDoc) deleting track  2  of  5
K3b::AudioTrack(0x266ef70)
deleting sources.
Segmentation fault (core dumped)

I use k3b 17.04.2 on Arch
Comment 1 Leslie Zhai 2017-07-04 01:59:16 UTC
[Thread 0x7fff3c411700 (LWP 3509) exited]
(K3b::AudioDoc::AudioDoc) deleting track  1  of  25
K3b::AudioTrack(0x140ab10)
deleting sources.
(K3bMad) cleanup at offset:  Input file at:  281   Input file size:  1508708   stream pos:  280 

finished
(K3b::AudioDoc::AudioDoc) deleted.
(K3b::AudioDoc::AudioDoc) deleting track  2  of  25
K3b::AudioTrack(0x140c370)
deleting sources.
(K3bMad) cleanup at offset:  Input file at:  285   Input file size:  3484880   stream pos:  284 


Thread 1 "k3b" received signal SIGSEGV, Segmentation fault.
0x0000000000000018 in ?? ()
(gdb) bt
#0  0x0000000000000018 in  ()
#1  0x00007fffeed807ff in KFileMetaData::Extractor::~Extractor() () at /lib/libKF5FileMetaData.so.3
#2  0x00007fffeed8082a in KFileMetaData::Extractor::~Extractor() () at /lib/libKF5FileMetaData.so.3
#3  0x00007fffeed848a8 in void qDeleteAll<QSet<KFileMetaData::Extractor*>::const_iterator>(QSet<KFileMetaData::Extractor*>::const_iterator, QSet<KFileMetaData::Extractor*>::const_iterator) ()
    at /lib/libKF5FileMetaData.so.3
#4  0x00007fffeed83f7e in void qDeleteAll<QSet<KFileMetaData::Extractor*> >(QSet<KFileMetaData::Extractor*> const&) () at /lib/libKF5FileMetaData.so.3
#5  0x00007fffeed829d6 in KFileMetaData::ExtractorCollection::~ExtractorCollection() ()
    at /lib/libKF5FileMetaData.so.3
#6  0x00007ffff7a765c2 in K3b::AudioDecoder::Private::~Private() (this=0x13671b0, __in_chrg=<optimized out>) at /data/project/kde/k3b/libk3b/plugin/k3baudiodecoder.cpp:90
#7  0x00007ffff7a73e32 in K3b::AudioDecoder::~AudioDecoder() (this=0x1414410, __in_chrg=<optimized out>) at /data/project/kde/k3b/libk3b/plugin/k3baudiodecoder.cpp:174
#8  0x00007fff3ec77234 in K3bMadDecoder::~K3bMadDecoder() (this=0x1414410, __in_chrg=<optimized out>)
    at /data/project/kde/k3b/plugins/decoder/mp3/k3bmaddecoder.cpp:90
#9  0x00007fff3ec77254 in K3bMadDecoder::~K3bMadDecoder() (this=0x1414410, __in_chrg=<optimized out>)
    at /data/project/kde/k3b/plugins/decoder/mp3/k3bmaddecoder.cpp:95
#10 0x00007ffff7ad2f89 in K3b::AudioDoc::decreaseDecoderUsage(K3b::AudioDecoder*) (this=0x15cb540, decoder=0x1414410) at /data/project/kde/k3b/libk3b/projects/audiocd/k3baudiodoc.cpp:1056
#11 0x00007ffff7ad6df5 in K3b::AudioFile::~AudioFile() (this=0x12c34c0, __in_chrg=<optimized out>)
    at /data/project/kde/k3b/libk3b/projects/audiocd/k3baudiofile.cpp:53
#12 0x00007ffff7ad6e32 in K3b::AudioFile::~AudioFile() (this=0x12c34c0, __in_chrg=<optimized out>)
    at /data/project/kde/k3b/libk3b/projects/audiocd/k3baudiofile.cpp:54
#13 0x00007ffff7ac622c in K3b::AudioTrack::~AudioTrack() (this=0x140c370, __in_chrg=<optimized out>)
    at /data/project/kde/k3b/libk3b/projects/audiocd/k3baudiotrack.cpp:101
---Type <return> to continue, or q <return> to quit---
#14 0x00007ffff7ac62ce in K3b::AudioTrack::~AudioTrack() (this=0x140c370, __in_chrg=<optimized out>)
    at /data/project/kde/k3b/libk3b/projects/audiocd/k3baudiotrack.cpp:106
#15 0x00007ffff7aca8f0 in K3b::AudioDoc::~AudioDoc() (this=0x15cb540, __in_chrg=<optimized out>)
    at /data/project/kde/k3b/libk3b/projects/audiocd/k3baudiodoc.cpp:101
#16 0x00007ffff7aca998 in K3b::AudioDoc::~AudioDoc() (this=0x15cb540, __in_chrg=<optimized out>)
    at /data/project/kde/k3b/libk3b/projects/audiocd/k3baudiodoc.cpp:107
#17 0x0000000000485638 in K3b::MainWindow::closeProject(K3b::Doc*) (this=0xc96fc0, doc=0x15cb540)
    at /data/project/kde/k3b/src/k3b.cpp:1081
#18 0x00000000004846fa in K3b::MainWindow::queryClose() (this=0xc96fc0)
    at /data/project/kde/k3b/src/k3b.cpp:886
#19 0x00007ffff5f64145 in KMainWindow::closeEvent(QCloseEvent*) () at /lib/libKF5XmlGui.so.5
#20 0x00007ffff2d610d8 in QWidget::event(QEvent*) () at /lib/libQt5Widgets.so.5
#21 0x00007ffff2e5722b in QMainWindow::event(QEvent*) () at /lib/libQt5Widgets.so.5
#22 0x00007ffff5f64347 in KMainWindow::event(QEvent*) () at /lib/libKF5XmlGui.so.5
#23 0x00007ffff5fa7135 in KXmlGuiWindow::event(QEvent*) () at /lib/libKF5XmlGui.so.5
#24 0x00007ffff2d1c9bc in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
    at /lib/libQt5Widgets.so.5
#25 0x00007ffff2d23be1 in QApplication::notify(QObject*, QEvent*) () at /lib/libQt5Widgets.so.5
#26 0x00007fffefe97928 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
    at /lib/libQt5Core.so.5
#27 0x00007ffff2d5ca91 in QWidgetPrivate::close_helper(QWidgetPrivate::CloseMode) ()
    at /lib/libQt5Widgets.so.5
#28 0x00007ffff2d7a636 in QWidgetWindow::handleCloseEvent(QCloseEvent*) () at /lib/libQt5Widgets.so.5
#29 0x00007ffff2d7d563 in QWidgetWindow::event(QEvent*) () at /lib/libQt5Widgets.so.5
#30 0x00007ffff2d1c9bc in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
    at /lib/libQt5Widgets.so.5
---Type <return> to continue, or q <return> to quit---
#31 0x00007ffff2d23be1 in QApplication::notify(QObject*, QEvent*) () at /lib/libQt5Widgets.so.5
#32 0x00007fffefe97928 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
    at /lib/libQt5Core.so.5
#33 0x00007ffff039ea5d in QGuiApplicationPrivate::processCloseEvent(QWindowSystemInterfacePrivate::CloseEvent*) () at /lib/libQt5Gui.so.5
#34 0x00007ffff03a31c5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /lib/libQt5Gui.so.5
#35 0x00007ffff03806db in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/libQt5Gui.so.5
#36 0x00007fffd7bf9bd0 in userEventSourceDispatch(_GSource*, int (*)(void*), void*) ()
    at /lib/libQt5XcbQpa.so.5
#37 0x00007fffea569c97 in g_main_context_dispatch () at /lib/libglib-2.0.so.0
#38 0x00007fffea569ec8 in g_main_context_iterate.isra () at /lib/libglib-2.0.so.0
#39 0x00007fffea569f6c in g_main_context_iteration () at /lib/libglib-2.0.so.0
#40 0x00007fffefee8fff in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/libQt5Core.so.5
#41 0x00007fffefe95eca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
    at /lib/libQt5Core.so.5
#42 0x00007fffefe9df84 in QCoreApplication::exec() () at /lib/libQt5Core.so.5
#43 0x000000000048a86f in main(int, char**) (argc=1, argv=0x7fffffffdb18)
    at /data/project/kde/k3b/src/main.cpp:143
(gdb)
Comment 2 Leslie Zhai 2017-07-04 03:45:02 UTC
#0  0x0000002800000000 in ?? ()
#1  0x00007ffff154e177 in KFileMetaData::Extractor::~Extractor (this=0x1082080, 
    __in_chrg=<optimized out>) at /data/project/kde/kfilemetadata-5.34.0/src/extractor.cpp:34
#2  0x00007ffff154e1a2 in KFileMetaData::Extractor::~Extractor (this=0x1082080, 
    __in_chrg=<optimized out>) at /data/project/kde/kfilemetadata-5.34.0/src/extractor.cpp:36
#3  0x00007ffff15523d0 in qDeleteAll<QSet<KFileMetaData::Extractor*>::const_iterator> (begin=..., 
    end=...) at /usr/include/qt5/QtCore/qalgorithms.h:323
#4  0x00007ffff15519fc in qDeleteAll<QSet<KFileMetaData::Extractor*> > (c=...)
    at /usr/include/qt5/QtCore/qalgorithms.h:331
#5  0x00007ffff15504de in KFileMetaData::ExtractorCollection::~ExtractorCollection (this=0xf09a10, 
    __in_chrg=<optimized out>)
    at /data/project/kde/kfilemetadata-5.34.0/src/extractorcollection.cpp:59
Comment 3 Leslie Zhai 2017-07-04 06:52:44 UTC
Git commit dacb99a640b7dd09f24c864bbd664cb3ff1c05fc by Leslie Zhai.
Committed on 04/07/2017 at 06:52.
Pushed by lesliezhai into branch 'master'.

Fix crashes when close an audio cd project

M  +10   -3    libk3b/plugin/k3baudiodecoder.cpp
M  +1    -1    libk3b/projects/audiocd/k3baudiotrack.cpp

https://commits.kde.org/k3b/dacb99a640b7dd09f24c864bbd664cb3ff1c05fc
Comment 4 Patrick Silva 2017-10-26 22:05:16 UTC
*** Bug 386223 has been marked as a duplicate of this bug. ***