Bug 300152

Summary: Crash when mysql error occurs
Product: [Applications] amarok Reporter: Frederik Schwarzer <schwarzer>
Component: generalAssignee: Amarok Developers <amarok-bugs-dist>
Status: RESOLVED DUPLICATE    
Severity: normal    
Priority: NOR    
Version: 2.5.0   
Target Milestone: 2.6   
Platform: Debian unstable   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Frederik Schwarzer 2012-05-16 17:35:03 UTC
When libmysql exits due to an error, Amarok shows a message and, after a minute, crashes.

I use the embedded MySQL (5.5.23). When the folder /etc/mysql/conf.d/ is missing, there is a problem in MySQL and Amarok shows a error message dialog.

Now if I do not click away that dialog, Amarok crashes after a minute with the following bt:

Application: Amarok (amarok), signal: Segmentation fault
Using host libthread_db library "/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1".
[Current thread is 1 (Thread 0xafd51720 (LWP 19404))]

Thread 3 (Thread 0xac8cfb70 (LWP 19412)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb5676711 in select () from /lib/i386-linux-gnu/i686/cmov/libc.so.6
#2  0xb5972ab4 in QProcessManager::run (this=0xb5af7e58) at io/qprocess_unix.cpp:245
#3  0xb5882300 in QThreadPrivate::start (arg=0xb5af7e58) at thread/qthread_unix.cpp:298
#4  0xb472ec39 in start_thread () from /lib/i386-linux-gnu/i686/cmov/libpthread.so.0
#5  0xb567d40e in clone () from /lib/i386-linux-gnu/i686/cmov/libc.so.6

Thread 2 (Thread 0xabdffb70 (LWP 19415)):
[KCrash Handler]
#7  0xac9751ae in DirWatchJob::run (this=0xa1cfb30) at ../../../../../../src/core-impl/collections/db/ScanManager.cpp:372
#8  0xb4ea2de3 in ThreadWeaver::JobRunHelper::runTheJob (this=this@entry=0xabdff278, th=th@entry=0xa1e95f8, job=job@entry=0xa1cfb30) at ../../../threadweaver/Weaver/Job.cpp:106
#9  0xb4ea2f83 in ThreadWeaver::Job::execute (this=0xa1cfb30, th=0xa1e95f8) at ../../../threadweaver/Weaver/Job.cpp:135
#10 0xb4ea2382 in ThreadWeaver::ThreadRunHelper::run (this=this@entry=0xabdff2f4, parent=0xa1b6f58, th=th@entry=0xa1e95f8) at ../../../threadweaver/Weaver/Thread.cpp:95
#11 0xb4ea246a in ThreadWeaver::Thread::run (this=0xa1e95f8) at ../../../threadweaver/Weaver/Thread.cpp:142
#12 0xb5882300 in QThreadPrivate::start (arg=0xa1e95f8) at thread/qthread_unix.cpp:298
#13 0xb472ec39 in start_thread () from /lib/i386-linux-gnu/i686/cmov/libpthread.so.0
#14 0xb567d40e in clone () from /lib/i386-linux-gnu/i686/cmov/libc.so.6

Thread 1 (Thread 0xafd51720 (LWP 19404)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb473320a in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/i686/cmov/libpthread.so.0
#2  0xb568a4fd in pthread_cond_wait () from /lib/i386-linux-gnu/i686/cmov/libc.so.6
#3  0xb5882870 in wait (time=4294967295, this=0xa0055e0) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=0x9fffd40, mutex=0x9fffd24, time=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0xb5881e99 in QThread::wait (this=0xb5af7e58, time=4294967295) at thread/qthread_unix.cpp:651
#6  0xb5971364 in QProcessManager::~QProcessManager (this=0xb5af7e58, __in_chrg=<optimized out>) at io/qprocess_unix.cpp:212
#7  0xb55dc50f in ?? () from /lib/i386-linux-gnu/i686/cmov/libc.so.6
#8  0xb55dc57f in exit () from /lib/i386-linux-gnu/i686/cmov/libc.so.6
#9  0xb5f99de8 in qt_xio_errhandler () at kernel/qapplication_x11.cpp:770
#10 0xb750daf9 in KApplication::xioErrhandler (this=0xbf9cf7d4, dpy=dpy@entry=0xa0097d8) at ../../kdeui/kernel/kapplication.cpp:419
#11 0xb750db34 in kde_xio_errhandler (dpy=0xa0097d8) at ../../kdeui/kernel/kapplication.cpp:126
#12 0xb68f8ea4 in _XIOError () from /usr/lib/i386-linux-gnu/libX11.so.6
#13 0xb68f680f in _XEventsQueued () from /usr/lib/i386-linux-gnu/libX11.so.6
#14 0xb68e7388 in XEventsQueued () from /usr/lib/i386-linux-gnu/libX11.so.6
#15 0xb5fd7435 in x11EventSourceCheck (s=0x9ffff18) at kernel/qguieventdispatcher_glib.cpp:85
#16 0xb36ed41f in g_main_context_check () from /lib/i386-linux-gnu/libglib-2.0.so.0
#17 0xb36ed8e2 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#18 0xb36edab1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#19 0xb59ca5e7 in QEventDispatcherGlib::processEvents (this=0x9ef4e88, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#20 0xb5fd766a in QGuiEventDispatcherGlib::processEvents (this=0x9ef4e88, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#21 0xb599604d in QEventLoop::processEvents (this=0xbf9ceda0, flags=...) at kernel/qeventloop.cpp:149
#22 0xb59962e9 in QEventLoop::exec (this=0xbf9ceda0, flags=...) at kernel/qeventloop.cpp:204
#23 0xb6475c19 in QDialog::exec (this=0xa1a5ca8) at dialogs/qdialog.cpp:554
#24 0xb746dfa4 in KMessageBox::createKMessageBox (dialog=dialog@entry=0xa1a5ca8, icon=..., text=..., strlist=..., ask=..., checkboxReturn=checkboxReturn@entry=0x0, options=..., details=..., notifyType=notifyType@entry=QMessageBox::Critical) at ../../kdeui/dialogs/kmessagebox.cpp:344
#25 0xb746e5b4 in KMessageBox::createKMessageBox (dialog=dialog@entry=0xa1a5ca8, icon=icon@entry=QMessageBox::Critical, text=..., strlist=..., ask=..., checkboxReturn=checkboxReturn@entry=0x0, options=..., details=...) at ../../kdeui/dialogs/kmessagebox.cpp:159
#26 0xb746f137 in KMessageBox::errorListWId (parent_id=0, text=..., strlist=..., caption=..., options=...) at ../../kdeui/dialogs/kmessagebox.cpp:854
#27 0xb746f334 in KMessageBox::error (parent=0xa1eac58, text=..., caption=..., options=...) at ../../kdeui/dialogs/kmessagebox.cpp:821
#28 0xac97b9df in Collections::SqlCollection::SqlCollection (this=0xa1a3ae8, id=..., prettyName=..., storage=0xa1eaa98) at ../../../../../../src/core-impl/collections/db/sql/SqlCollection.cpp:176
#29 0xac97dbbc in Collections::SqlCollectionFactory::createSqlCollection (this=0xbf9cf1af, id=..., prettyName=..., storage=0xa1eaa98) at ../../../../../../src/core-impl/collections/db/sql/SqlCollectionFactory.cpp:31
#30 0xacb7d7e2 in Collections::MySqlEmbeddedCollectionFactory::init (this=0xa185928) at ../../../../../../../src/core-impl/collections/db/sql/mysqlecollection/MySqlEmbeddedCollection.cpp:35
#31 0xb6dd7ff3 in CollectionManager::loadPlugins (this=0xa17d228, factories=...) at ../../src/core-impl/collections/support/CollectionManager.cpp:207
#32 0xb6ddb83d in CollectionManager::init (this=0xa17d228, factories=...) at ../../src/core-impl/collections/support/CollectionManager.cpp:175
#33 0xb6f65d93 in Plugins::PluginManager::init (this=0xa1141a8) at ../../src/PluginManager.cpp:82
#34 0xb6f670b1 in Plugins::PluginManager::PluginManager (this=0xa1141a8, parent=0x0) at ../../src/PluginManager.cpp:64
#35 0xb6f6728e in Plugins::PluginManager::instance () at ../../src/PluginManager.cpp:43
#36 0xb6f478a4 in pluginManager () at ../../src/PluginManager.h:76
#37 MainWindow::MainWindow (this=0xa1eac58) at ../../src/MainWindow.cpp:139
#38 0xb6f1d696 in App::continueInit (this=0xbf9cf7d4) at ../../src/App.cpp:545
#39 0xb6f1ee28 in App::App (this=0xbf9cf7d4) at ../../src/App.cpp:185
#40 0x0804fe8e in main (argc=<error reading variable: Cannot access memory at address 0x80>, argv=<error reading variable: Cannot access memory at address 0x84>) at ../../src/main.cpp:301


Reproducible: Always

Steps to Reproduce:
1. Use Mysql 5.5.23 (might affect other versions)
2. rename /etc/mysql/conf.d/
3. Start Amarok (2.5)
4. When the dialog is shown, wait a minute
Comment 1 Myriam Schweingruber 2012-05-16 18:10:35 UTC

*** This bug has been marked as a duplicate of bug 298425 ***