Bug 206969

Summary: crashed at startup, an iPod was plugged in before starting amarok. ok 2 days ago
Product: [Applications] amarok Reporter: Arthur Gruzauskas <debian>
Component: generalAssignee: Amarok Developers <amarok-bugs-dist>
Status: RESOLVED FIXED    
Severity: crash CC: aikawarazuni, bart.cerneels, maximilian.kossick, raultxo, RenePloetz
Priority: NOR    
Version: 2.1.80   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Arthur Gruzauskas 2009-09-10 14:02:08 UTC
Application that crashed: amarok
Version of the application: 2.1.80
KDE Version: 4.3.1 (KDE 4.3.1)
Qt Version: 4.5.2
Operating System: Linux 2.6.30-0909071 x86_64
Distribution: Debian GNU/Linux testing (squeeze)

What I was doing when the application crashed:
between now and when it worked, i have updated my debian testing system. I am willing to provide further info if needed.

 -- Backtrace:
Application: Amarok (amarok), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f4d871e07a0 (LWP 8382))]

Thread 6 (Thread 0x7f4d6f13c950 (LWP 8383)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:217
#1  0x00007f4d74ed6ca1 in ?? () from /usr/lib/libxine.so.1
#2  0x00007f4d7f5eff9a in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007f4d8484056d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f4d6d46b950 (LWP 8384)):
#0  timerSourcePrepare (source=0x237c7a0, timeout=0x7f4d6d46ae64) at kernel/qeventdispatcher_glib.cpp:147
#1  0x00007f4d7df05759 in IA__g_main_context_prepare (context=0x237be60, priority=0x7f4d6d46aee4) at /tmp/buildd/glib2.0-2.20.4/glib/gmain.c:2144
#2  0x00007f4d7df05ae9 in g_main_context_iterate (context=0x237be60, block=1, dispatch=1, self=<value optimized out>) at /tmp/buildd/glib2.0-2.20.4/glib/gmain.c:2435
#3  0x00007f4d7df05fac in IA__g_main_context_iteration (context=0x237be60, may_block=1) at /tmp/buildd/glib2.0-2.20.4/glib/gmain.c:2518
#4  0x00007f4d85b5ac1e in QEventDispatcherGlib::processEvents (this=0x22b6ce0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:329
#5  0x00007f4d85b30de2 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f4d85b311b4 in QEventLoop::exec (this=0x7f4d6d46aff0, flags=...) at kernel/qeventloop.cpp:201
#7  0x00007f4d85a49558 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#8  0x00007f4d751316ec in ?? () from /usr/lib/qt4/plugins/phonon_backend/phonon_xine.so
#9  0x00007f4d85a4c475 in QThreadPrivate::start (arg=0x237b880) at thread/qthread_unix.cpp:188
#10 0x00007f4d7f5eff9a in start_thread (arg=<value optimized out>) at pthread_create.c:300
#11 0x00007f4d8484056d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f4d6ca61950 (LWP 8387)):
#0  0x00007f4d84837d36 in *__GI___poll (fds=0x7f4d6ca60f80, nfds=1, timeout=333) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f4d6ca66849 in ?? () from /usr/lib/xine/plugins/1.26/xineplug_ao_out_alsa.so
#2  0x00007f4d7f5eff9a in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007f4d8484056d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f4d6c260950 (LWP 8388)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f4d74ee7ce3 in ?? () from /usr/lib/libxine.so.1
#2  0x00007f4d7f5eff9a in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007f4d8484056d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f4d6b656950 (LWP 8389)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f4d74ee7ce3 in ?? () from /usr/lib/libxine.so.1
#2  0x00007f4d7f5eff9a in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007f4d8484056d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f4d871e07a0 (LWP 8382)):
[KCrash Handler]
#5  SqlUserPlaylistProvider::checkTables (this=0x488db60) at ../../src/playlistmanager/sql/SqlUserPlaylistProvider.cpp:354
#6  0x00007f4d86693e5c in SqlUserPlaylistProvider (this=0x488db60) at ../../src/playlistmanager/sql/SqlUserPlaylistProvider.cpp:50
#7  0x00007f4d866867fc in PlaylistManager (this=0x488ad90) at ../../src/playlistmanager/PlaylistManager.cpp:74
#8  0x00007f4d8668687d in PlaylistManager::instance () at ../../src/playlistmanager/PlaylistManager.cpp:54
#9  0x00007f4d8657530c in Meta::MediaDeviceHandler::parseTracks (this=0x271e350) at ../../src/collection/mediadevicecollection/handler/MediaDeviceHandler.cpp:929
#10 0x00007f4d86564bb9 in MediaDeviceCollection::startFullScanDevice (this=0x26ecbe0) at ../../src/collection/mediadevicecollection/MediaDeviceCollection.cpp:176
#11 0x00007f4d86564860 in MediaDeviceCollection::slotAttemptConnectionDone (this=0x26ecbe0, success=<value optimized out>) at ../../src/collection/mediadevicecollection/MediaDeviceCollection.cpp:219
#12 0x00007f4d6a54603e in Meta::IpodHandler::init (this=0x271e350) at ../../../../src/collection/ipodcollection/handler/IpodHandler.cpp:332
#13 0x00007f4d86564006 in MediaDeviceCollection::init (this=0x2691d10, info=0x26ea3c0) at ../../src/collection/mediadevicecollection/MediaDeviceCollection.h:142
#14 MediaDeviceCollectionFactoryBase::slotDeviceDetected (this=0x2691d10, info=0x26ea3c0) at ../../src/collection/mediadevicecollection/MediaDeviceCollection.cpp:94
#15 0x00007f4d865659e9 in MediaDeviceCollectionFactoryBase::qt_metacall (this=0x2691d10, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffabe54f80) at ./MediaDeviceCollection.moc:71
#16 0x00007f4d85b47682 in QMetaObject::activate (sender=0x2688720, from_signal_index=<value optimized out>, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3112
#17 0x00007f4d8657f84f in ConnectionAssistant::identified (this=0x26e3c60, _t1=0x26ea3c0) at ./ConnectionAssistant.moc:82
#18 0x00007f4d8657fa8f in ConnectionAssistant::tellIdentified (this=0x2688720, udi=...) at ../../src/collection/mediadevicecollection/support/ConnectionAssistant.cpp:50
#19 0x00007f4d86742348 in MediaDeviceMonitor::checkOneDevice (this=0x26b1430, assistant=0x2688720, udi=...) at ../../src/MediaDeviceMonitor.cpp:118
#20 0x00007f4d86742fc0 in MediaDeviceMonitor::checkDevicesFor (this=0x26b1430, assistant=0x2688720) at ../../src/MediaDeviceMonitor.cpp:131
#21 0x00007f4d867430e6 in MediaDeviceMonitor::registerDeviceType (this=0x26b1430, assistant=0x2688720) at ../../src/MediaDeviceMonitor.cpp:158
#22 0x00007f4d86620a24 in CollectionManager::init (this=0x26e3c60) at ../../src/collection/CollectionManager.cpp:152
#23 0x00007f4d866212bd in CollectionManager::instance () at ../../src/collection/CollectionManager.cpp:65
#24 0x00007f4d8658670d in ServiceFactory (this=0x26d17f0) at ../../src/services/ServiceBase.cpp:37
#25 0x00007f4d6ac364b6 in MagnatuneServiceFactory () at ../../../../src/services/magnatune/MagnatuneStore.h:48
#26 create_plugin () at ../../../../src/services/magnatune/MagnatuneStore.cpp:49
#27 0x00007f4d867458ae in PluginManager::createFromService (service=...) at ../../src/PluginManager.cpp:109
#28 0x00007f4d8659fc59 in ServicePluginManager::collect (this=0x26a0e20) at ../../src/services/ServicePluginManager.cpp:65
#29 0x00007f4d865a030d in ServicePluginManager::instance () at ../../src/services/ServicePluginManager.cpp:32
#30 0x00007f4d864af4a4 in Model (this=0x26702b0, parent=<value optimized out>) at ../../src/playlist/PlaylistModel.cpp:65
#31 0x00007f4d864b13a5 in ModelStack (this=0x26d7310) at ../../src/playlist/PlaylistModelStack.cpp:58
#32 0x00007f4d864b149d in Playlist::ModelStack::instance () at ../../src/playlist/PlaylistModelStack.cpp:41
#33 0x00007f4d864b14b9 in The::playlist () at ../../src/playlist/PlaylistModelStack.cpp:28
#34 0x00007f4d866c262d in StatusBar (this=0x2508910, parent=<value optimized out>) at ../../src/statusbar/StatusBar.cpp:90
#35 0x00007f4d8673b74b in MainWindow (this=0x22b5a30) at ../../src/MainWindow.cpp:137
#36 0x00007f4d86718833 in App::continueInit (this=0x7fffabe56500) at ../../src/App.cpp:657
#37 0x00007f4d8671ad3e in App (this=0x7fffabe56500) at ../../src/App.cpp:222
#38 0x0000000000408ead in main (argc=1, argv=0x7fffabe58208) at ../../src/main.cpp:214

Reported using DrKonqi
Comment 1 Mikko C. 2009-09-10 14:04:26 UTC
not sure if this is already fixed... bart?
Comment 2 Myriam Schweingruber 2009-09-10 18:10:20 UTC
Media Devices would be Alejandro, no?
Comment 3 Alejandro Wainzinger 2009-09-13 19:50:16 UTC
#5  SqlUserPlaylistProvider::checkTables (this=0x488db60) at
../../src/playlistmanager/sql/SqlUserPlaylistProvider.cpp:354

^ That seems quite suggestive of a crash in SqlUserPlaylistProvider, which isn't exactly media devices.

From what I can tell, it's a case of the PlaylistManager doing Sql stuff before Sql stuff is ready (i.e., an sql query), because MediaDevice stuff is trying to talk to the PlaylistManager, which then tries to set itself up and crashes because it's too early for that.  Another unfortunate case of "attack of the singletons!" (tm).
Comment 4 Maximilian Kossick 2009-09-13 20:23:05 UTC
This has nothing to do with singletons. It's just that there is no guarantee that SqlCollection has been loaded at that point, i.e. before mediadevices are loaded (and that SqlUserPlaylistProvider does not check for a null pointer obviously). That guarantee has to be made explicitly.
Comment 5 Alejandro Wainzinger 2009-09-13 20:33:48 UTC
It's the PlaylistManager that triggers creation of the SqlUserPlaylistProvider however.  What I mean by a singleton issue, is that no matter when a singleton gets instantiated, by whomever, it should always make sure there's no crash.

In this case, something I talked over with Bart a while back makes sense, which is associating the default SqlUserPlaylistProvider with the default SqlCollection.  There's already a UserPlaylistProvider associated with each of the media device collection types.  This way, we can be sure that the collection exists when the provider is created.
Comment 6 Bart Cerneels 2009-09-14 12:43:07 UTC
To clarify #5: The idea is the SqlUserPlaylistProvider is part of the .so/plugin of SqlCollection. This is more to group functional dependencies and have the possibility in the future to run an amarok without any SQL dependency. 

There will always be a need for default providers though. The current method (calling the constructor within PlaylistManager c'tor) might not continue to work. And at the moment the default is hardcoded. I've always intended this to be configurable though rc-file or distro default.
Comment 7 Rene Ploetz 2009-10-04 12:35:30 UTC
I believe my amarok suffers from the same bug using an external mysql server.
If I first start amarok with the git-version built around 12 hours ago, at the first start amarok simply hangs displaying the logo and saying on console after a while:

<unknown program name>(16950)/: Communication problem with  "amarok" , it probably crashed. 
Error message was:  "org.freedesktop.DBus.Error.NoReply" : " "Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken." "

If I do "kbuildsycoca4 --noincremental", I can crash amarok rather reliable with the following backtrace (note that this bug does not always show up, sometimes you get to the interface but cannot fetch any data from the mysql server):

Application: Amarok (amarok), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f40bb6a3860 (LWP 17050))]

Thread 11 (Thread 0x7f40aa74c910 (LWP 17051)):
#0  0x0000003c9060b57d in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f40ae4e05c1 in ?? () from /usr/lib64/libxine.so.1
#2  0x0000003c9060686a in start_thread () from /lib64/libpthread.so.0
#3  0x0000003c8fade3bd in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7f40a9739910 (LWP 17052)):
#0  0x0000003c8fad50d3 in poll () from /lib64/libc.so.6
#1  0x0000003a96e3aecc in ?? () from /lib64/libglib-2.0.so.0
#2  0x0000003a96e3b20a in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x0000003a97f6798e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#4  0x0000003a97f3ded2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x0000003a97f3e2a4 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x0000003a97e56f8b in QThread::exec() () from /usr/lib64/libQtCore.so.4
#7  0x00007f40ae739b3e in Phonon::MediaSource::type() const () from /usr/lib64/kde4/plugins/phonon_backend/phonon_xine.so
#8  0x0000003a97e59d45 in ?? () from /usr/lib64/libQtCore.so.4
#9  0x0000003c9060686a in start_thread () from /lib64/libpthread.so.0
#10 0x0000003c8fade3bd in clone () from /lib64/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7f409fffe910 (LWP 17061)):
#0  0x0000003c90608875 in __pthread_mutex_lock_full () from /lib64/libpthread.so.0
#1  0x00000035d8a421fb in pa_mutex_lock () from /usr/lib64/libpulsecommon-0.9.15.so
#2  0x00000035d923382a in ?? () from /usr/lib64/libpulse.so.0
#3  0x00000035d92212d4 in pa_mainloop_poll () from /usr/lib64/libpulse.so.0
#4  0x00000035d9221683 in pa_mainloop_iterate () from /usr/lib64/libpulse.so.0
#5  0x00000035d92216f6 in pa_mainloop_run () from /usr/lib64/libpulse.so.0
#6  0x00000035d9233898 in ?? () from /usr/lib64/libpulse.so.0
#7  0x00000035d8a42c4f in ?? () from /usr/lib64/libpulsecommon-0.9.15.so
#8  0x0000003c9060686a in start_thread () from /lib64/libpthread.so.0
#9  0x0000003c8fade3bd in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7f409f5fd910 (LWP 17062)):
#0  0x0000003c90608875 in __pthread_mutex_lock_full () from /lib64/libpthread.so.0
#1  0x00000035d8a421fb in pa_mutex_lock () from /usr/lib64/libpulsecommon-0.9.15.so
#2  0x00000035d9233eac in pa_threaded_mainloop_lock () from /usr/lib64/libpulse.so.0
#3  0x00007f40a8727b72 in snd_config_iterator_end () from /usr/lib64/alsa-lib/libasound_module_ctl_pulse.so
#4  0x00000035d963b898 in snd_hctl_handle_events () from /lib64/libasound.so.2
#5  0x00000035d96455b9 in snd_mixer_handle_events () from /lib64/libasound.so.2
#6  0x00007f40a8b35974 in snd_pcm_sw_params_set_start_threshold () from /usr/lib64/xine/plugins/1.26/xineplug_ao_out_alsa.so
#7  0x0000003c9060686a in start_thread () from /lib64/libpthread.so.0
#8  0x0000003c8fade3bd in clone () from /lib64/libc.so.6
#9  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f409ebfc910 (LWP 17063)):
#0  0x0000003c9060b2f9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f40ae4f1493 in ?? () from /usr/lib64/libxine.so.1
#2  0x0000003c9060686a in start_thread () from /lib64/libpthread.so.0
#3  0x0000003c8fade3bd in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f409e1fb910 (LWP 17064)):
#0  0x0000003c9060b2f9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f40ae4f1493 in ?? () from /usr/lib64/libxine.so.1
#2  0x0000003c9060686a in start_thread () from /lib64/libpthread.so.0
#3  0x0000003c8fade3bd in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f409d7fa910 (LWP 17065)):
#0  0x0000003c9060b2f9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f40ae4f1493 in ?? () from /usr/lib64/libxine.so.1
#2  0x0000003c9060686a in start_thread () from /lib64/libpthread.so.0
#3  0x0000003c8fade3bd in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f4094d41910 (LWP 17067)):
#0  0x0000003c8fad14bb in read () from /lib64/libc.so.6
#1  0x00007f409c8380a9 in vio_read_buff () from /usr/lib64/mysql/libmysqlclient.so.16
#2  0x00007f409c83926f in ?? () from /usr/lib64/mysql/libmysqlclient.so.16
#3  0x00007f409c839548 in my_net_read () from /usr/lib64/mysql/libmysqlclient.so.16
#4  0x00007f409c833b32 in cli_safe_read () from /usr/lib64/mysql/libmysqlclient.so.16
#5  0x00007f409c8342f9 in ?? () from /usr/lib64/mysql/libmysqlclient.so.16
#6  0x00007f409c83262c in mysql_real_query () from /usr/lib64/mysql/libmysqlclient.so.16
#7  0x00007f409cbd562b in MySqlCollection::query (this=0x1d484e0, statement=@0x7f4094d40e40) at /usr/src/debug/amarok-2.2.1/src/collection/mysql-shared/MySqlCollection.cpp:119
#8  0x00007f409cbd7343 in MySqlServerCollection::query (this=0x1d484e0, query=@0x7f4094d40e40) at /usr/src/debug/amarok-2.2.1/src/collection/mysqlservercollection/MySqlServerCollection.cpp:144
#9  0x00007f409cbb0b11 in SqlQueryMaker::runQuery (this=<value optimized out>, query=@0x4000) at /usr/src/debug/amarok-2.2.1/src/collection/sqlcollection/SqlQueryMaker.cpp:727
#10 0x00007f409cbb9ee6 in SqlWorkerThread::run (this=0x222c150) at /usr/src/debug/amarok-2.2.1/src/collection/sqlcollection/SqlQueryMaker.cpp:54
#11 0x0000003aa260befd in ?? () from /usr/lib64/libthreadweaver.so.4
#12 0x0000003aa260c1fe in ThreadWeaver::Job::execute(ThreadWeaver::Thread*) () from /usr/lib64/libthreadweaver.so.4
#13 0x0000003aa260b1ef in ?? () from /usr/lib64/libthreadweaver.so.4
#14 0x0000003aa260b658 in ThreadWeaver::Thread::run() () from /usr/lib64/libthreadweaver.so.4
#15 0x0000003a97e59d45 in ?? () from /usr/lib64/libQtCore.so.4
#16 0x0000003c9060686a in start_thread () from /lib64/libpthread.so.0
#17 0x0000003c8fade3bd in clone () from /lib64/libc.so.6
#18 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f408bfff910 (LWP 17068)):
[KCrash Handler]
#5  0x00007f409c839282 in ?? () from /usr/lib64/mysql/libmysqlclient.so.16
#6  0x00007f409c839548 in my_net_read () from /usr/lib64/mysql/libmysqlclient.so.16
#7  0x00007f409c833b32 in cli_safe_read () from /usr/lib64/mysql/libmysqlclient.so.16
#8  0x00007f409c835d08 in cli_advanced_command () from /usr/lib64/mysql/libmysqlclient.so.16
#9  0x00007f409c80504d in mysql_ping () from /usr/lib64/mysql/libmysqlclient.so.16
#10 0x00007f409cbd70de in MySqlServerCollection::query (this=0x1d484e0, query=@0x7f408bffee40) at /usr/src/debug/amarok-2.2.1/src/collection/mysqlservercollection/MySqlServerCollection.cpp:126
#11 0x00007f409cbb0b11 in SqlQueryMaker::runQuery (this=<value optimized out>, query=@0x0) at /usr/src/debug/amarok-2.2.1/src/collection/sqlcollection/SqlQueryMaker.cpp:727
#12 0x00007f409cbb9ee6 in SqlWorkerThread::run (this=0x223de90) at /usr/src/debug/amarok-2.2.1/src/collection/sqlcollection/SqlQueryMaker.cpp:54
#13 0x0000003aa260befd in ?? () from /usr/lib64/libthreadweaver.so.4
#14 0x0000003aa260c1fe in ThreadWeaver::Job::execute(ThreadWeaver::Thread*) () from /usr/lib64/libthreadweaver.so.4
#15 0x0000003aa260b1ef in ?? () from /usr/lib64/libthreadweaver.so.4
#16 0x0000003aa260b658 in ThreadWeaver::Thread::run() () from /usr/lib64/libthreadweaver.so.4
#17 0x0000003a97e59d45 in ?? () from /usr/lib64/libQtCore.so.4
#18 0x0000003c9060686a in start_thread () from /lib64/libpthread.so.0
#19 0x0000003c8fade3bd in clone () from /lib64/libc.so.6
#20 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f408b5fe910 (LWP 17069)):
#0  0x0000003c9060b2f9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x0000003a97e59593 in ?? () from /usr/lib64/libQtCore.so.4
#2  0x0000003a97e55115 in QMutex::lock() () from /usr/lib64/libQtCore.so.4
#3  0x00007f409cbd5763 in QMutexLocker::relock (this=<value optimized out>) at /usr/include/QtCore/qmutex.h:120
#4  QMutexLocker (this=<value optimized out>) at /usr/include/QtCore/qmutex.h:102
#5  MySqlCollection::query (this=<value optimized out>) at /usr/src/debug/amarok-2.2.1/src/collection/mysql-shared/MySqlCollection.cpp:110
#6  0x00007f409cbd7343 in MySqlServerCollection::query (this=0x1d484e0, query=@0x7f408b5fde40) at /usr/src/debug/amarok-2.2.1/src/collection/mysqlservercollection/MySqlServerCollection.cpp:144
#7  0x00007f409cbb0b11 in SqlQueryMaker::runQuery (this=<value optimized out>, query=@0x2) at /usr/src/debug/amarok-2.2.1/src/collection/sqlcollection/SqlQueryMaker.cpp:727
#8  0x00007f409cbb9ee6 in SqlWorkerThread::run (this=0x22426b0) at /usr/src/debug/amarok-2.2.1/src/collection/sqlcollection/SqlQueryMaker.cpp:54
#9  0x0000003aa260befd in ?? () from /usr/lib64/libthreadweaver.so.4
#10 0x0000003aa260c1fe in ThreadWeaver::Job::execute(ThreadWeaver::Thread*) () from /usr/lib64/libthreadweaver.so.4
#11 0x0000003aa260b1ef in ?? () from /usr/lib64/libthreadweaver.so.4
#12 0x0000003aa260b658 in ThreadWeaver::Thread::run() () from /usr/lib64/libthreadweaver.so.4
#13 0x0000003a97e59d45 in ?? () from /usr/lib64/libQtCore.so.4
#14 0x0000003c9060686a in start_thread () from /lib64/libpthread.so.0
#15 0x0000003c8fade3bd in clone () from /lib64/libc.so.6
#16 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f40bb6a3860 (LWP 17050)):
#0  0x0000003c9060b2f9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x0000003a97e59593 in ?? () from /usr/lib64/libQtCore.so.4
#2  0x0000003a97e55115 in QMutex::lock() () from /usr/lib64/libQtCore.so.4
#3  0x00007f409cbd5763 in QMutexLocker::relock (this=<value optimized out>) at /usr/include/QtCore/qmutex.h:120
#4  QMutexLocker (this=<value optimized out>) at /usr/include/QtCore/qmutex.h:102
#5  MySqlCollection::query (this=<value optimized out>) at /usr/src/debug/amarok-2.2.1/src/collection/mysql-shared/MySqlCollection.cpp:110
#6  0x00007f409cbd7343 in MySqlServerCollection::query (this=0x1d484e0, query=@0x7ffffafba550) at /usr/src/debug/amarok-2.2.1/src/collection/mysqlservercollection/MySqlServerCollection.cpp:144
#7  0x00007f40bc3a790d in Meta::SqlPlaylistGroup::childSqlGroups (this=0x1dbba70) at /usr/src/debug/amarok-2.2.1/src/playlistmanager/sql/SqlPlaylistGroup.cpp:141
#8  0x00007f40bc3a7c40 in Meta::SqlPlaylistGroup::allChildPlaylists (this=0x1dbba70) at /usr/src/debug/amarok-2.2.1/src/playlistmanager/sql/SqlPlaylistGroup.cpp:211
#9  0x00007f40bc39b68e in SqlUserPlaylistProvider::playlists (this=<value optimized out>) at /usr/src/debug/amarok-2.2.1/src/playlistmanager/sql/SqlUserPlaylistProvider.cpp:63
#10 0x00007f40bc392468 in PlaylistManager::playlistsOfCategory (this=<value optimized out>, playlistCategory=2) at /usr/src/debug/amarok-2.2.1/src/playlistmanager/PlaylistManager.cpp:159
#11 0x00007f40bc3768ff in PlaylistBrowserNS::UserModel::loadPlaylists (this=0x2215670) at /usr/src/debug/amarok-2.2.1/src/browsers/playlistbrowser/UserPlaylistModel.cpp:123
#12 0x00007f40bc376b0b in PlaylistBrowserNS::UserModel::UserModel (this=0x2215670) at /usr/src/debug/amarok-2.2.1/src/browsers/playlistbrowser/UserPlaylistModel.cpp:75
#13 0x00007f40bc376b7f in PlaylistBrowserNS::UserModel::instance () at /usr/src/debug/amarok-2.2.1/src/browsers/playlistbrowser/UserPlaylistModel.cpp:53
#14 0x00007f40bc37cf79 in PlaylistBrowserNS::PlaylistCategory::PlaylistCategory(struct QWidget *) (this=0x223dc80, parent=<value optimized out>)
    at /usr/src/debug/amarok-2.2.1/src/browsers/playlistbrowser/PlaylistCategory.cpp:60
#15 0x00007f40bc36f127 in PlaylistBrowserNS::PlaylistBrowser::addCategory (this=0x21f4c70, category=<value optimized out>)
    at /usr/src/debug/amarok-2.2.1/src/browsers/playlistbrowser/PlaylistBrowser.cpp:92
#16 0x00007f40bc36f5cd in PlaylistBrowserNS::PlaylistBrowser::PlaylistBrowser(const char *, struct QWidget *) (this=0x21f4c70, name=<value optimized out>, parent=<value optimized out>)
    at /usr/src/debug/amarok-2.2.1/src/browsers/playlistbrowser/PlaylistBrowser.cpp:59
#17 0x00007f40bc45401c in MainWindow::init (this=0x1662270) at /usr/src/debug/amarok-2.2.1/src/MainWindow.cpp:330
#18 0x00007f40bc4550d2 in MainWindow::MainWindow (this=0x1662270) at /usr/src/debug/amarok-2.2.1/src/MainWindow.cpp:163
#19 0x00007f40bc42f203 in App::continueInit (this=0x7ffffafbbcf0) at /usr/src/debug/amarok-2.2.1/src/App.cpp:667
#20 0x00007f40bc431886 in App::App (this=0x7ffffafbbcf0) at /usr/src/debug/amarok-2.2.1/src/App.cpp:225
#21 0x0000000000409efd in main (argc=<value optimized out>, argv=0x7ffffafbdaf8) at /usr/src/debug/amarok-2.2.1/src/main.cpp:225
Comment 8 Mark Kretschmann 2009-10-04 13:12:15 UTC
@Rene: Your crash is apparently unrelated to iPods. It's crashing in MySQL:


