Bug 424646 - K3b crashed when looking up CDDB mirrors
Summary: K3b crashed when looking up CDDB mirrors
Status: RESOLVED FIXED
Alias: None
Product: libkcddb
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Richard Lärkäng
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2020-07-25 12:26 UTC by andreas.davour
Modified: 2020-07-27 17:41 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
backtrace from repeated crash, with debuginfo packages installed (10.00 KB, text/plain)
2020-07-27 09:26 UTC, andreas.davour
Details

Note You need to log in before you can comment on or make changes to this bug.
Description andreas.davour 2020-07-25 12:26:09 UTC
Application: k3b (19.08.3)

Qt Version: 5.14.2
Frameworks Version: 5.70.0
Operating System: Linux 5.7.6-201.fc32.x86_64 x86_64
Windowing system: X11
Distribution: Fedora 32 (KDE Plasma)

-- Information about the crash:
- What I was doing when the application crashed:

I was configuring CDDB settings, and when I clicked the button for listing mirrors, k3b crashed.

-- Backtrace:
Application: K3b (k3b), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fa453bc45c0 (LWP 1716))]

Thread 8 (Thread 0x7fa42b157700 (LWP 1763)):
#0  0x00007fa45bf77871 in clock_nanosleep@GLIBC_2.2.5 () from /lib64/libc.so.6
#1  0x00007fa45bf7d1c7 in nanosleep () from /lib64/libc.so.6
#2  0x00007fa45c511475 in qt_nanosleep(timespec) () from /lib64/libQt5Core.so.5
#3  0x00007fa45e0f49aa in K3b::MediaCache::PollThread::run() () from /lib64/libk3blib.so.7
#4  0x00007fa45c331690 in QThreadPrivate::start(void*) () from /lib64/libQt5Core.so.5
#5  0x00007fa457c58432 in start_thread () from /lib64/libpthread.so.0
#6  0x00007fa45bfb09d3 in clone () from /lib64/libc.so.6

