Bug 263145

Summary: [patch] Crash when clicking query similar artists with nothing playing [@ SimilarArtistsApplet::queryForCurrentTrack]
Product: [Applications] amarok Reporter: Tuomas Nurmi <tuomas>
Component: Context View/Similar ArtistsAssignee: Amarok Developers <amarok-bugs-dist>
Status: RESOLVED FIXED    
Severity: crash CC: jclavel, lfranchi, schachwhiz
Priority: NOR    
Version: 2.4-GIT   
Target Milestone: 2.4.1   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 2.4.1
Sentry Crash Report:
Attachments: Simple patch fixing the crash

Description Tuomas Nurmi 2011-01-14 14:25:40 UTC
Application: amarok (2.4-GIT)
KDE Platform Version: 4.5.95 (4.6 RC2)
Qt Version: 4.7.1
Operating System: Linux 2.6.34.7-0.7-desktop x86_64
Distribution: "openSUSE 11.3 (x86_64)"

-- Information about the crash:
Clicking "Show similar artists for currently playing track" in Similar Artists ContextView applet crashes if nothing's playing.

The crash can be reproduced every time.

-- Backtrace:
Application: Amarok (amarok), signal: Aborted
[Current thread is 1 (Thread 0x7f8e8b40e7a0 (LWP 7994))]

Thread 16 (Thread 0x7f8e6a2bb710 (LWP 7997)):
#0  0x00007f8e85eaf709 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f8e6cc45951 in metronom_sync_loop () from /usr/lib64/libxine.so.1
#2  0x00007f8e85eaaa4f in start_thread () from /lib64/libpthread.so.0
#3  0x00007f8e8801e82d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 15 (Thread 0x7f8e69aba710 (LWP 7998)):
#0  0x00007f8e85ead084 in pthread_mutex_lock () from /lib64/libpthread.so.0
#1  0x00007f8e80739fae in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f8e8073ae69 in ?? () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f8e8073b510 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#4  0x00007f8e89604ae6 in QEventDispatcherGlib::processEvents (this=0xa1e280, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007f8e895d9262 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f8e895d9475 in QEventLoop::exec (this=0x7f8e69ab9cd0, flags=...) at kernel/qeventloop.cpp:201
#7  0x00007f8e894ec1a4 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#8  0x00007f8e6cea35e4 in ?? () from /usr/lib64/kde4/plugins/phonon_backend/phonon_xine.so
#9  0x00007f8e894eea1e in QThreadPrivate::start (arg=0x9abcc0) at thread/qthread_unix.cpp:285
#10 0x00007f8e7b481ae3 in ?? () from /usr/X11R6/lib64/libGL.so.1
#11 0x00007f8e85eaaa4f in start_thread () from /lib64/libpthread.so.0
#12 0x00007f8e8801e82d in clone () from /lib64/libc.so.6
#13 0x0000000000000000 in ?? ()

