Bug 266421 - Crash when scanning collection in Collection Browser merged view [@ Collections::ProxyQueryMaker::handleResult]
Summary: Crash when scanning collection in Collection Browser merged view [@ Collectio...
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Unclassified
Component: Collection Browser (show other bugs)
Version: 2.4.0
Platform: Ubuntu Packages Linux
: NOR crash (vote)
Target Milestone: 2.4.1
Assignee: Amarok Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-02-16 05:02 UTC by powertothepenguins
Modified: 2011-02-23 01:03 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 2.4.1


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description powertothepenguins 2011-02-16 05:02:44 UTC
Application: amarok (2.4.0)
KDE Platform Version: 4.5.3 (KDE 4.5.3)
Qt Version: 4.7.0
Operating System: Linux 2.6.32-21-generic i686
Distribution: Linux Mint 9 Isadora

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

I recently added the album Saved by Tinashé to my collection.  At first, the files didn't have any tags, and the collection scanner showed the album using the directory name (though under Various Artists) but did not show any tracks.  I then quit out of Amarok and edited the tags using EasyTag.  I started Amarok again, and it launched fine.  However, when I typed "tinash" (omitting the last character since I can't easily type an accented e using an American keyboard), Amarok crashed.

I see a lot of repetitions of each of the following lines in terminal output prior to the crash (just to clarify, I don't mean that the lines listed below tend to appear together as a group, just that out of all the output prior to the crash, these are the lines I see showing up most frequently):

TagLib: String::prepare() - Unicode conversion error.
TagLib: A frame of unsupported or unknown type 'TDA' has been discarded
TagLib: A frame of unsupported or unknown type 'TIM' has been discarded
TagLib: ID3v2.4 no longer supports the frame type TDA.  It will be discarded from the tag.
TagLib: ID3v2.4 no longer supports the frame type TIM.  It will be discarded from the tag.
TagLib: MPEG::Header::parse() -- Invalid sample rate.
TagLib: A comment frame must contain at least 5 bytes.

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

Thread 13 (Thread 0xaef62b70 (LWP 26873)):
#0  0x00f52422 in __kernel_vsyscall ()
#1  0x009d9342 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:179
#2  0x00499a34 in __pthread_cond_timedwait (cond=0x9d53f60, mutex=0x9d53f48, abstime=0xaef62310) at forward.c:152
#3  0x0444cce7 in ?? () from /usr/lib/libxine.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 12 (Thread 0xae761b70 (LWP 26874)):
#0  0x00f52422 in __kernel_vsyscall ()
#1  0x0047eb86 in *__GI___poll (fds=0x514ff4, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0x05f664eb in g_poll () from /lib/libglib-2.0.so.0
#3  0x05f590ac in ?? () from /lib/libglib-2.0.so.0
#4  0x05f594b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#5  0x01a3d82f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x01a0da99 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0x01a0df1a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#8  0x0190ac5e in QThread::exec() () from /usr/lib/libQtCore.so.4
#9  0x08abe81a in ?? () from /usr/lib/qt4/plugins/phonon_backend/phonon_xine.so
#10 0x0190df39 in ?? () from /usr/lib/libQtCore.so.4
#11 0x009d496e in start_thread (arg=0xae761b70) at pthread_create.c:300
#12 0x0048ca4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 11 (Thread 0xaddffb70 (LWP 26875)):
#0  0x00f52422 in __kernel_vsyscall ()
#1  0x0047eb86 in *__GI___poll (fds=0x514ff4, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0x07da8502 in ?? () from /usr/lib/libpulse.so.0
#3  0x07d94a59 in pa_mainloop_poll () from /usr/lib/libpulse.so.0
#4  0x07d96a13 in pa_mainloop_iterate () from /usr/lib/libpulse.so.0
#5  0x07d96ae4 in pa_mainloop_run () from /usr/lib/libpulse.so.0
#6  0x07da82a3 in ?? () from /usr/lib/libpulse.so.0
#7  0x08c92e02 in ?? () from /usr/lib/libpulsecommon-0.9.21.so
#8  0x009d496e in start_thread (arg=0xaddffb70) at pthread_create.c:300
#9  0x0048ca4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 10 (Thread 0xa95fdb70 (LWP 26876)):
#0  0x00f52422 in __kernel_vsyscall ()
#1  0x009d9015 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0x004999dd in __pthread_cond_wait (cond=0x9d5a178, mutex=0x9d5a160) at forward.c:139
#3  0x0445d9ee in ?? () from /usr/lib/libxine.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 9 (Thread 0xa8dfcb70 (LWP 26877)):
#0  0x00f52422 in __kernel_vsyscall ()
#1  0x009d9015 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0x004999dd in __pthread_cond_wait (cond=0x9d5d6f8, mutex=0x9d5d6e0) at forward.c:139
#3  0x0445d9ee in ?? () from /usr/lib/libxine.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 8 (Thread 0xa83ffb70 (LWP 26878)):
#0  0x00f52422 in __kernel_vsyscall ()
#1  0x009d9015 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0x004999dd in __pthread_cond_wait (cond=0xade1e7c8, mutex=0xade1e7b0) at forward.c:139
#3  0x0445d9ee in ?? () from /usr/lib/libxine.so.1
#4  0x00000000 in ?? ()

Thread 7 (Thread 0xa7558b70 (LWP 26880)):
#0  0x00f52422 in __kernel_vsyscall ()
#1  0x009d9015 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0x004999dd in __pthread_cond_wait (cond=0xa48ba78, mutex=0xa48ba60) at forward.c:139
#3  0x0190eb07 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#4  0x00a64890 in ?? () from /usr/lib/libthreadweaver.so.4
#5  0x00a6803c in ?? () from /usr/lib/libthreadweaver.so.4
#6  0x00a63dbb in ?? () from /usr/lib/libthreadweaver.so.4
#7  0x00a68132 in ?? () from /usr/lib/libthreadweaver.so.4
#8  0x00a64d93 in ?? () from /usr/lib/libthreadweaver.so.4
#9  0x00a661be in ?? () from /usr/lib/libthreadweaver.so.4
#10 0x00a668db in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#11 0x0190df39 in ?? () from /usr/lib/libQtCore.so.4
#12 0x009d496e in start_thread (arg=0xa7558b70) at pthread_create.c:300
#13 0x0048ca4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 6 (Thread 0x9f694b70 (LWP 26881)):
#0  0x00f52422 in __kernel_vsyscall ()
#1  0x009d9015 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0x004999dd in __pthread_cond_wait (cond=0xa48ba78, mutex=0xa48ba60) at forward.c:139
#3  0x0190eb07 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#4  0x00a64890 in ?? () from /usr/lib/libthreadweaver.so.4
#5  0x00a6803c in ?? () from /usr/lib/libthreadweaver.so.4
#6  0x00a63dbb in ?? () from /usr/lib/libthreadweaver.so.4
#7  0x00a68132 in ?? () from /usr/lib/libthreadweaver.so.4
#8  0x00a64d93 in ?? () from /usr/lib/libthreadweaver.so.4
#9  0x00a661be in ?? () from /usr/lib/libthreadweaver.so.4
#10 0x00a668db in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#11 0x0190df39 in ?? () from /usr/lib/libQtCore.so.4
#12 0x009d496e in start_thread (arg=0x9f694b70) at pthread_create.c:300
#13 0x0048ca4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 5 (Thread 0x9ecffb70 (LWP 26882)):
#0  0x00f52422 in __kernel_vsyscall ()
#1  0x0047ba03 in ___xstat64 (vers=3, name=0x96ea08c0 "/media/HD-CXU2/media_permanent/music_unorganized/music-from-vikram/Beck/The Information/13 - Beck - The Information.mp3", buf=0x9ecfece0)
    at ../sysdeps/unix/sysv/linux/xstat64.c:50
#2  0x019dbb08 in ?? () from /usr/lib/libQtCore.so.4
#3  0x019e341d in ?? () from /usr/lib/libQtCore.so.4
#4  0x019dbb30 in QFSFileEngine::size() const () from /usr/lib/libQtCore.so.4
#5  0x01999239 in QFile::size() const () from /usr/lib/libQtCore.so.4
#6  0x012c811b in MetaFile::Track::Private::readMetaData (this=0x96e9f6b0) at /home/clizzin/software/amarok-2.4.0/src/core-impl/meta/file/File_p.h:191
#7  0x012c8e62 in Track (this=0x96e9e768, url=...) at /home/clizzin/software/amarok-2.4.0/src/core-impl/meta/file/File.cpp:188
#8  0x053d57ba in Meta::UmsHandler::nextTrackToParse (this=0xa5e73c8) at /home/clizzin/software/amarok-2.4.0/src/core-impl/collections/umscollection/handler/UmsHandler.cpp:871
#9  0x053e0ff7 in Handler::UmsReadCapability::nextTrackToParse (this=0x9ed5be18)
    at /home/clizzin/software/amarok-2.4.0/src/core-impl/collections/umscollection/handler/capabilities/UmsReadCapability.cpp:49
#10 0x01224bf0 in Meta::MediaDeviceHandler::privateParseTracks (this=0xa5e73c8)
    at /home/clizzin/software/amarok-2.4.0/src/core-impl/collections/mediadevicecollection/handler/MediaDeviceHandler.cpp:862
#11 0x012263f5 in Meta::ParseWorkerThread::run (this=0xa35dcb0) at /home/clizzin/software/amarok-2.4.0/src/core-impl/collections/mediadevicecollection/handler/MediaDeviceHandler.cpp:1303
#12 0x00a67164 in ?? () from /usr/lib/libthreadweaver.so.4
#13 0x00a674c1 in ThreadWeaver::Job::execute(ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4
#14 0x00a6618a in ?? () from /usr/lib/libthreadweaver.so.4
#15 0x00a668db in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#16 0x0190df39 in ?? () from /usr/lib/libQtCore.so.4
#17 0x009d496e in start_thread (arg=0x9ecffb70) at pthread_create.c:300
#18 0x0048ca4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 4 (Thread 0x9e4feb70 (LWP 26883)):
#0  0x00f52422 in __kernel_vsyscall ()
#1  0x009d9015 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0x004999dd in __pthread_cond_wait (cond=0xa48ba78, mutex=0xa48ba60) at forward.c:139
#3  0x0190eb07 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#4  0x00a64890 in ?? () from /usr/lib/libthreadweaver.so.4
#5  0x00a6803c in ?? () from /usr/lib/libthreadweaver.so.4
#6  0x00a63dbb in ?? () from /usr/lib/libthreadweaver.so.4
#7  0x00a68132 in ?? () from /usr/lib/libthreadweaver.so.4
#8  0x00a64d93 in ?? () from /usr/lib/libthreadweaver.so.4
#9  0x00a661be in ?? () from /usr/lib/libthreadweaver.so.4
#10 0x00a668db in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#11 0x0190df39 in ?? () from /usr/lib/libQtCore.so.4
#12 0x009d496e in start_thread (arg=0x9e4feb70) at pthread_create.c:300
#13 0x0048ca4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 3 (Thread 0x9dcfdb70 (LWP 26884)):
#0  0x00f52422 in __kernel_vsyscall ()
#1  0x009d9015 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0x004999dd in __pthread_cond_wait (cond=0xb78a9770, mutex=0xb78a9758) at forward.c:139
#3  0xb73a16ad in ?? () from /usr/lib/libQtWebKit.so.4
#4  0xb73a1791 in ?? () from /usr/lib/libQtWebKit.so.4
#5  0x009d496e in start_thread (arg=0x9dcfdb70) at pthread_create.c:300
#6  0x0048ca4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 2 (Thread 0x9cbfbb70 (LWP 26887)):
#0  0x00f52422 in __kernel_vsyscall ()
#1  0x009d9015 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0x004999dd in __pthread_cond_wait (cond=0x4325290, mutex=0x4325278) at forward.c:139
#3  0x04221827 in ?? () from /usr/lib/libQtScript.so.4
#4  0x04221871 in ?? () from /usr/lib/libQtScript.so.4
#5  0x009d496e in start_thread (arg=0x9cbfbb70) at pthread_create.c:300
#6  0x0048ca4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb5076940 (LWP 26872)):
[KCrash Handler]
#7  KSharedPtr (this=0xad03f08) at /usr/include/KDE/../ksharedptr.h:84
#8  Collections::ProxyQueryMaker::handleResult (this=0xad03f08) at /home/clizzin/software/amarok-2.4.0/src/core-impl/collections/proxycollection/ProxyCollectionQueryMaker.cpp:473
#9  0x011d17b8 in Collections::ProxyQueryMaker::slotQueryDone (this=0xad03f08) at /home/clizzin/software/amarok-2.4.0/src/core-impl/collections/proxycollection/ProxyCollectionQueryMaker.cpp:354
#10 0x011d1b1e in Collections::ProxyQueryMaker::qt_metacall (this=0xad03f08, _c=QMetaObject::InvokeMetaMethod, _id=14, _a=0xbf9c299c)
    at /home/clizzin/software/amarok-2.4.0/build/src/ProxyCollectionQueryMaker.moc:93
#11 0x01a14d4a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#12 0x01a27ab5 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#13 0x00bf29f7 in Collections::QueryMaker::queryDone (this=0xa97fb30) at /home/clizzin/software/amarok-2.4.0/build/src/core/QueryMaker.moc:174
#14 0x04d03ffb in Collections::SqlQueryMaker::done (this=0xa97fb30, job=0xabb7b00) at /home/clizzin/software/amarok-2.4.0/src/core-impl/collections/db/sql/SqlQueryMaker.cpp:227
#15 0x04d04db7 in Collections::SqlQueryMaker::qt_metacall (this=0xa97fb30, _c=QMetaObject::InvokeMetaMethod, _id=14, _a=0xbf9c2b28)
    at /home/clizzin/software/amarok-2.4.0/build/src/core-impl/collections/db/sql/SqlQueryMaker.moc:92
#16 0x01a14d4a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#17 0x01a27ab5 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#18 0x00a66d43 in ThreadWeaver::Job::done(ThreadWeaver::Job*) () from /usr/lib/libthreadweaver.so.4
#19 0x00a66f17 in ThreadWeaver::Job::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libthreadweaver.so.4
#20 0x01a14d4a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#21 0x01a20226 in QMetaCallEvent::placeMetaCall(QObject*) () from /usr/lib/libQtCore.so.4
#22 0x01a21ac2 in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#23 0x06aec72c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#24 0x06af277e in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#25 0x0074263a in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#26 0x01a0efeb in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#27 0x01a1224b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#28 0x01a1240d in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/lib/libQtCore.so.4
#29 0x01a3dd04 in ?? () from /usr/lib/libQtCore.so.4
#30 0x05f555e5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#31 0x05f592d8 in ?? () from /lib/libglib-2.0.so.0
#32 0x05f594b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#33 0x01a3d7f5 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#34 0x06badf85 in ?? () from /usr/lib/libQtGui.so.4
#35 0x01a0da99 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#36 0x01a0df1a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#37 0x01a124cf in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#38 0x06aeb557 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#39 0x08051009 in main (argc=1, argv=0xbf9c3da4) at /home/clizzin/software/amarok-2.4.0/src/main.cpp:268

Reported using DrKonqi
Comment 1 Myriam Schweingruber 2011-02-18 18:34:16 UTC
These lines only indicate that you have unsupported tags in your files, but I doubt this causes the crash. Are you using the merged view in the Collection Browser?
Comment 2 powertothepenguins 2011-02-18 18:38:13 UTC
Yes, I am using the merged view in the Collection Browser.

I should also add that after 2-3 restarts, Amarok was finally able to read the tags correctly, so you're probably right that this crash wasn't caused by the tags.  Feel free to correct the title of the bug or merge into another bug accordingly.
Comment 3 Myriam Schweingruber 2011-02-19 14:13:21 UTC
Thank you for the fast feedback.
Comment 4 Myriam Schweingruber 2011-02-23 01:03:19 UTC
Git commit 629258e33cc1918c0d920cea41aa95c2f064360e by Ralf Engels.
Committed on 21/02/2011 at 22:08.
Pushed by rengels into branch 'master'.

Prevent threading problem when searching while in merged view

BUG: 266421