Thread 7 (Thread 0x7fa43d056700 (LWP 1722)):
#0  0x00007fa457c5ee92 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fa43f6fbabb in util_queue_thread_func () from /usr/lib64/dri/i965_dri.so
#2  0x00007fa43f6fb58b in impl_thrd_routine () from /usr/lib64/dri/i965_dri.so
#3  0x00007fa457c58432 in start_thread () from /lib64/libpthread.so.0
#4  0x00007fa45bfb09d3 in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7fa43d857700 (LWP 1721)):
#0  0x00007fa457c5ee92 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fa43f6fbabb in util_queue_thread_func () from /usr/lib64/dri/i965_dri.so
#2  0x00007fa43f6fb58b in impl_thrd_routine () from /usr/lib64/dri/i965_dri.so
#3  0x00007fa457c58432 in start_thread () from /lib64/libpthread.so.0
#4  0x00007fa45bfb09d3 in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7fa43e058700 (LWP 1720)):
#0  0x00007fa457c5ee92 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fa43f6fbabb in util_queue_thread_func () from /usr/lib64/dri/i965_dri.so
#2  0x00007fa43f6fb58b in impl_thrd_routine () from /usr/lib64/dri/i965_dri.so
#3  0x00007fa457c58432 in start_thread () from /lib64/libpthread.so.0
#4  0x00007fa45bfb09d3 in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7fa43e859700 (LWP 1719)):
#0  0x00007fa457c5ee92 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fa43f6fbabb in util_queue_thread_func () from /usr/lib64/dri/i965_dri.so
#2  0x00007fa43f6fb58b in impl_thrd_routine () from /usr/lib64/dri/i965_dri.so
#3  0x00007fa457c58432 in start_thread () from /lib64/libpthread.so.0
#4  0x00007fa45bfb09d3 in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7fa445d75700 (LWP 1718)):
#0  0x00007fa45bfa5b6f in poll () from /lib64/libc.so.6
#1  0x00007fa457342ace in g_main_context_iterate.constprop () from /lib64/libglib-2.0.so.0
#2  0x00007fa457342c03 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x00007fa45c511b8b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#4  0x00007fa45c4c491b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#5  0x00007fa45c330427 in QThread::exec() () from /lib64/libQt5Core.so.5
#6  0x00007fa45d3ae51b in QDBusConnectionManager::run() () from /lib64/libQt5DBus.so.5
#7  0x00007fa45c331690 in QThreadPrivate::start(void*) () from /lib64/libQt5Core.so.5
#8  0x00007fa457c58432 in start_thread () from /lib64/libpthread.so.0
#9  0x00007fa45bfb09d3 in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7fa446951700 (LWP 1717)):
#0  0x00007fa45bfa5b6f in poll () from /lib64/libc.so.6
#1  0x00007fa456af138a in _xcb_conn_wait () from /lib64/libxcb.so.1
#2  0x00007fa456af371a in xcb_wait_for_event () from /lib64/libxcb.so.1
#3  0x00007fa446ae4c78 in QXcbEventQueue::run() () from /lib64/libQt5XcbQpa.so.5
#4  0x00007fa45c331690 in QThreadPrivate::start(void*) () from /lib64/libQt5Core.so.5
#5  0x00007fa457c58432 in start_thread () from /lib64/libpthread.so.0
#6  0x00007fa45bfb09d3 in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fa453bc45c0 (LWP 1716)):
[KCrash Handler]
#4  0x00007fa45c3b9f80 in QString::toUInt(bool*, int) const () from /lib64/libQt5Core.so.5
#5  0x00007fa45e01c8b0 in KCDDB::CDDB::statusCode(QString const&) () from /lib64/libKF5Cddb.so.5
#6  0x00007fa45e02355f in KCDDB::Sites::readData(QByteArray const&) () from /lib64/libKF5Cddb.so.5
#7  0x00007fa45e023ac8 in KCDDB::Sites::siteList() () from /lib64/libKF5Cddb.so.5
#8  0x00007fa43c7df9df in CDDBConfigWidget::showMirrorList() () from /usr/lib64/qt5/plugins/kcm_cddb.so
#9  0x00007fa45c4f4fb0 in void doActivate<false>(QObject*, int, void**) () from /lib64/libQt5Core.so.5
#10 0x00007fa45cf4ffd6 in QAbstractButton::clicked(bool) () from /lib64/libQt5Widgets.so.5
#11 0x00007fa45cf5099e in QAbstractButtonPrivate::emitClicked() () from /lib64/libQt5Widgets.so.5
#12 0x00007fa45cf52253 in QAbstractButtonPrivate::click() () from /lib64/libQt5Widgets.so.5
#13 0x00007fa45cf52435 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /lib64/libQt5Widgets.so.5
#14 0x00007fa45cea236e in QWidget::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#15 0x00007fa45ce61063 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#16 0x00007fa45ce66891 in QApplication::notify(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#17 0x00007fa45c4c5fc0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#18 0x00007fa45ce6578a in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /lib64/libQt5Widgets.so.5
#19 0x00007fa45cebaf82 in QWidgetWindow::handleMouseEvent(QMouseEvent*) () from /lib64/libQt5Widgets.so.5
#20 0x00007fa45cebddde in QWidgetWindow::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#21 0x00007fa45ce61063 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#22 0x00007fa45c4c5fc0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#23 0x00007fa45c8aa16b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /lib64/libQt5Gui.so.5
#24 0x00007fa45c88c15b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Gui.so.5
#25 0x00007fa446ae5c9e in xcbSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5XcbQpa.so.5
#26 0x00007fa4573427af in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#27 0x00007fa457342b38 in g_main_context_iterate.constprop () from /lib64/libglib-2.0.so.0
#28 0x00007fa457342c03 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#29 0x00007fa45c511b73 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#30 0x00007fa45c4c491b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#31 0x00007fa45d05f4ef in QDialog::exec() () from /lib64/libQt5Widgets.so.5
#32 0x000055ef45a35408 in K3b::MainWindow::slotSettingsConfigure() ()
#33 0x00007fa45c4f4fb0 in void doActivate<false>(QObject*, int, void**) () from /lib64/libQt5Core.so.5
#34 0x00007fa45ce5a876 in QAction::triggered(bool) () from /lib64/libQt5Widgets.so.5
#35 0x00007fa45ce5d161 in QAction::activate(QAction::ActionEvent) () from /lib64/libQt5Widgets.so.5
#36 0x00007fa45cfdad5a in QMenuPrivate::activateCausedStack(QVector<QPointer<QWidget> > const&, QAction*, QAction::ActionEvent, bool) () from /lib64/libQt5Widgets.so.5
#37 0x00007fa45cfe23c2 in QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) () from /lib64/libQt5Widgets.so.5
#38 0x00007fa45cea236e in QWidget::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#39 0x00007fa45ce61063 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#40 0x00007fa45ce66891 in QApplication::notify(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#41 0x00007fa45c4c5fc0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#42 0x00007fa45ce6578a in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /lib64/libQt5Widgets.so.5
#43 0x00007fa45cebb98f in QWidgetWindow::handleMouseEvent(QMouseEvent*) () from /lib64/libQt5Widgets.so.5
#44 0x00007fa45cebddde in QWidgetWindow::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#45 0x00007fa45ce61063 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#46 0x00007fa45c4c5fc0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#47 0x00007fa45c8aa16b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /lib64/libQt5Gui.so.5
#48 0x00007fa45c88c15b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Gui.so.5
#49 0x00007fa446ae5c9e in xcbSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5XcbQpa.so.5
#50 0x00007fa4573427af in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#51 0x00007fa457342b38 in g_main_context_iterate.constprop () from /lib64/libglib-2.0.so.0
#52 0x00007fa457342c03 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#53 0x00007fa45c511b73 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#54 0x00007fa45c4c491b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#55 0x00007fa45c4cc5a6 in QCoreApplication::exec() () from /lib64/libQt5Core.so.5
#56 0x000055ef45a084ba in main ()
[Inferior 1 (process 1716) detached]

