Closed wolph closed 12 years ago
Do you use version 1.6.1, released yesterday? It's a bugfix release which fixes a memory corruption bug. Also, the strace output is not really useful. It would be better if you could provide a gdb backtrace, obtained from a coredump.
Yes, I installed it yesterday :)
You're right, the strace output isn't that useful. I have enabled core dumps now so I can give you the dump (or backtrace). Do I need to recompile anything with debug flags enabled?
This backtrace seems somewhat less than useful ;)
#0 0x00007f689e7660e0 in ?? () from /usr/local/lib/libspotify.so.10
(gdb) backtrace
#0 0x00007f689e7660e0 in ?? () from /usr/local/lib/libspotify.so.10
#1 0x00007f689e766805 in ?? () from /usr/local/lib/libspotify.so.10
#2 0x00007f689e6f53b3 in ?? () from /usr/local/lib/libspotify.so.10
#3 0x00007f689e8052bc in ?? () from /usr/local/lib/libspotify.so.10
#4 0x00007f689e8056d9 in ?? () from /usr/local/lib/libspotify.so.10
#5 0x00007f68a02b5efc in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#6 0x00007f689f14d89d in clone () from /lib/x86_64-linux-gnu/libc.so.6
#7 0x0000000000000000 in ?? ()
(gdb) quit
Do you call any Spotify API function from the following Session callbacks?
end_of_track
, music_delivery
, notify_main_thread
They are called from an internal libspotify thread, and libspotify is not thread-safe (I'm working on a pyspotify fix).
The end_of_track
method automatically adds the next song to the queue, could that be the problem?
Yes, we have the same problem with our jukebox example. For now, the workaround is to add the next song from the main thread (the one running the session manager), so you'll need to have proper synchronization in your app.
Ok, thank you for the info :)
I have not yet been able to trace down the exact issue, but every time I play a couple of songs (~15 minutes) my app crashes with a segmentation fault.
Little information about my environment:
Here's a small part of the
strace
output: