Bug 306582 - [amarok] segfaults at start
Summary: [amarok] segfaults at start
Status: RESOLVED WORKSFORME
Alias: None
Product: amarok
Classification: Applications
Component: general (show other bugs)
Version: 2.6.0
Platform: Arch Linux Linux
: NOR major
Target Milestone: 2.7
Assignee: Amarok Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-11 05:58 UTC by André Fettouhi
Modified: 2013-02-11 17:59 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments
crash output (22.09 KB, text/plain)
2012-09-11 16:04 UTC, André Fettouhi
Details
konsole output (compressed) (98.83 KB, application/x-gzip)
2012-09-12 07:34 UTC, André Fettouhi
Details
.xsession-errors file from amarok 2.6.0 crash on Arch Linux 64 bit (75.91 KB, text/plain)
2012-10-21 16:46 UTC, André Fettouhi
Details

Note You need to log in before you can comment on or make changes to this bug.
Description André Fettouhi 2012-09-11 05:58:36 UTC
Since version 2.5.0 and with 2.6.0 Amarok crashes at startup several times before I can use it. The crashlog gives this

Application: Amarok (amarok), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f44f3a287c0 (LWP 8774))]

Thread 10 (Thread 0x7f44cc85c700 (LWP 8777)):
#0 0x00007f44f03682cd in poll () from /usr/lib/libc.so.6
#1 0x00007f44e69453ef in ?? () from /usr/lib/libpulse.so.0
#2 0x00007f44e693694c in pa_mainloop_poll () from /usr/lib/libpulse.so.0
#3 0x00007f44e6936fa9 in pa_mainloop_iterate () from /usr/lib/libpulse.so.0
#4 0x00007f44e6937060 in pa_mainloop_run () from /usr/lib/libpulse.so.0
#5 0x00007f44e694539f in ?? () from /usr/lib/libpulse.so.0
#6 0x00007f44def7c223 in ?? () from /usr/lib/pulseaudio/libpulsecommon-2.1.so
#7 0x00007f44dd3e6734 in ?? () from /usr/lib/libGL.so.1
#8 0x00007f44ee4dce0f in start_thread () from /usr/lib/libpthread.so.0
#9 0x00007f44f037045d in clone () from /usr/lib/libc.so.6

Thread 9 (Thread 0x7f44c5abd700 (LWP 8779)):
#0 0x00007f44f03682cd in poll () from /usr/lib/libc.so.6
#1 0x00007f44e97b5744 in ?? () from /usr/lib/libglib-2.0.so.0
#2 0x00007f44e97b5864 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3 0x00007f44f0cedc46 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4 0x00007f44f0cbe77f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5 0x00007f44f0cbea08 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6 0x00007f44f0bc1700 in QThread::exec() () from /usr/lib/libQtCore.so.4
#7 0x00007f44f0c9f1af in ?? () from /usr/lib/libQtCore.so.4
#8 0x00007f44f0bc469b in ?? () from /usr/lib/libQtCore.so.4
#9 0x00007f44dd3e6734 in ?? () from /usr/lib/libGL.so.1
#10 0x00007f44ee4dce0f in start_thread () from /usr/lib/libpthread.so.0
#11 0x00007f44f037045d in clone () from /usr/lib/libc.so.6

Thread 8 (Thread 0x7f44bdb27700 (LWP 8780)):
#0 0x00007f44ee4e0954 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1 0x00007f44f0bc4b9b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2 0x00007f44ed836df1 in ?? () from /usr/lib/libthreadweaver.so.4
#3 0x00007f44ed83963b in ?? () from /usr/lib/libthreadweaver.so.4
#4 0x00007f44ed839654 in ?? () from /usr/lib/libthreadweaver.so.4
#5 0x00007f44ed8384af in ?? () from /usr/lib/libthreadweaver.so.4
#6 0x00007f44ed83853b in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#7 0x00007f44f0bc469b in ?? () from /usr/lib/libQtCore.so.4
#8 0x00007f44dd3e6734 in ?? () from /usr/lib/libGL.so.1
#9 0x00007f44ee4dce0f in start_thread () from /usr/lib/libpthread.so.0
#10 0x00007f44f037045d in clone () from /usr/lib/libc.so.6

