Bug 288385

Summary: Amarok segfaults on exit
Product: [Applications] amarok Reporter: Vit Pelcak <vit>
Component: generalAssignee: Amarok Developers <amarok-bugs-dist>
Status: RESOLVED DUPLICATE    
Severity: crash CC: cfeck, santiag77e
Priority: NOR    
Version: 2.4.90 (2.5 beta)   
Target Milestone: 2.6   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description Vit Pelcak 2011-12-07 08:59:03 UTC
Application: amarok (2.4.90)
KDE Platform Version: 4.7.3 (4.7.3)
Qt Version: 4.7.4
Operating System: Linux 3.1.0-1.2-desktop x86_64
Distribution: "openSUSE 12.1 (x86_64)"

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

I tasked Amarok to exit. Instead of properly exitting, Amarok segfaulted.

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

Thread 8 (Thread 0x7fee3aeb0700 (LWP 28821)):
#0  0x00007fee651e1310 in g_main_context_release () from /usr/lib64/libglib-2.0.so.0
#1  0x00007fee651e2aca in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fee651e2f59 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007fee6cb36636 in QEventDispatcherGlib::processEvents (this=0x7fee34000920, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007fee6cb0ac22 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007fee6cb0ae35 in QEventLoop::exec (this=0x7fee3aeafce0, flags=...) at kernel/qeventloop.cpp:201
#6  0x00007fee6ca1fbe4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:498
#7  0x00007fee6caec358 in QInotifyFileSystemWatcherEngine::run (this=0xbea330) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007fee6ca224d5 in QThreadPrivate::start (arg=0xbea330) at thread/qthread_unix.cpp:331
#9  0x00007fee5cb2c2da in ?? () from /usr/X11R6/lib64/libGL.so.1
#10 0x00007fee69693f05 in start_thread () from /lib64/libpthread.so.0
#11 0x00007fee6b52b53d in clone () from /lib64/libc.so.6