#5  0x00007f409c839282 in ?? () from /usr/lib64/mysql/libmysqlclient.so.16
#6  0x00007f409c839548 in my_net_read () from
/usr/lib64/mysql/libmysqlclient.so.16
#7  0x00007f409c833b32 in cli_safe_read () from
/usr/lib64/mysql/libmysqlclient.so.16
#8  0x00007f409c835d08 in cli_advanced_command () from
/usr/lib64/mysql/libmysqlclient.so.16
#9  0x00007f409c80504d in mysql_ping () from
/usr/lib64/mysql/libmysqlclient.so.16
#10 0x00007f409cbd70de in MySqlServerCollection::query (this=0x1d484e0,
query=@0x7f408bffee40) at
/usr/src/debug/amarok-2.2.1/src/collection/mysqlservercollection/MySqlServerCollection.cpp:126
Comment 9 Mikko C. 2009-10-04 13:37:09 UTC
@Rene: you might want to look at bug #209380 it seems very similar
Comment 10 Myriam Schweingruber 2009-11-16 22:16:13 UTC
Bart, Alejandro, any news on this?
Comment 11 Bart Cerneels 2009-11-17 09:21:03 UTC
Assuming this was caused by the sqlStorage not being available, the recent obsessive pointer checking would have fixed this.
Comment 12 Myriam Schweingruber 2009-11-17 10:29:56 UTC
OK, closing as fixed for now. Feel free to reopen this report if you can reproduce this with current Amarok 2.2.1 or higher.
Comment 13 Dario Andres 2010-04-06 15:09:45 UTC
*** Bug 233489 has been marked as a duplicate of this bug. ***