Thread 7 (Thread 0x7f44bd326700 (LWP 8781)):
#0 0x00007f44ee4e0954 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1 0x00007f44f0bc4b9b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2 0x00007f44ed836df1 in ?? () from /usr/lib/libthreadweaver.so.4
#3 0x00007f44ed83963b in ?? () from /usr/lib/libthreadweaver.so.4
#4 0x00007f44ed839654 in ?? () from /usr/lib/libthreadweaver.so.4
#5 0x00007f44ed839654 in ?? () from /usr/lib/libthreadweaver.so.4
#6 0x00007f44ed8384af in ?? () from /usr/lib/libthreadweaver.so.4
#7 0x00007f44ed83853b in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#8 0x00007f44f0bc469b in ?? () from /usr/lib/libQtCore.so.4
#9 0x00007f44dd3e6734 in ?? () from /usr/lib/libGL.so.1
#10 0x00007f44ee4dce0f in start_thread () from /usr/lib/libpthread.so.0
#11 0x00007f44f037045d in clone () from /usr/lib/libc.so.6

Thread 6 (Thread 0x7f44affff700 (LWP 8782)):
#0 0x00007f44ee4e0954 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1 0x00007f44f0bc4b9b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2 0x00007f44ed836df1 in ?? () from /usr/lib/libthreadweaver.so.4
#3 0x00007f44ed83963b in ?? () from /usr/lib/libthreadweaver.so.4
#4 0x00007f44ed8384af in ?? () from /usr/lib/libthreadweaver.so.4
#5 0x00007f44ed83853b in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#6 0x00007f44f0bc469b in ?? () from /usr/lib/libQtCore.so.4
#7 0x00007f44dd3e6734 in ?? () from /usr/lib/libGL.so.1
#8 0x00007f44ee4dce0f in start_thread () from /usr/lib/libpthread.so.0
#9 0x00007f44f037045d in clone () from /usr/lib/libc.so.6

Thread 5 (Thread 0x7f44a7fff700 (LWP 8783)):
#0 0x00007f44ee4e0954 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1 0x00007f44f0bc4b9b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2 0x00007f44ed836df1 in ?? () from /usr/lib/libthreadweaver.so.4
#3 0x00007f44ed83963b in ?? () from /usr/lib/libthreadweaver.so.4
#4 0x00007f44ed839654 in ?? () from /usr/lib/libthreadweaver.so.4
#5 0x00007f44ed839654 in ?? () from /usr/lib/libthreadweaver.so.4
#6 0x00007f44ed8384af in ?? () from /usr/lib/libthreadweaver.so.4
#7 0x00007f44ed83853b in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#8 0x00007f44f0bc469b in ?? () from /usr/lib/libQtCore.so.4
#9 0x00007f44dd3e6734 in ?? () from /usr/lib/libGL.so.1
#10 0x00007f44ee4dce0f in start_thread () from /usr/lib/libpthread.so.0
#11 0x00007f44f037045d in clone () from /usr/lib/libc.so.6

Thread 4 (Thread 0x7f44aefae700 (LWP 8784)):
#0 0x00007f44ee4e0954 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1 0x00007f44e5ae737d in ?? () from /usr/lib/libQtWebKit.so.4
#2 0x00007f44e5ae7489 in ?? () from /usr/lib/libQtWebKit.so.4
#3 0x00007f44dd3e6734 in ?? () from /usr/lib/libGL.so.1
#4 0x00007f44ee4dce0f in start_thread () from /usr/lib/libpthread.so.0
#5 0x00007f44f037045d in clone () from /usr/lib/libc.so.6