Thread 14 (Thread 0x7f8e68ca1710 (LWP 7999)):
#0  0x00007f8e85eaf39c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f8e6cc5796b in ao_loop () from /usr/lib64/libxine.so.1
#2  0x00007f8e85eaaa4f in start_thread () from /lib64/libpthread.so.0
#3  0x00007f8e8801e82d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 13 (Thread 0x7f8e683a1710 (LWP 8000)):
#0  0x00007f8e85eaf39c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f8e6cc5796b in ao_loop () from /usr/lib64/libxine.so.1
#2  0x00007f8e85eaaa4f in start_thread () from /lib64/libpthread.so.0
#3  0x00007f8e8801e82d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 12 (Thread 0x7f8e678b0710 (LWP 8003)):
#0  0x00007f8e880156b3 in poll () from /lib64/libc.so.6
#1  0x00007f8e678b59d7 in ao_alsa_handle_event_thread () from /usr/lib64/xine/plugins/1.29/xineplug_ao_out_alsa.so
#2  0x00007f8e85eaaa4f in start_thread () from /lib64/libpthread.so.0
#3  0x00007f8e8801e82d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7f8e670af710 (LWP 8004)):
#0  0x00007f8e85eaf39c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f8e6cc5796b in ao_loop () from /usr/lib64/libxine.so.1
#2  0x00007f8e85eaaa4f in start_thread () from /lib64/libpthread.so.0
#3  0x00007f8e8801e82d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7f8e65827710 (LWP 8006)):
#0  0x00007f8e880156b3 in poll () from /lib64/libc.so.6
#1  0x00007f8e8073afd4 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f8e8073b510 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f8e89604ae6 in QEventDispatcherGlib::processEvents (this=0xe80a60, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007f8e895d9262 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f8e895d9475 in QEventLoop::exec (this=0x7f8e65826ce0, flags=...) at kernel/qeventloop.cpp:201
#6  0x00007f8e894ec1a4 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007f8e895ba918 in QInotifyFileSystemWatcherEngine::run (this=0xe82970) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f8e894eea1e in QThreadPrivate::start (arg=0xe82970) at thread/qthread_unix.cpp:285
#9  0x00007f8e7b481ae3 in ?? () from /usr/X11R6/lib64/libGL.so.1
#10 0x00007f8e85eaaa4f in start_thread () from /lib64/libpthread.so.0
#11 0x00007f8e8801e82d in clone () from /lib64/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7f8e5daf8710 (LWP 8007)):
#0  0x00007f8e85eaf39c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f8e894ef10b in wait (this=<value optimized out>, mutex=0x11f7a10, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x11f7a10, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f8e852cd254 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x11f7640, th=0x11f7f70) at /usr/src/debug/kdelibs-4.5.95/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f8e852d02a5 in waitForAvailableJob (this=0x11f3570, th=0x11f7f70) at /usr/src/debug/kdelibs-4.5.95/threadweaver/Weaver/WeaverImpl.cpp:356
#5  ThreadWeaver::WorkingHardState::applyForWork (this=0x11f3570, th=0x11f7f70) at /usr/src/debug/kdelibs-4.5.95/threadweaver/Weaver/WorkingHardState.cpp:71
#6  0x00007f8e852cd64f in ThreadWeaver::ThreadRunHelper::run (this=0x7f8e5daf7d30, parent=0x11f7640, th=0x11f7f70) at /usr/src/debug/kdelibs-4.5.95/threadweaver/Weaver/Thread.cpp:87
#7  0x00007f8e852cd6d8 in ThreadWeaver::Thread::run (this=0x11f7f70) at /usr/src/debug/kdelibs-4.5.95/threadweaver/Weaver/Thread.cpp:142
#8  0x00007f8e894eea1e in QThreadPrivate::start (arg=0x11f7f70) at thread/qthread_unix.cpp:285
#9  0x00007f8e7b481ae3 in ?? () from /usr/X11R6/lib64/libGL.so.1
#10 0x00007f8e85eaaa4f in start_thread () from /lib64/libpthread.so.0
#11 0x00007f8e8801e82d in clone () from /lib64/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7f8e5d2f7710 (LWP 8008)):
#0  0x00007f8e85eaf39c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f8e894ef10b in wait (this=<value optimized out>, mutex=0x11f7a10, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x11f7a10, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f8e852cd254 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x11f7640, th=0x1206960) at /usr/src/debug/kdelibs-4.5.95/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f8e852d02a5 in waitForAvailableJob (this=0x11f3570, th=0x1206960) at /usr/src/debug/kdelibs-4.5.95/threadweaver/Weaver/WeaverImpl.cpp:356
#5  ThreadWeaver::WorkingHardState::applyForWork (this=0x11f3570, th=0x1206960) at /usr/src/debug/kdelibs-4.5.95/threadweaver/Weaver/WorkingHardState.cpp:71
#6  0x00007f8e852cd64f in ThreadWeaver::ThreadRunHelper::run (this=0x7f8e5d2f6d30, parent=0x11f7640, th=0x1206960) at /usr/src/debug/kdelibs-4.5.95/threadweaver/Weaver/Thread.cpp:87
#7  0x00007f8e852cd6d8 in ThreadWeaver::Thread::run (this=0x1206960) at /usr/src/debug/kdelibs-4.5.95/threadweaver/Weaver/Thread.cpp:142
#8  0x00007f8e894eea1e in QThreadPrivate::start (arg=0x1206960) at thread/qthread_unix.cpp:285
#9  0x00007f8e7b481ae3 in ?? () from /usr/X11R6/lib64/libGL.so.1
#10 0x00007f8e85eaaa4f in start_thread () from /lib64/libpthread.so.0
#11 0x00007f8e8801e82d in clone () from /lib64/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f8e5caf6710 (LWP 8009)):
#0  0x00007f8e85eaf39c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f8e894ef10b in wait (this=<value optimized out>, mutex=0x11f7a10, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x11f7a10, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f8e852cd254 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x11f7640, th=0x12172c0) at /usr/src/debug/kdelibs-4.5.95/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f8e852d02a5 in waitForAvailableJob (this=0x11f3570, th=0x12172c0) at /usr/src/debug/kdelibs-4.5.95/threadweaver/Weaver/WeaverImpl.cpp:356
#5  ThreadWeaver::WorkingHardState::applyForWork (this=0x11f3570, th=0x12172c0) at /usr/src/debug/kdelibs-4.5.95/threadweaver/Weaver/WorkingHardState.cpp:71
#6  0x00007f8e852d02be in ThreadWeaver::WorkingHardState::applyForWork (this=0x11f3570, th=0x12172c0) at /usr/src/debug/kdelibs-4.5.95/threadweaver/Weaver/WorkingHardState.cpp:74
#7  0x00007f8e852cd64f in ThreadWeaver::ThreadRunHelper::run (this=0x7f8e5caf5d30, parent=0x11f7640, th=0x12172c0) at /usr/src/debug/kdelibs-4.5.95/threadweaver/Weaver/Thread.cpp:87
#8  0x00007f8e852cd6d8 in ThreadWeaver::Thread::run (this=0x12172c0) at /usr/src/debug/kdelibs-4.5.95/threadweaver/Weaver/Thread.cpp:142
#9  0x00007f8e894eea1e in QThreadPrivate::start (arg=0x12172c0) at thread/qthread_unix.cpp:285
#10 0x00007f8e7b481ae3 in ?? () from /usr/X11R6/lib64/libGL.so.1
#11 0x00007f8e85eaaa4f in start_thread () from /lib64/libpthread.so.0
#12 0x00007f8e8801e82d in clone () from /lib64/libc.so.6
#13 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f8e5be71710 (LWP 8010)):
#0  0x00007f8e85eaf39c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f8e894ef10b in wait (this=<value optimized out>, mutex=0x11f7a10, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x11f7a10, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f8e852cd254 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x11f7640, th=0x16dbaa0) at /usr/src/debug/kdelibs-4.5.95/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f8e852d02a5 in waitForAvailableJob (this=0x11f3570, th=0x16dbaa0) at /usr/src/debug/kdelibs-4.5.95/threadweaver/Weaver/WeaverImpl.cpp:356
#5  ThreadWeaver::WorkingHardState::applyForWork (this=0x11f3570, th=0x16dbaa0) at /usr/src/debug/kdelibs-4.5.95/threadweaver/Weaver/WorkingHardState.cpp:71
#6  0x00007f8e852d02be in ThreadWeaver::WorkingHardState::applyForWork (this=0x11f3570, th=0x16dbaa0) at /usr/src/debug/kdelibs-4.5.95/threadweaver/Weaver/WorkingHardState.cpp:74
#7  0x00007f8e852d02be in ThreadWeaver::WorkingHardState::applyForWork (this=0x11f3570, th=0x16dbaa0) at /usr/src/debug/kdelibs-4.5.95/threadweaver/Weaver/WorkingHardState.cpp:74
#8  0x00007f8e852cd64f in ThreadWeaver::ThreadRunHelper::run (this=0x7f8e5be70d30, parent=0x11f7640, th=0x16dbaa0) at /usr/src/debug/kdelibs-4.5.95/threadweaver/Weaver/Thread.cpp:87
#9  0x00007f8e852cd6d8 in ThreadWeaver::Thread::run (this=0x16dbaa0) at /usr/src/debug/kdelibs-4.5.95/threadweaver/Weaver/Thread.cpp:142
#10 0x00007f8e894eea1e in QThreadPrivate::start (arg=0x16dbaa0) at thread/qthread_unix.cpp:285
#11 0x00007f8e7b481ae3 in ?? () from /usr/X11R6/lib64/libGL.so.1
#12 0x00007f8e85eaaa4f in start_thread () from /lib64/libpthread.so.0
#13 0x00007f8e8801e82d in clone () from /lib64/libc.so.6
#14 0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f8e59b82710 (LWP 8011)):
#0  0x00007f8e85eaf709 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f8e6cc5398f in video_out_loop () from /usr/lib64/libxine.so.1
#2  0x00007f8e85eaaa4f in start_thread () from /lib64/libpthread.so.0
#3  0x00007f8e8801e82d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f8e58b2d710 (LWP 8012)):
#0  0x00007f8e88017e13 in select () from /lib64/libc.so.6
#1  0x00007f8e895ba27d in QProcessManager::run (this=0x7f8e8990cf80) at io/qprocess_unix.cpp:245
#2  0x00007f8e894eea1e in QThreadPrivate::start (arg=0x7f8e8990cf80) at thread/qthread_unix.cpp:285
#3  0x00007f8e7b481ae3 in ?? () from /usr/X11R6/lib64/libGL.so.1
#4  0x00007f8e85eaaa4f in start_thread () from /lib64/libpthread.so.0
#5  0x00007f8e8801e82d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f8e5496f710 (LWP 8014)):
#0  0x00007f8e85eaf39c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f8e83bfb634 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7f8e83f1d180) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007f8e83bfb669 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x7f8e83f2b254) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007f8e7b481ae3 in ?? () from /usr/X11R6/lib64/libGL.so.1
#4  0x00007f8e85eaaa4f in start_thread () from /lib64/libpthread.so.0
#5  0x00007f8e8801e82d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f8e49f9d710 (LWP 8020)):
#0  0x00007f8e85eaf709 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f8e894ef072 in wait (this=<value optimized out>, mutex=0x34a1620, time=30000) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x34a1620, time=30000) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f8e894e4e98 in QThreadPoolThread::run (this=0x3454710) at concurrent/qthreadpool.cpp:140
#4  0x00007f8e894eea1e in QThreadPrivate::start (arg=0x3454710) at thread/qthread_unix.cpp:285
#5  0x00007f8e7b481ae3 in ?? () from /usr/X11R6/lib64/libGL.so.1
#6  0x00007f8e85eaaa4f in start_thread () from /lib64/libpthread.so.0
#7  0x00007f8e8801e82d in clone () from /lib64/libc.so.6
#8  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f8e8b40e7a0 (LWP 7994)):
[KCrash Handler]
#6  0x00007f8e87f809e5 in raise () from /lib64/libc.so.6
#7  0x00007f8e87f81ee6 in abort () from /lib64/libc.so.6
#8  0x00007f8e894e6864 in qt_message_output (msgType=<value optimized out>, buf=<value optimized out>) at global/qglobal.cpp:2282
#9  0x00007f8e894e6a2d in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=QtFatalMsg, msg=0x7f8e89639c08 "ASSERT: \"%s\" in file %s, line %d", ap=0x7fff9d2ccdc0)
    at global/qglobal.cpp:2328
