Bug 210363 - Crash in DaapCollection on startup
Summary: Crash in DaapCollection on startup
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: Collections/DAAP (show other bugs)
Version: 2.3-GIT
Platform: Unlisted Binaries Linux
: HI crash
Target Milestone: ---
Assignee: Amarok Developers
URL:
Keywords:
: 210379 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-10-12 19:57 UTC by Myriam Schweingruber
Modified: 2009-10-14 09:29 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Myriam Schweingruber 2009-10-12 19:57:05 UTC
Application that crashed: amarok
Version of the application: 2.2-GIT
KDE Version: 4.3.2 (KDE 4.3.2)
Qt Version: 4.5.2
Operating System: Linux 2.6.31-13-generic x86_64
Distribution: Ubuntu karmic (development branch)

What I was doing when the application crashed:
New git build of today, I get an instant crash with the following console output:

...
amarok:   BEGIN: virtual void ConnectionAssistant::tellIdentified(const QString&)
amarok:     BEGIN: const QString MediaDeviceCache::volumeMountPoint(const QString&) const
amarok:     END__: const QString MediaDeviceCache::volumeMountPoint(const QString&) const - Took 3.5e-05s
amarok:     BEGIN: UmsCollection::UmsCollection(MediaDeviceInfo*)
amarok:       [UmsCollection] Mounted at:  "/media/MyBook"
amarok:       BEGIN: Meta::MediaDeviceHandler::MediaDeviceHandler(QObject*)
amarok:       END__: Meta::MediaDeviceHandler::MediaDeviceHandler(QObject*) - Took 5.4e-05s
amarok:       BEGIN: Meta::UmsHandler::UmsHandler(UmsCollection*, const QString&)
amarok:       END__: Meta::UmsHandler::UmsHandler(UmsCollection*, const QString&) - Took 3.4e-05s
amarok:     END__: UmsCollection::UmsCollection(MediaDeviceInfo*) - Took 0.00051s
amarok:     BEGIN: virtual void Meta::UmsHandler::init()
amarok:       [UmsHandler] Got .is_audio_player file
amarok:       [UmsHandler] Succeeded: true
amarok:     END__: virtual void Meta::UmsHandler::init() - Took 0.00017s
amarok:   END__: virtual void ConnectionAssistant::tellIdentified(const QString&) - Took 0.00086s
amarok: END__: void MediaDeviceMonitor::checkDevicesFor(ConnectionAssistant*) - Took 0.021s
amarok: BEGIN: void DaapCollectionFactory::connectToManualServers()
KCrash: Application 'amarok' crashing...
sock_file=/home/myriam/.kde/socket-filouebuntu/kdeinit4__0




 -- Backtrace:
Application: Amarok (amarok), signal: Segmentation fault
The current source language is "auto; currently c".
[Current thread is 1 (Thread 0x7fe88a75b770 (LWP 19341))]

Thread 8 (Thread 0x7fe871c9d910 (LWP 19342)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:220
#1  0x00007fe876a51c91 in metronom_sync_loop (this=0x1d95880) at metronom.c:870
#2  0x00007fe882410a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007fe887dac7bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7fe87011d910 (LWP 19343)):
#0  0xffffffffff60017b in ?? ()
#1  0x00007fe87011cd10 in ?? ()
#2  0x00007fff3c091782 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
The current source language is "auto; currently asm".

Thread 6 (Thread 0x7fe86f712910 (LWP 19346)):
#0  0x00007fe887da0373 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=333) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fe86f718cbe in my_snd_mixer_wait (data=<value optimized out>) at audio_alsa_out.c:150
#2  ao_alsa_handle_event_thread (data=<value optimized out>) at audio_alsa_out.c:166
#3  0x00007fe882410a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#4  0x00007fe887dac7bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7fe86ef11910 (LWP 19347)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007fe876a62983 in fifo_peek_int (this_gen=<value optimized out>) at audio_out.c:348
#2  fifo_peek (this_gen=<value optimized out>) at audio_out.c:388
#3  ao_loop (this_gen=<value optimized out>) at audio_out.c:1015
#4  0x00007fe882410a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#5  0x00007fe887dac7bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()
The current source language is "auto; currently c".

Thread 4 (Thread 0x7fe86e305910 (LWP 19348)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007fe876a62983 in fifo_peek_int (this_gen=<value optimized out>) at audio_out.c:348
#2  fifo_peek (this_gen=<value optimized out>) at audio_out.c:388
#3  ao_loop (this_gen=<value optimized out>) at audio_out.c:1015
#4  0x00007fe882410a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#5  0x00007fe887dac7bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()
The current source language is "auto; currently asm".

Thread 3 (Thread 0x7fe86db04910 (LWP 19349)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007fe876a62983 in fifo_peek_int (this_gen=<value optimized out>) at audio_out.c:348
#2  fifo_peek (this_gen=<value optimized out>) at audio_out.c:388
#3  ao_loop (this_gen=<value optimized out>) at audio_out.c:1015
#4  0x00007fe882410a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#5  0x00007fe887dac7bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fe867fff910 (LWP 19351)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007fe8883ab4fb in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x1da0930, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x1da0930, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007fe88505e326 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x1feb9b0, th=0x1b913e0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fe88506045b in ThreadWeaver::WorkingHardState::applyForWork (this=0x1fe16d0, th=0x1b913e0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fe88505ea5f in ThreadWeaver::ThreadRunHelper::run (this=0x7fe867fff030, parent=0x1feb9b0, th=0x1b913e0) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007fe88505eeb8 in ThreadWeaver::Thread::run (this=0x1b913e0) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007fe8883aa445 in QThreadPrivate::start (arg=0x1b913e0) at thread/qthread_unix.cpp:188
#8  0x00007fe882410a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#9  0x00007fe887dac7bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fe88a75b770 (LWP 19341)):
[KCrash Handler]
#5  QBasicAtomicInt::ref (this=0x2043c00, s=..., number=false) at ../../include/QtCore/../../src/corelib/arch/qatomic_x86_64.h:121
#6  QString (this=0x2043c00, s=..., number=false) at ../../include/QtCore/../../src/corelib/tools/qstring.h:712
#7  QTextStreamPrivate::putString (this=0x2043c00, s=..., number=false) at io/qtextstream.cpp:933
#8  0x00007fe88843bb56 in QTextStream::operator<< (this=0x1f85820, string=...) at io/qtextstream.cpp:2511
#9  0x00007fe8666ccc85 in QDebug::operator<< (this=0x1f89c90) at /usr/include/qt4/QtCore/qdebug.h:108
#10 DaapCollectionFactory::connectToManualServers (this=0x1f89c90) at /build/buildd/amarok-2.2.0/src/collection/daap/DaapCollection.cpp:75
#11 0x00007fe8666cd20c in DaapCollectionFactory::qt_metacall (this=0x1f89c90, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff3c07fcb0)
    at /build/buildd/amarok-2.2.0/obj-x86_64-linux-gnu/src/collection/daap/DaapCollection.moc:81
#12 0x00007fe8884a5ddc in QMetaObject::activate (sender=0x1fab430, from_signal_index=<value optimized out>, to_signal_index=<value optimized out>, argv=0x1) at kernel/qobject.cpp:3113
#13 0x00007fe8884aae1f in QSingleShotTimer::timerEvent (this=0x1fab430) at kernel/qtimer.cpp:298
#14 0x00007fe88849fd83 in QObject::event (this=0x1fab430, e=0x1d21fa8) at kernel/qobject.cpp:1075
#15 0x00007fe888db0efc in QApplicationPrivate::notify_helper (this=0x1b9dc70, receiver=0x1fab430, e=0x7fff3c0802c0) at kernel/qapplication.cpp:4056
#16 0x00007fe888db81ce in QApplication::notify (this=0x7fff3c0817a0, receiver=0x1fab430, e=0x7fff3c0802c0) at kernel/qapplication.cpp:4021
#17 0x00007fe88a31ca66 in KApplication::notify (this=0x7fff3c0817a0, receiver=0x1fab430, event=0x7fff3c0802c0) at ../../kdeui/kernel/kapplication.cpp:302
#18 0x00007fe888490c2c in QCoreApplication::notifyInternal (this=0x7fff3c0817a0, receiver=0x1fab430, event=0x7fff3c0802c0) at kernel/qcoreapplication.cpp:610
#19 0x00007fe8884bb862 in QCoreApplication::sendEvent (this=0x1b99620) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#20 QTimerInfoList::activateTimers (this=0x1b99620) at kernel/qeventdispatcher_unix.cpp:572
#21 0x00007fe8884b925d in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:165
#22 0x00007fe880b21bbe in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#23 0x00007fe880b25588 in ?? () from /lib/libglib-2.0.so.0
#24 0x00007fe880b256b0 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#25 0x00007fe8884b91a6 in QEventDispatcherGlib::processEvents (this=0x1a7cb90, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:327
#26 0x00007fe888e454be in QGuiEventDispatcherGlib::processEvents (this=0x2043c00, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#27 0x00007fe88848f532 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#28 0x00007fe88848f904 in QEventLoop::exec (this=0x7fff3c080560, flags=) at kernel/qeventloop.cpp:201
#29 0x00007fe88922b9de in QDialog::exec (this=0x1fc1620) at dialogs/qdialog.cpp:498
#30 0x00007fe88a2a3135 in KMessageBox::createKMessageBox (dialog=<value optimized out>, icon=<value optimized out>, text=<value optimized out>, strlist=<value optimized out>, 
    ask=<value optimized out>, checkboxReturn=<value optimized out>, options=) at ../../kdeui/dialogs/kmessagebox.cpp:331
#31 0x00007fe88a2a43b0 in KMessageBox::createKMessageBox (dialog=<value optimized out>, icon=QMessageBox::Critical, text=<value optimized out>, strlist=<value optimized out>, ask=..., 
    checkboxReturn=0x0, options=..., details=...) at ../../kdeui/dialogs/kmessagebox.cpp:151
#32 0x00007fe88a2a5273 in KMessageBox::errorListWId (parent_id=0, text=..., strlist=..., caption=..., options=) at ../../kdeui/dialogs/kmessagebox.cpp:849
#33 0x00007fe88a2a5472 in KMessageBox::error (parent=<value optimized out>, text=..., caption=..., options=<value optimized out>) at ../../kdeui/dialogs/kmessagebox.cpp:813
#34 0x00007fe889c5eda3 in PluginManager::createFromService (service=...) at /home/myriam/kde/src/amarok/src/PluginManager.cpp:98
#35 0x00007fe889ad220c in ServicePluginManager::collect (this=0x1f08c60) at /home/myriam/kde/src/amarok/src/services/ServicePluginManager.cpp:65
#36 0x00007fe889ad1f9c in ServicePluginManager (this=0x1f08c60) at /home/myriam/kde/src/amarok/src/services/ServicePluginManager.cpp:42
#37 0x00007fe889ad1eb9 in ServicePluginManager::instance () at /home/myriam/kde/src/amarok/src/services/ServicePluginManager.cpp:32
#38 0x00007fe8899e532a in Model (this=0x1f098f0, parent=0x1d23460) at /home/myriam/kde/src/amarok/src/playlist/PlaylistModel.cpp:66
#39 0x00007fe8899f06d1 in ModelStack (this=0x1d23460) at /home/myriam/kde/src/amarok/src/playlist/PlaylistModelStack.cpp:58
#40 0x00007fe8899f0499 in Playlist::ModelStack::instance () at /home/myriam/kde/src/amarok/src/playlist/PlaylistModelStack.cpp:41
#41 0x00007fe8899f0461 in The::playlist () at /home/myriam/kde/src/amarok/src/playlist/PlaylistModelStack.cpp:28
#42 0x00007fe889be207e in StatusBar (this=0x1d9eff0, parent=0x1d24390) at /home/myriam/kde/src/amarok/src/statusbar/StatusBar.cpp:88
#43 0x00007fe889c4ba7a in MainWindow (this=0x1d24390) at /home/myriam/kde/src/amarok/src/MainWindow.cpp:145
#44 0x00007fe889c30462 in App::continueInit (this=0x7fff3c0817a0) at /home/myriam/kde/src/amarok/src/App.cpp:663
#45 0x00007fe889c2c77a in App (this=0x7fff3c0817a0) at /home/myriam/kde/src/amarok/src/App.cpp:223
#46 0x0000000000406d40 in main (argc=3, argv=0x7fff3c083598) at /home/myriam/kde/src/amarok/src/main.cpp:225
The current source language is "auto; currently c".

Reported using DrKonqi
Comment 1 Myriam Schweingruber 2009-10-12 20:00:50 UTC
Ian, could you have a look, please? I can't start Amarok anymore at all...
Comment 2 Mark Kretschmann 2009-10-13 07:01:31 UTC
*** Bug 210379 has been marked as a duplicate of this bug. ***
Comment 3 Mark Kretschmann 2009-10-13 07:04:15 UTC
I have also seen this crash several times. This bug has been in Amarok since about forever (beginning of 2.0 development or so).

Note: I'm not even using DAAP at all. It crashes anyway. I find that very serious.
Comment 4 Mark Kretschmann 2009-10-14 09:13:53 UTC
This is what we found out:


09:11 < markey> eean: args, I realized where that DAAP crash might come from. when a plugin couldn't be loaded correctly, PluginManager shows a warning dialog. it should block,
                but somehow that DAAP collection code gets executed in the meantime
09:11 < markey>         KMessageBox::error( 0, i18n( "<p>KLibLoader could not load the plugin:<br/><i>%1</i></p>"
09:11 < markey>                                      "<p>Error message:<br/><i>%2</i></p>",
09:11 < markey>                                      service->library(),
09:11 < markey>                                      loader->lastErrorMessage() ) );
09:11 < markey> and that == FAIL
09:11 < eean> yea it doesn't block
09:11 < eean> it processevents
09:11 < markey> it's coincidence that it happens with DAAP, it's just because that's the first loaded plugin
Comment 5 Mark Kretschmann 2009-10-14 09:29:34 UTC
Ok, I think I've fixed it:


commit 65fd8ba50bfc6e797f4c1c243f4ac745a28482ae
Author: Mark Kretschmann <kretschmann@kde.org>
Date:   Wed Oct 14 09:26:54 2009 +0200

    Fix stupid random crash with loading DaapCollection.

    The crash wasn't actually caused by the collection itself, but rather
    by a warning dialog that PluginManager showed. Thanks to processEvents()
    greatness, other things ran concurrently while it should have blocked.

    BUG: 210363