Thread 3 (Thread 0x7f44ae695700 (LWP 8785)):
#0 0x00007f44f036439d in read () from /usr/lib/libc.so.6
#1 0x00007f44dd3e571c in ?? () from /usr/lib/libGL.so.1
#2 0x00007f44dc40dbe7 in ?? () from /usr/lib/libnvidia-tls.so.304.43
#3 0x00007f44e97f082f in ?? () from /usr/lib/libglib-2.0.so.0
#4 0x00007f44e97b52c9 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#5 0x00007f44e97b56e2 in ?? () from /usr/lib/libglib-2.0.so.0
#6 0x00007f44e97b5864 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#7 0x00007f44f0cedc46 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#8 0x00007f44f0cbe77f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#9 0x00007f44f0cbea08 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#10 0x00007f44f0bc1700 in QThread::exec() () from /usr/lib/libQtCore.so.4
#11 0x00007f44f0bc469b in ?? () from /usr/lib/libQtCore.so.4
#12 0x00007f44dd3e6734 in ?? () from /usr/lib/libGL.so.1
#13 0x00007f44ee4dce0f in start_thread () from /usr/lib/libpthread.so.0
#14 0x00007f44f037045d in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7f44a6df1700 (LWP 8788)):
#0 0x00007f44ee4e0954 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1 0x00007f44ec864aa7 in ?? () from /usr/lib/libQtScript.so.4
#2 0x00007f44ec864ad9 in ?? () from /usr/lib/libQtScript.so.4
#3 0x00007f44dd3e6734 in ?? () from /usr/lib/libGL.so.1
#4 0x00007f44ee4dce0f in start_thread () from /usr/lib/libpthread.so.0
#5 0x00007f44f037045d in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7f44f3a287c0 (LWP 8774)):
[KCrash Handler]
#5 0x00007f43d45d7900 in ?? ()
#6 0x00007f444de9b139 in ?? ()
#7 0x0000000000000000 in ?? ()

this happens also with a new profile. Here is the output when I launch it from the console and it crashes

[af@andre ~]$ amarok %U
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.
**********************************************************************************************
** AMAROK WAS STARTED IN NORMAL MODE. IF YOU WANT TO SEE DEBUGGING INFORMATION, PLEASE USE: **
** amarok --debug **
**********************************************************************************************
HTTP GET QUrl( "http://post.audioscrobbler.com:80/?hs=true&p=1.2.1&c=ark&v=2.6.0&u=afettouhi&t=1346521414&a=031f5d00f6edfff7bc803e80ca59a825&api_key=402d3ca8e9bc9d3cf9b85e1202944ca5&sk=c574d019fdcb2ca62ac18d93038004a5" )
QUrl( "http://ws.audioscrobbler.com/2.0/?api_key=402d3ca8e9bc9d3cf9b85e1202944ca5&lang=da&method=user.getNeighbours&user=afettouhi" )
QUrl( "http://ws.audioscrobbler.com/2.0/?api_key=402d3ca8e9bc9d3cf9b85e1202944ca5&lang=da&method=user.getFriends&user=afettouhi" )
QUrl( "http://ws.audioscrobbler.com/2.0/?api_key=402d3ca8e9bc9d3cf9b85e1202944ca5&lang=da&method=user.getTopTags&user=afettouhi" )
QUrl( "http://ws.audioscrobbler.com/2.0/?api_key=402d3ca8e9bc9d3cf9b85e1202944ca5&lang=da&method=user.getTopArtists&user=afettouhi" )
[af@andre ~]$ amarok(8892)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
amarok(8892)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
amarok(8892)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
QCoreApplication::postEvent: Unexpected null receiver
QWidget::insertAction: Attempt to insert null action
amarok(8892)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
Object::disconnect: Unexpected null parameter
Object::disconnect: Unexpected null parameter
Please specify an output .mood file