Thread 7 (Thread 0x7fee39554700 (LWP 28978)):
#0  0x00007fee69697e6c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fee6ca22bbb in wait (time=18446744073709551615, this=0x15e5770) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x15aea80, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007fee68a7f104 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x15ae700, th=0x15aeed0) at /usr/src/debug/kdelibs-4.7.3/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fee68a816ab in ThreadWeaver::WorkingHardState::applyForWork (this=0x15d8090, th=0x15aeed0) at /usr/src/debug/kdelibs-4.7.3/threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fee68a816c4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x15d8090, th=0x15aeed0) at /usr/src/debug/kdelibs-4.7.3/threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007fee68a816c4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x15d8090, th=0x15aeed0) at /usr/src/debug/kdelibs-4.7.3/threadweaver/Weaver/WorkingHardState.cpp:74
#7  0x00007fee68a8056f in ThreadWeaver::ThreadRunHelper::run (this=0x7fee39553d40, parent=0x15ae700, th=0x15aeed0) at /usr/src/debug/kdelibs-4.7.3/threadweaver/Weaver/Thread.cpp:87
#8  0x00007fee68a805fb in ThreadWeaver::Thread::run (this=0x15aeed0) at /usr/src/debug/kdelibs-4.7.3/threadweaver/Weaver/Thread.cpp:142
#9  0x00007fee6ca224d5 in QThreadPrivate::start (arg=0x15aeed0) at thread/qthread_unix.cpp:331
#10 0x00007fee5cb2c2da in ?? () from /usr/X11R6/lib64/libGL.so.1
#11 0x00007fee69693f05 in start_thread () from /lib64/libpthread.so.0
#12 0x00007fee6b52b53d in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7fee38a97700 (LWP 28979)):
[KCrash Handler]
#4  QXmlStreamReader::atEnd (this=0x145e600) at xml/qxmlstream.cpp:570
#5  0x00007fee441479f8 in ScannerJob::run (this=0x145e590) at /usr/src/debug/amarok-2.4.90/src/core-impl/collections/db/ScanManager.cpp:512
#6  0x00007fee68a80d31 in ThreadWeaver::JobRunHelper::runTheJob (this=0x7fee38a96cc0, th=0x151c2f0, job=0x145e590) at /usr/src/debug/kdelibs-4.7.3/threadweaver/Weaver/Job.cpp:106
#7  0x00007fee68a80e5c in ThreadWeaver::Job::execute (this=0x145e590, th=0x151c2f0) at /usr/src/debug/kdelibs-4.7.3/threadweaver/Weaver/Job.cpp:135
#8  0x00007fee68a8053f in ThreadWeaver::ThreadRunHelper::run (this=0x7fee38a96d40, parent=0x15ae700, th=0x151c2f0) at /usr/src/debug/kdelibs-4.7.3/threadweaver/Weaver/Thread.cpp:95
#9  0x00007fee68a805fb in ThreadWeaver::Thread::run (this=0x151c2f0) at /usr/src/debug/kdelibs-4.7.3/threadweaver/Weaver/Thread.cpp:142
#10 0x00007fee6ca224d5 in QThreadPrivate::start (arg=0x151c2f0) at thread/qthread_unix.cpp:331
#11 0x00007fee5cb2c2da in ?? () from /usr/X11R6/lib64/libGL.so.1
#12 0x00007fee69693f05 in start_thread () from /lib64/libpthread.so.0
#13 0x00007fee6b52b53d in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7fee33fff700 (LWP 28980)):
#0  0x00007fee69697e6c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fee6ca22bbb in wait (time=18446744073709551615, this=0x15e5770) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x15aea80, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007fee68a7f104 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x15ae700, th=0x151ccc0) at /usr/src/debug/kdelibs-4.7.3/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fee68a816ab in ThreadWeaver::WorkingHardState::applyForWork (this=0x15d8090, th=0x151ccc0) at /usr/src/debug/kdelibs-4.7.3/threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fee68a816c4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x15d8090, th=0x151ccc0) at /usr/src/debug/kdelibs-4.7.3/threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007fee68a816c4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x15d8090, th=0x151ccc0) at /usr/src/debug/kdelibs-4.7.3/threadweaver/Weaver/WorkingHardState.cpp:74
#7  0x00007fee68a816c4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x15d8090, th=0x151ccc0) at /usr/src/debug/kdelibs-4.7.3/threadweaver/Weaver/WorkingHardState.cpp:74
#8  0x00007fee68a816c4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x15d8090, th=0x151ccc0) at /usr/src/debug/kdelibs-4.7.3/threadweaver/Weaver/WorkingHardState.cpp:74
#9  0x00007fee68a816c4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x15d8090, th=0x151ccc0) at /usr/src/debug/kdelibs-4.7.3/threadweaver/Weaver/WorkingHardState.cpp:74
#10 0x00007fee68a816c4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x15d8090, th=0x151ccc0) at /usr/src/debug/kdelibs-4.7.3/threadweaver/Weaver/WorkingHardState.cpp:74
#11 0x00007fee68a8056f in ThreadWeaver::ThreadRunHelper::run (this=0x7fee33ffed40, parent=0x15ae700, th=0x151ccc0) at /usr/src/debug/kdelibs-4.7.3/threadweaver/Weaver/Thread.cpp:87
#12 0x00007fee68a805fb in ThreadWeaver::Thread::run (this=0x151ccc0) at /usr/src/debug/kdelibs-4.7.3/threadweaver/Weaver/Thread.cpp:142
#13 0x00007fee6ca224d5 in QThreadPrivate::start (arg=0x151ccc0) at thread/qthread_unix.cpp:331
#14 0x00007fee5cb2c2da in ?? () from /usr/X11R6/lib64/libGL.so.1
#15 0x00007fee69693f05 in start_thread () from /lib64/libpthread.so.0
#16 0x00007fee6b52b53d in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7fee337fe700 (LWP 28981)):
#0  0x00007fee69697e6c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fee6ca22bbb in wait (time=18446744073709551615, this=0x15e5770) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x15aea80, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007fee68a7f104 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x15ae700, th=0x16c9490) at /usr/src/debug/kdelibs-4.7.3/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fee68a816ab in ThreadWeaver::WorkingHardState::applyForWork (this=0x15d8090, th=0x16c9490) at /usr/src/debug/kdelibs-4.7.3/threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fee68a8056f in ThreadWeaver::ThreadRunHelper::run (this=0x7fee337fdd40, parent=0x15ae700, th=0x16c9490) at /usr/src/debug/kdelibs-4.7.3/threadweaver/Weaver/Thread.cpp:87
#6  0x00007fee68a805fb in ThreadWeaver::Thread::run (this=0x16c9490) at /usr/src/debug/kdelibs-4.7.3/threadweaver/Weaver/Thread.cpp:142
#7  0x00007fee6ca224d5 in QThreadPrivate::start (arg=0x16c9490) at thread/qthread_unix.cpp:331
#8  0x00007fee5cb2c2da in ?? () from /usr/X11R6/lib64/libGL.so.1
#9  0x00007fee69693f05 in start_thread () from /lib64/libpthread.so.0
#10 0x00007fee6b52b53d in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7fee32bd6700 (LWP 28982)):
#0  0x00007fee69697e6c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fee61ff4694 in ?? () from /usr/lib64/libQtWebKit.so.4
#2  0x00007fee5cb2c2da in ?? () from /usr/X11R6/lib64/libGL.so.1
#3  0x00007fee69693f05 in start_thread () from /lib64/libpthread.so.0
#4  0x00007fee6b52b53d in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7fee12f86700 (LWP 29053)):
#0  0x00007fee69697e6c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fee67a94174 in ?? () from /usr/lib64/libQtScript.so.4
#2  0x00007fee67a941a9 in ?? () from /usr/lib64/libQtScript.so.4
#3  0x00007fee5cb2c2da in ?? () from /usr/X11R6/lib64/libGL.so.1
#4  0x00007fee69693f05 in start_thread () from /lib64/libpthread.so.0
#5  0x00007fee6b52b53d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fee6ebd07a0 (LWP 28287)):
#0  0x00007fee6969a89e in __lll_lock_wait_private () from /lib64/libpthread.so.0
#1  0x00007fee69697cca in _L_lock_20 () from /lib64/libpthread.so.0
#2  0x00007fee69697b49 in pthread_cond_destroy@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#3  0x00007fee3b5ee930 in my_thread_end () from /usr/lib64/libmysqld.so.18
#4  0x00007fee443b178b in ~ThreadInitializer (this=<optimized out>, __in_chrg=<optimized out>) at /usr/src/debug/amarok-2.4.90/src/core-impl/collections/db/sql/mysql-shared/MySqlStorage.cpp:64
#5  QThreadStorage<ThreadInitializer*>::deleteData (x=0xb73490) at /usr/include/QtCore/qthreadstorage.h:133
#6  0x00007fee6ca20818 in QThreadStorageData::finish (p=0x617480) at thread/qthreadstorage.cpp:202
#7  0x00007fee6cb0e48d in QCoreApplicationPrivate::~QCoreApplicationPrivate (this=0x7ecd20, __in_chrg=<optimized out>) at kernel/qcoreapplication.cpp:347
#8  0x00007fee6becd539 in QApplicationPrivate::~QApplicationPrivate() () from /usr/lib64/libQtGui.so.4
#9  0x00007fee6cb22c03 in cleanup (pointer=<optimized out>) at ../../src/corelib/tools/qscopedpointer.h:62
#10 ~QScopedPointer (this=0x7fff188e0228, __in_chrg=<optimized out>) at ../../src/corelib/tools/qscopedpointer.h:100
#11 QObject::~QObject (this=0x7fff188e0220, __in_chrg=<optimized out>) at kernel/qobject.cpp:818
#12 0x00007fee6bed5e63 in QApplication::~QApplication() () from /usr/lib64/libQtGui.so.4
#13 0x00007fee6dbafd6b in App::~App (this=0x7fff188e0220, __in_chrg=<optimized out>) at /usr/src/debug/amarok-2.4.90/src/App.cpp:188
#14 0x000000000040988a in main (argc=1, argv=0x7fff188e29a8) at /usr/src/debug/amarok-2.4.90/src/main.cpp:308

Possible duplicates by query: bug 274095, bug 273085, bug 260987.

Reported using DrKonqi
Comment 1 Myriam Schweingruber 2011-12-07 18:17:31 UTC
I can't reproduce this here with current git. Was this a one-time crash or is it reproducible?
Comment 2 Vit Pelcak 2011-12-07 21:17:52 UTC
Just onetime crash.

Doesn't backtrace provide enough info to find problem? drkonqui suggested, that this backtrace is useful.
Comment 3 Myriam Schweingruber 2011-12-08 02:44:31 UTC
(In reply to comment #2)
> Just onetime crash.
> 
> Doesn't backtrace provide enough info to find problem? drkonqui suggested, that
> this backtrace is useful.

Well, a crash needs to be reproducible else there is not really much that we can do.
Comment 4 Christoph Feck 2011-12-08 12:18:08 UTC
The crash happens in ScannerJob::run(), so it probably was still scanning...
Comment 5 Vit Pelcak 2011-12-08 13:51:10 UTC
Hm.

Could be.

Whenever I start Amarok, I get error:

GREPME MySQLe query failed! (2000) on init.
Comment 6 Myriam Schweingruber 2011-12-11 12:07:08 UTC
Vit, please check your database, the error you see on start can indicate a table corruption which Amarok can't repair. See also http://amarok.kde.org/wiki/MySQL_Server#Repair_a_Corrupted_Database

If that doesn't help I strongly suggest you run the amarokcollectionscanner to see if other errors occur.
Comment 7 Vit Pelcak 2011-12-12 10:03:48 UTC
I didn't use external MySQL database at all. After downgrading back to 2.4.3 problem disappeared.
Comment 8 Myriam Schweingruber 2011-12-12 12:18:43 UTC
To repair a corrupt database the command is the same for the external as for the internal MySQL. You should run the amarokcollectionscanner nonetheless just to make sure there is not a database problem.
Comment 9 Vit Pelcak 2011-12-12 14:31:07 UTC
Well, but that command fails since I don't know mysql password since I didn't set any.

I ran amarokcollectionscanner and donwgraded amarok to 2.4.3. No problems ever since.

thank you for your suggestions.
Comment 10 Myriam Schweingruber 2011-12-12 18:49:11 UTC
FWIW: if you didn't set a MySQL password then there is none
Comment 11 Vit Pelcak 2011-12-13 07:08:45 UTC
Hm.

Then that error message:
GREPME MySQLe query failed! (2000) on init.

is kinda pointless.
Comment 12 Santiago 2012-05-30 02:54:01 UTC
Created attachment 71434 [details]
New crash information added by DrKonqi

amarok (2.4.3) on KDE Platform 4.7.2 (4.7.2) "release 5" using Qt 4.7.4

- What I was doing when the application crashed:

I was exiting Amarok as I found that  reloading of my collection was not advancing.

-- Backtrace (Reduced):
#6  QXmlStreamReader::atEnd (this=0x1ba6c90) at xml/qxmlstream.cpp:570
[...]
#8  0x00007f3a70ef9d31 in ThreadWeaver::JobRunHelper::runTheJob (this=0x7f3a4176ddc0, th=0xfbf510, job=0x1ba6c20) at /usr/src/debug/kdelibs-4.7.2/threadweaver/Weaver/Job.cpp:106
#9  0x00007f3a70ef9e5c in ThreadWeaver::Job::execute (this=0x1ba6c20, th=0xfbf510) at /usr/src/debug/kdelibs-4.7.2/threadweaver/Weaver/Job.cpp:135
#10 0x00007f3a70ef953f in ThreadWeaver::ThreadRunHelper::run (this=0x7f3a4176de40, parent=0xcbb3e0, th=0xfbf510) at /usr/src/debug/kdelibs-4.7.2/threadweaver/Weaver/Thread.cpp:95
#11 0x00007f3a70ef95fb in ThreadWeaver::Thread::run (this=0xfbf510) at /usr/src/debug/kdelibs-4.7.2/threadweaver/Weaver/Thread.cpp:142
Comment 13 Myriam Schweingruber 2012-05-31 18:10:48 UTC
(In reply to comment #11)
> Hm.
> 
> Then that error message:
> GREPME MySQLe query failed! (2000) on init.

Please have a look at this downstream bug: https://bugzilla.novell.com/show_bug.cgi?id=712749
Comment 14 Myriam Schweingruber 2012-05-31 18:11:52 UTC

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