#10 0x00007f8e894e6bc5 in qFatal (msg=<value optimized out>) at global/qglobal.cpp:2511
#11 0x00007f8e894e6c0a in qt_assert (assertion=0x1f3a <Address 0x1f3a out of bounds>, file=0x6 <Address 0x6 out of bounds>, line=-1) at global/qglobal.cpp:2027
#12 0x00007f8e58f5fa76 in KSharedPtr<Meta::Track>::operator-> (this=0x7fff9d2ccef0) at /usr/include/KDE/../ksharedptr.h:126
#13 0x00007f8e58f5e777 in SimilarArtistsApplet::queryForCurrentTrack (this=0x17c7190) at /home/tuomaz/Ohjelmat/Kehitys/Amarok/amarok/src/context/applets/similarartists/SimilarArtistsApplet.cpp:275
#14 0x00007f8e58f5eb9a in SimilarArtistsApplet::qt_metacall (this=0x17c7190, _c=QMetaObject::InvokeMetaMethod, _id=6, _a=0x7fff9d2ccfd0)
    at /home/tuomaz/Ohjelmat/Kehitys/Amarok/amarok/build/src/context/applets/similarartists/SimilarArtistsApplet.moc:98
#15 0x00007f8e895eefef in QMetaObject::activate (sender=0x1c3efc0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x0) at kernel/qobject.cpp:3272
#16 0x00007f8e845b1378 in Plasma::IconWidget::mouseReleaseEvent (this=0x1c3efc0, event=0x7fff9d2cd940) at /usr/src/debug/kdelibs-4.5.95/plasma/widgets/iconwidget.cpp:1425
#17 0x00007f8e88f6420a in QGraphicsItem::sceneEvent (this=0x1c3efd0, event=0x7fff9d2cd940) at graphicsview/qgraphicsitem.cpp:6701
#18 0x00007f8e88f8d810 in QGraphicsScenePrivate::sendMouseEvent (this=0x15579f0, mouseEvent=0x7fff9d2cd940) at graphicsview/qgraphicsscene.cpp:1281
#19 0x00007f8e88f8e1f5 in QGraphicsScene::mouseReleaseEvent (this=<value optimized out>, mouseEvent=0x7fff9d2cd940) at graphicsview/qgraphicsscene.cpp:4107
#20 0x00007f8e88fa038f in QGraphicsScene::event (this=0x1557810, event=0x7fff9d2cd940) at graphicsview/qgraphicsscene.cpp:3440
#21 0x00007f8e88997cd4 in QApplicationPrivate::notify_helper (this=0x821340, receiver=0x1557810, e=0x7fff9d2cd940) at kernel/qapplication.cpp:4445
#22 0x00007f8e889a01ca in QApplication::notify (this=<value optimized out>, receiver=0x1557810, e=0x7fff9d2cd940) at kernel/qapplication.cpp:4324
#23 0x00007f8e8ad98ec6 in KApplication::notify (this=0x7fff9d2cf0a0, receiver=0x1557810, event=0x7fff9d2cd940) at /usr/src/debug/kdelibs-4.5.95/kdeui/kernel/kapplication.cpp:311
#24 0x00007f8e895d9e2c in QCoreApplication::notifyInternal (this=0x7fff9d2cf0a0, receiver=0x1557810, event=0x7fff9d2cd940) at kernel/qcoreapplication.cpp:732
#25 0x00007f8e88fb65fb in QGraphicsView::mouseReleaseEvent (this=0x15a43a0, event=0x7fff9d2ce3c0) at graphicsview/qgraphicsview.cpp:3336
#26 0x00007f8e889e94a8 in QWidget::event (this=0x15a43a0, event=0x7fff9d2ce3c0) at kernel/qwidget.cpp:8200
#27 0x00007f8e88d96246 in QFrame::event (this=0x15a43a0, e=0x7fff9d2ce3c0) at widgets/qframe.cpp:557
#28 0x00007f8e88fbadeb in QGraphicsView::viewportEvent (this=0x15a43a0, event=0x7fff9d2ce3c0) at graphicsview/qgraphicsview.cpp:2864
#29 0x00007f8e895d9fb7 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<value optimized out>, receiver=0x15b55e0, event=0x7fff9d2ce3c0) at kernel/qcoreapplication.cpp:847
#30 0x00007f8e88997ca1 in QApplicationPrivate::notify_helper (this=0x821340, receiver=0x15b55e0, e=0x7fff9d2ce3c0) at kernel/qapplication.cpp:4441
#31 0x00007f8e889a0a4a in QApplication::notify (this=<value optimized out>, receiver=0x15b55e0, e=0x7fff9d2ce3c0) at kernel/qapplication.cpp:4006
#32 0x00007f8e8ad98ec6 in KApplication::notify (this=0x7fff9d2cf0a0, receiver=0x15b55e0, event=0x7fff9d2ce3c0) at /usr/src/debug/kdelibs-4.5.95/kdeui/kernel/kapplication.cpp:311
#33 0x00007f8e895d9e2c in QCoreApplication::notifyInternal (this=0x7fff9d2cf0a0, receiver=0x15b55e0, event=0x7fff9d2ce3c0) at kernel/qcoreapplication.cpp:732
#34 0x00007f8e88998cd5 in sendEvent (receiver=0x15b55e0, event=0x7fff9d2ce3c0, alienWidget=0x0, nativeWidget=0x15b55e0, buttonDown=0x7f8e89473178, lastMouseReceiver=..., spontaneous=true)
    at ../../src/corelib/kernel/qcoreapplication.h:215