"OK
cebe84b1827b4d1b9c4960ba62962ccd
http://post.audioscrobbler.com:80/np_1.2
http://post2.audioscrobbler.com:80/protocol_1.2";
HTTP POST: QUrl( "http://post.audioscrobbler.com:80/np_1.2" ) "s=cebe84b1827b4d1b9c4960ba62962ccd&a=Jesper%20Kyd&t=Death%20Plains%20Theme&b=Darksiders%20II%20Original%20Soundtrack%20%28disc%202%29&l=203&n=0&m="
"OK"
HTTP POST: QUrl( "http://post.audioscrobbler.com:80/np_1.2" ) "s=cebe84b1827b4d1b9c4960ba62962ccd&a=Jesper%20Kyd&t=The%20Makers%20Theme&b=Darksiders%20II%20Original%20Soundtrack%20%28disc%201%29&l=262&n=0&m="
KCrash: Application 'amarok' crashing...
KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit
sock_file=/home/af/.kde4/socket-andre/kdeinit4__0
QSocketNotifier: Invalid socket 40 and type 'Read', disabling...
Comment 1 Myriam Schweingruber 2012-09-11 14:14:09 UTC
Sorry, but neither the debug output (which you should start with amarok -d --nofork) nor the backtrace have debugging symbols, please install and enable those and provide a better backtrace. See also http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports
Comment 2 André Fettouhi 2012-09-11 16:04:28 UTC
Created attachment 73827 [details]
crash output
Comment 3 André Fettouhi 2012-09-11 16:08:50 UTC
I also have the konsole output but it is 2.7 MB large. I don't havew a place to put it.
Comment 4 André Fettouhi 2012-09-12 07:34:02 UTC
Created attachment 73850 [details]
konsole output (compressed)

output from konsole running

amarok -d --norfork

until crash (debug symbols turned)
Comment 5 Myriam Schweingruber 2012-09-12 08:27:38 UTC
Well, you need to install the debugging symbols first, the backtrace is useless, it only shows ??
Comment 6 André Fettouhi 2012-09-12 08:31:33 UTC
I rebuild amarok from source with 

-DCMAKE_BUILD_TYPE=Debug