Reported using DrKonqi
Comment 1 Albert Astals Cid 2020-07-25 21:19:03 UTC
Does fedora have debug packages? If so can you install them to get a better backtrace?
Comment 2 andreas.davour 2020-07-27 09:25:02 UTC
I added what debuginfo packages I could find. I was unsure of which of all the Qt5 ones but I found all for k3b and cddb. For some odd reason it still lists /usr/bin/k3b as one of the files it want debuginfo for, but I have installed k3b-debuginfo. 

I don't know how much more info the backtrace provides with the debuginfo from cddb, but I will attach it.
Comment 3 andreas.davour 2020-07-27 09:26:16 UTC
Created attachment 130428 [details]
backtrace from repeated crash, with debuginfo packages installed
Comment 4 Christoph Feck 2020-07-27 13:26:28 UTC
Relevant part from the backtrace shows the bug is in libkcddb:

Thread 1 (Thread 0x7ff39446e5c0 (LWP 35786)):
[KCrash Handler]
#4  0x00007ff39cc65f80 in QString::toUInt(bool*, int) const () from /lib64/libQt5Core.so.5
#5  0x00007ff39e8c88b0 in KCDDB::CDDB::statusCode (line=...) at /usr/include/qt5/QtCore/qlist.h:116
#6  0x00007ff39e8cf55f in KCDDB::Sites::readData (this=this@entry=0x7ffe96c1d0af, data=...) at /usr/src/debug/kf5-libkcddb-19.12.2-1.fc32.x86_64/libkcddb/sites.cpp:74
#7  0x00007ff39e8cfac8 in KCDDB::Sites::siteList (this=this@entry=0x7ffe96c1d0af) at /usr/src/debug/kf5-libkcddb-19.12.2-1.fc32.x86_64/libkcddb/sites.cpp:61
#8  0x00007ff37d0e79df in CDDBConfigWidget::showMirrorList (this=0x555c99272df0) at /usr/src/debug/kf5-libkcddb-19.12.2-1.fc32.x86_64/kcmcddb/cddbconfigwidget.cpp:75
#9  0x00007ff39cda0fb0 in void doActivate<false>(QObject*, int, void**) () from /lib64/libQt5Core.so.5
#10 0x00007ff39d7fbfd6 in QAbstractButton::clicked(bool) () from /lib64/libQt5Widgets.so.5
Comment 5 Albert Astals Cid 2020-07-27 17:32:37 UTC
probably related to the fact that the freedb.org servers are down, change the settings to use gnudb.gnudb.org and it should go back to working
Comment 6 Albert Astals Cid 2020-07-27 17:37:22 UTC
actually i realized you can't change that from the settings, it's hardcoded, you need to upgrade to version 20.04 or newer.

I'll make the code also not crash if the server can't be found
Comment 7 Albert Astals Cid 2020-07-27 17:41:04 UTC
Git commit 019f65127379453c159dbe33132800b450600f3f by Albert Astals Cid.
Committed on 27/07/2020 at 17:39.
Pushed by aacid into branch 'release/20.08'.

CDDB::statusCode: Don't crash if tokenlist is empty

M  +5    -4    libkcddb/cddb.cpp

https://invent.kde.org/multimedia/libkcddb/commit/019f65127379453c159dbe33132800b450600f3f