#35 QApplicationPrivate::sendMouseEvent (receiver=0x15b55e0, event=0x7fff9d2ce3c0, alienWidget=0x0, nativeWidget=0x15b55e0, buttonDown=0x7f8e89473178, lastMouseReceiver=..., spontaneous=true)
    at kernel/qapplication.cpp:3105
#36 0x00007f8e88a16ef8 in QETWidget::translateMouseEvent (this=0x15b55e0, event=<value optimized out>) at kernel/qapplication_x11.cpp:4438
#37 0x00007f8e88a155d9 in QApplication::x11ProcessEvent (this=0x7fff9d2cf0a0, event=0x7fff9d2ced20) at kernel/qapplication_x11.cpp:3564
#38 0x00007f8e88a3d212 in x11EventSourceDispatch (s=0x816500, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#39 0x00007f8e8073aa93 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#40 0x00007f8e8073b270 in ?? () from /usr/lib64/libglib-2.0.so.0
#41 0x00007f8e8073b510 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#42 0x00007f8e89604a8f in QEventDispatcherGlib::processEvents (this=0x68ea70, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#43 0x00007f8e88a3ceae in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#44 0x00007f8e895d9262 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#45 0x00007f8e895d9475 in QEventLoop::exec (this=0x7fff9d2cf040, flags=...) at kernel/qeventloop.cpp:201
#46 0x00007f8e895dd8db in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#47 0x0000000000408885 in main (argc=1, argv=0x7fff9d2d15d8) at /home/tuomaz/Ohjelmat/Kehitys/Amarok/amarok/src/main.cpp:271