what else do I need to do?
Comment 7 Myriam Schweingruber 2012-09-12 08:38:44 UTC
(In reply to comment #6)
> I rebuild amarok from source with 
> 
> -DCMAKE_BUILD_TYPE=Debug
> 
> what else do I need to do?

the exact command is DCMAKE_BUILD_TYPE=debugfull

the problem is that you also have no debugging symbols for Qt and probably a few other libraries amarok depends on, so far the backtrace shows this:

Thread 1 (Thread 0x7f8ac4d997c0 (LWP 20983)):
[KCrash Handler]
#5  0x00007f8b154e8000 in ?? ()
#6  0x0000000000000028 in ?? ()
#7  0x00007f8a1f2a99c0 in ?? ()
#8  0x00007f8a00000011 in ?? ()
#9  0x0000000000000002 in ?? ()
#10 0x00007f8a1f2a9300 in ?? ()
#11 0x0000000000000005 in ?? ()
#12 0x0000000000000040 in ?? ()

and that is simply unusable.
Comment 8 André Fettouhi 2012-09-12 08:59:38 UTC
I just tried rebuild to amarok again with the

-DCMAKE_BUILD_TYPE=debugfull

and I added options=(!strip) to the PKGBUILD and now the package is 300 MB but the backtrace when Amarok crashes still shows ?? where the debug symbols should be. What am I forgetting?
Comment 9 Myriam Schweingruber 2012-09-12 10:17:41 UTC
(In reply to comment #8)
> I just tried rebuild to amarok again with the
> 
> -DCMAKE_BUILD_TYPE=debugfull
> 
> and I added options=(!strip) to the PKGBUILD and now the package is 300 MB
> but the backtrace when Amarok crashes still shows ?? where the debug symbols
> should be. What am I forgetting?

As already said previously, you would also need debugging symbols for all libraries Amarok depends on. The problem is your distribution, they don't ship debugging symbols, so unless you are willing to recompile all dependencies you will not be able to get a valid backtrace I fear. 

What you should do is erasing the old amarok configuration files located in $HOME/.kde/share/config/. That folder might actually be $HOME/.kde4/share/config/, some distributions change that.
Comment 10 André Fettouhi 2012-09-12 10:23:09 UTC
I already tried to erase the  old configuration files and amarok still crashes.
Comment 11 Myriam Schweingruber 2012-09-12 10:26:38 UTC
Did you try with a new user? Also erasing the default playlist current.xspf in $HOME/.kde/share/apps/amarok/ might be a good idea. (Again, depending on the distribution this might be in $HOME/.kde4/share/apps/amarok/)

Please do NOT erase that folder, only the playlist file, else you will loose the database and all the statistics and ratings.
Comment 12 André Fettouhi 2012-09-12 10:51:08 UTC
Yes I also tried a new user and it still crashes.
Comment 13 Myriam Schweingruber 2012-10-21 09:04:53 UTC
You didn't specify whether you removed the playlist.xspf file...
Comment 14 André Fettouhi 2012-10-21 09:08:15 UTC
Yes, I did erase playlist.xspf and it still crashes.
Comment 15 Myriam Schweingruber 2012-10-21 09:18:05 UTC
Thank you for the feedback. Could you please provide the output of ~/.xsession-errors when this crash happens? It might contain information that could be useful.
Comment 16 André Fettouhi 2012-10-21 09:21:13 UTC
Will do. I do have the suspicion at the moment that the crash maybe caused by one of the scripts I'm running.
Comment 17 Myriam Schweingruber 2012-10-21 09:25:03 UTC
Oh, then please disable these scripts by editing amarokrc, located in $HOME/.kde/share/config/ (the folder might also be in $HOME/.kde4/share/config/ depending on the distribution) and re-enable them selectively.

If this is indeed caused by a script then please don't forget to report the issue to the script author on http://kde-apps.org
Comment 18 André Fettouhi 2012-10-21 09:26:27 UTC
Will do!
Comment 19 André Fettouhi 2012-10-21 16:46:54 UTC
Created attachment 74702 [details]
.xsession-errors file from amarok 2.6.0 crash on Arch Linux 64 bit

Here is the output from ~/.xsession-errors
Comment 20 Myriam Schweingruber 2012-10-22 01:08:16 UTC
The xsession-errors file is not giving any more hints. Did you try disabling the scripts?
Comment 21 André Fettouhi 2012-10-22 06:28:42 UTC
Yes I disabled the scripts and it still crashed on me.
Comment 22 Myriam Schweingruber 2012-10-22 09:16:37 UTC
All this is not very helpful unfortunately.

The konsole output shows that you were playing several tracks before the crash happened, though, so this is not a crash on start.

Please try reinstalling Amarok, e.g. you remove it first with all configuration files (in a Debian like system this would be apt-get purge, no idea this is done in Arch).
Comment 23 André Fettouhi 2012-10-22 10:25:35 UTC
I tried that and it still crashes. The crash happens sometimes also at start, other times during scanning my collection. Also trying to play the first song or the song after that.
Comment 24 Myriam Schweingruber 2012-10-22 10:30:32 UTC
Could you try changing the phonon backend you currently use? After that I give up, not a clue what is going wrong.

Amarok Settings menu -> Configure Amarok -> Playback -> COnfigure Phonon.

I don't know what is default on Arch, probably gstreamer, please install the phonon-backend-vlc in that case. You will have to restart KDE for the phonon backend change to be effective.
Comment 25 Myriam Schweingruber 2013-01-10 23:35:40 UTC
Any news about this? I expected some feedback after the phonon backend change...
Comment 26 André Fettouhi 2013-01-11 06:10:11 UTC
I did the change to phonon backend and it amarok still crashed on me. So I have been investigating here and there to figure out why it was crashing. Currently it doesn't crash as very often, so the issue I think at least seems to be caused by one of amarok's dependencies.
Comment 27 André Fettouhi 2013-01-11 06:11:29 UTC
I did the change to phonon backend and it amarok still crashed on me. So I have been investigating here and there to figure out why it was crashing. Currently it doesn't crash as very often, so the issue I think at least seems to be caused by one of amarok's dependencies.
Comment 28 Myriam Schweingruber 2013-01-11 11:29:21 UTC
Could you maybe try Amarok 2.6.90 aka 2.7 beta1 with a new user?
Comment 29 Myriam Schweingruber 2013-02-11 17:59:21 UTC
I can't reproduce this with Amarok 2.7. Please feel free to reopen if you can reproduce this with Amarok 2.7 or later.