Announcements
The Spotify Stars Program: Celebrating Values Week!

Help Wizard

Step 1

NEXT STEP

Linux Client crashing (segfault) on certain songs

Linux Client crashing (segfault) on certain songs


- 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.
Reply
41 Replies

Hello @docsmooth,

 

Thank you for the detailed tinformation.

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

 

Cheers

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.

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.

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).

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

 

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

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.

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.

 

 

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.

Hey @docsmooth,

 

I don't have any access to the sources, but I am trying to gather as much information as I can to be able to provide it to the team.

 

I have escalated this, will let you know if I get a response. 🙂

Thanks, I appreciate it. I pinged the Twitter account and pinged them here, too. We'll see.

I had to plug my phone into my speakers to listen at work, instead of controlling from the computer, because of this.
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.

The web client works fine as well, and is, IMO, a better solution. Consider it!

Hey guys,


Just a quick heads up, Spotify team is now aware of the issue.

 

Cheers! 

Can you check if you can reproduce the crashes with 1.0.16 that was just released?

Still crashes, apparently in the same place. Do you want me to PM you the core file I generated along with this? ii spotify-client 1:1.0.16.104.g3b776c9e amd64 Spotify streaming music client
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.

Or, if you have debug symbols (even if it's tar-extration installation), I'll generate you nicer gdb outputs. 🙂
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.

It no longer crashes for me.

@jooon Still getting crashes with 1:1.0.17.75.g8f111100

I would love to securely send you a corefile, rather than just the backtrace, if you have a place I can upload to (or can give me your email address, I have a secure delivery system, too, but it needs emails).

It's crashing on songs in my personal Starred playlist, in other user's playlists, and 2 weeks ago even in my Discover Weekly playlist. I don't get crashes in Radio or from Album plays... yet. I did clear my whole spotify cache and do a purge uninstall in Ubuntu. This laptop was built fresh in September. Thanks!
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.

Crashed from the Dream Theatre artist page and from the Misfits Project 1950 album page today, 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.

Suggested posts