Reported using DrKonqi
Comment 1 Tuomas Nurmi 2011-01-14 14:26:58 UTC
Created attachment 56006 [details]
Simple patch fixing the crash
Comment 2 Myriam Schweingruber 2011-01-14 14:58:35 UTC
Thank you for the patch, Thomas, could you please submit it to http://git.reviewboard.kde.org (you need an identiy on http://identity.kde.org previously)?
Comment 3 Mark Kretschmann 2011-01-16 10:19:23 UTC
commit f16f7dab9555afc4bdbad59b3f7555c016eee236
branch master
Author: Mark Kretschmann <kretschmann@kde.org>
Date:   Sun Jan 16 10:17:01 2011 +0100

    Fix potential crash with the Similar Artists applet.
    
    Thanks to Tuomas Nurmi <tuomas@norsumanageri.org> for the patch.
    
    BUG: 263145

diff --git a/ChangeLog b/ChangeLog
index 1d9a0c7..70b34aa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,6 +9,8 @@ VERSION 2.4.1
   CHANGES:
 
   BUGFIXES:
+    * Fixed potential crash with the Similar Artists applet. Thanks to 
+      Tuomas Nurmi <tuomas@norsumanageri.org> for the patch. (BR 263145)
     * Fixed 'Scale Font' option in OSD options for OSD preview widget.
       (BR 254029)
     * Fixed issue with playlist tooltips that was shown independetly from
diff --git a/src/context/applets/similarartists/SimilarArtistsApplet.cpp b/src/context/applets/similarartists/SimilarArtistsApplet.cpp
index b1b340f..c0f6287 100644
--- a/src/context/applets/similarartists/SimilarArtistsApplet.cpp
+++ b/src/context/applets/similarartists/SimilarArtistsApplet.cpp
@@ -270,6 +270,8 @@ void
 SimilarArtistsApplet::queryForCurrentTrack()
 {
     Meta::TrackPtr track = The::engineController()->currentTrack();
+    if( !track )
+        return;
     if( Meta::ArtistPtr artist = track->artist() )
         queryArtist( artist->name() );
 }
Comment 4 Myriam Schweingruber 2011-08-07 10:40:02 UTC
*** Bug 279502 has been marked as a duplicate of this bug. ***