Linux Client crashing (segfault) on certain songs

Reply
2 people liked this

Linux Client crashing (segfault) on certain songs

Garage Band
‎2015-10-07 04:32 AM


- Kubuntu 15.04 64-bit (Ubuntu KDE) Fresh build, Lenovo T430. Custom or default kernel.
- Premium user.
 -ii  spotify-client                              1:1.0.14.124.g4dfabc51     amd64

 

- Spotify crashes when loading certain songs, always on the same songs.  For example, when loading the copy of AC/DC Back in Black from the "Workday: Rock Classics" playlist: https://open.spotify.com/track/08mG3Y1vljYA6bvDt4Wqkj (playlist: https://open.spotify.com/user/spotify/playlist/3ChGYhKK8R2PM1pb7xNvNp )

- To reproduce: Load the playlist, click "play".  Or double-click on the first song.  My "Starred" playlist crashes on the first song too.  HOWEVER, it's not just "the first song in any playlist", it's specific songs.  If I double-click another song, but am playing the playlist in random or repeat mode, when one of the problem tracks loads, Spotify crashes.

I followed the troubleshooting steps to make sure music plays via asound and other apps fine.

Then I cleared my spotify cache by running "rm -Rf .cache/spotify".

Then I did a purge uninstall (in aptitude) of spotify, and reinstalled it.

Then I tested, and saw crashes still.

 

I have no problems playing these songs on PS4 or Android clients.

 

STDOUT and STDERR joined log attached.  I can generate a core file as well, but it's not very useful to me. Also have a webex account if someone wants to view/troubleshoot on my system if it's hard to reproduce.

I work: IT Security. I travel: weekly for work. I am: human. I don't consider you a Social Media Expert until you can find me on freenode.
40 Replies
1 person liked this

Re: Linux Client crashing (segfault) on certain songs

Community Legend
‎2015-10-07 09:43 PM

Hello @docsmooth,

 

Thank you for the detailed tinformation.

I will get back to you soon with any update on this.

 

Cheers

If this solved your issue - Mark it as a solution!
Twitter | Website |
What's a Spotify Rock Star, and how do I become one?



Re: Linux Client crashing (segfault) on certain songs

Garage Band
‎2015-10-07 10:10 PM
FYI: ii spotify-client 1:1.0.15.137.gbdf6861 amd64 Spotify streaming music client
also exhibits the same symptoms.
I work: IT Security. I travel: weekly for work. I am: human. I don't consider you a Social Media Expert until you can find me on freenode.

Re: Linux Client crashing (segfault) on certain songs

Garage Band
‎2015-10-07 10:24 PM

Surprisingly, the backtrace is actually somewhat readable!  Maybe only half the threads odn't have debug symbols, rather than all of them.

 

There are only 3 threads not in a poll or wait state:

grep '#0' spotify.gdb.log  |egrep -v "(cond_wait|epoll|timedwait|poll)" | while read line; do grep -B1 "$line" spotify.gdb.log;
done
Thread 37 (Thread 0x7fffe2caf700 (LWP 22349)):
#0  0x00007fffeeb5b743 in select () at ../sysdeps/unix/syscall-template.S:81
Thread 18 (Thread 0x7fffd10b6700 (LWP 22372)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
Thread 7 (Thread 0x7fffd5f8c700 (LWP 22363)):
#0  strchr () at ../sysdeps/x86_64/multiarch/../strchr.S:32

Thread 7 isn't readable, Thread 18 appears to be handling the SIGSEGV, but Thread37 is readable:

 

Thread 37 (Thread 0x7fffe2caf700 (LWP 22349)):
#0  0x00007fffeeb5b743 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffff3cb4b42 in base::(anonymous namespace)::InotifyReaderCallback(base::(anonymous namespace)::InotifyReader*, int, int) ()
  from /usr/share/spotify/libcef.so
#2  0x00007ffff3cae73c in base::debug::TaskAnnotator::RunTask(char const*, char const*, base::PendingTask const&) () from /usr/share/spotify/libcef.so
#3  0x00007ffff3cc7301 in base::MessageLoop::RunTask(base::PendingTask const&) () from /usr/share/spotify/libcef.so
#4  0x00007ffff3cc7499 in base::MessageLoop::DeferOrRunPendingTask(base::PendingTask const&) () from /usr/share/spotify/libcef.so
#5  0x00007ffff3cc767d in base::MessageLoop::DoWork() () from /usr/share/spotify/libcef.so
#6  0x00007ffff3cc862a in base::MessagePumpDefault::Run(base::MessagePump::Delegate*) () from /usr/share/spotify/libcef.so
#7  0x00007ffff3cd7f30 in base::RunLoop::Run() () from /usr/share/spotify/libcef.so
#8  0x00007ffff3cc6c5a in base::MessageLoop::Run() () from /usr/share/spotify/libcef.so
#9  0x00007ffff3cf77e4 in base::Thread::ThreadMain() () from /usr/share/spotify/libcef.so
#10 0x00007ffff3cf404c in base::(anonymous namespace)::ThreadFunc(void*) () from /usr/share/spotify/libcef.so
#11 0x00007ffff224e6aa in start_thread (arg=0x7fffe2caf700) at pthread_create.c:333
#12 0x00007fffeeb64eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

 Thread 7 is:
Thread 7 (Thread 0x7fffd5f8c700 (LWP 22363)):
#0  strchr () at ../sysdeps/x86_64/multiarch/../strchr.S:32
#1  0x00007ffff7dee0e5 in dl_open_worker (a=a@entry=0x7fffd5f89088) at dl-open.c:212
#2  0x00007ffff7de9464 in _dl_catch_error (objname=objname@entry=0x7fffd5f89078, errstring=errstring@entry=0x7fffd5f89080,
   mallocedp=mallocedp@entry=0x7fffd5f89077, operate=operate@entry=0x7ffff7dee0a0 <dl_open_worker>, args=args@entry=0x7fffd5f89088) at dl-error.c:187
#3  0x00007ffff7ded9a3 in _dl_open (file=0x1 <error: Cannot access memory at address 0x1>, mode=-2147483390, caller_dlopen=0xf3fd49, nsid=-2,
   argc=<optimized out>, argv=<optimized out>, env=0x7fffffffdd68) at dl-open.c:663
#4  0x00007ffff2f31fc9 in dlopen_doit (a=a@entry=0x7fffd5f892a0) at dlopen.c:66
#5  0x00007ffff7de9464 in _dl_catch_error (objname=0xf5fc88ee690, errstring=0xf5fc88ee698, mallocedp=0xf5fc88ee688, operate=0x7ffff2f31f70 <dlopen_doit>,
   args=0x7fffd5f892a0) at dl-error.c:187
#6  0x00007ffff2f3262d in _dlerror_run (operate=operate@entry=0x7ffff2f31f70 <dlopen_doit>, args=args@entry=0x7fffd5f892a0) at dlerror.c:163
#7  0x00007ffff2f32061 in __dlopen (file=<optimized out>, mode=<optimized out>) at dlopen.c:87
#8  0x0000000000f3fd49 in ?? ()
#9  0x0000000000f34728 in ?? ()
#10 0x0000000000f2b19a in ?? ()
#11 0x0000000000f40d60 in ?? ()

so it looks like it's catching some error. Thread 37 looks more promising?  I'm about out of tools here.
 
I work: IT Security. I travel: weekly for work. I am: human. I don't consider you a Social Media Expert until you can find me on freenode.

Re: Linux Client crashing (segfault) on certain songs

Concert Regular
‎2015-10-08 07:24 AM

Crashing for me in the same way as well, using 1.0.15.xxx client, Ubuntu with devel channels in sources.list (so wily right now, I believe).

Re: Linux Client crashing (segfault) on certain songs

Edited
Community Legend
‎2015-10-08 07:12 PM

Hello @docsmooth,

 

I don't have any success reproducing the issue.

Can you run strace spotify and let me know the outcome?

 

strace spotify > $HOME/spotify-dump 2>&1

 

If this solved your issue - Mark it as a solution!
Twitter | Website |
What's a Spotify Rock Star, and how do I become one?



Re: Linux Client crashing (segfault) on certain songs

Concert Regular
‎2015-10-09 03:42 AM

I'm assuming the attached file is what you need. It seems a bit long to put in the message inline.

Re: Linux Client crashing (segfault) on certain songs

Garage Band
‎2015-10-09 04:28 AM

strace -f, to make sure all the threads are picked up.

 

My last reply looks to have been wrong. Thread 7 is complaining about an illegal memory access in frame 6. It looked like it's getting caught, but I'd guess it's not really getting handled properly. Not having debug symbols to the rest of the frames makes it hard to know for sure though.  I pointed @spotifycares at this, so the guys with access to the code can see too.

I work: IT Security. I travel: weekly for work. I am: human. I don't consider you a Social Media Expert until you can find me on freenode.

Re: Linux Client crashing (segfault) on certain songs

Community Legend
‎2015-10-09 05:11 AM

Hey @docsmooth,

 

Can you please attach the core dump as well ?

 

If you don't have core dump enabled run the following command : 

 

 

ulimit -c unlimited

The core  dump file is saved in the executable file’s directory.

 

I missed in previous strace that the event is SIGSEGV, that means we have invalid memory reference and core dump is generated.

 

 

If this solved your issue - Mark it as a solution!
Twitter | Website |
What's a Spotify Rock Star, and how do I become one?



Re: Linux Client crashing (segfault) on certain songs

Garage Band
‎2015-10-09 02:53 PM
I've actually already generated the "thread apply all bt" in gdb to the crash, which I uploaded (and provided my initial analysis) in the first reply: https://community.spotify.com/spotify/attachments/spotify/001/141468/1/spotify.gdb.zip

Unless you have access to the sources (please let me know!), I don't know how the raw core file will be any more useful to you than the gdb information I've already supplied. I'll be happy to generate more, but I'm being cagey, since the core file includes my account password.
I work: IT Security. I travel: weekly for work. I am: human. I don't consider you a Social Media Expert until you can find me on freenode.
SUGGESTED POSTS