When searching spotify for songs, mopidy occasionally crashes with a segmentation fault. This is not reproducible by some special search query or what ever, it just happens randomly.
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffd273b700 (LWP 14821)]
0x0000000000000000 in ?? ()
(gdb) where
#0 0x0000000000000000 in ?? ()
#1 0x00007fffee173a99 in sp_album_add_ref () from /usr/lib/libspotify.so.12
#2 0x00007fffee490660 in Album_FromSpotify (album=0x7fffc4000078, add_ref=add_ref@entry=1 '\001') at src/album.c:22
#3 0x00007fffee491225 in Results_albums (self=<spotify.Results at remote 0x7fff8c522690>) at src/search.c:82
#4 0x000000000052d432 in call_function (oparg=<optimized out>, pp_stack=0x7fffd2739a70) at ../Python/ceval.c:4004
#5 PyEval_EvalFrameEx (
f=f@entry=Frame 0x7fffc85cebb0, for file /usr/local/lib/python2.7/dist-packages/mopidy_spotify/library.py, line 243, in callback (results=<spotify.Results at remote 0x7fff8c522690>, userdata=None), throwflag=throwflag@entry=0) at ../Python/ceval.c:2666
#6 0x000000000056d0aa in PyEval_EvalCodeEx (closure=<optimized out>, defcount=<optimized out>, defs=0x7fff65fb7c28, kwcount=<optimized out>, kws=<optimized out>, argcount=-933434448,
args=<optimized out>, locals=0x0, globals=<optimized out>, co=<optimized out>) at ../Python/ceval.c:3252
#7 function_call (func=<optimized out>, arg=<optimized out>, kw=<optimized out>) at ../Objects/funcobject.c:526
#8 0x0000000000502be0 in PyObject_Call (kw=0x0, arg=(<spotify.Results at remote 0x7fff8c522690>, None), func=<function at remote 0x7fff65f96140>) at ../Objects/abstract.c:2529
#9 call_function_tail (args=(<spotify.Results at remote 0x7fff8c522690>, None), callable=<function at remote 0x7fff65f96140>) at ../Objects/abstract.c:2561
#10 PyObject_CallFunction (callable=<function at remote 0x7fff65f96140>, format=format@entry=0x7fffee495628 "NO") at ../Objects/abstract.c:2585
#11 0x00007fffee48e61c in Session_search_complete (search=0x7fffc409fdd0, data=0x7fffc409cea0) at src/session.c:199
#12 0x00007fffee17a7c7 in ?? () from /usr/lib/libspotify.so.12
#13 0x00007fffee0e2cbc in ?? () from /usr/lib/libspotify.so.12
#14 0x00007fffee0a4c8b in ?? () from /usr/lib/libspotify.so.12
#15 0x00007fffee1795b3 in sp_session_process_events () from /usr/lib/libspotify.so.12
#16 0x00007fffee48ed5f in Session_process_events (self=<spotify.Session at remote 0x7fffe4dde618>) at src/session.c:180
#17 0x000000000052d432 in call_function (oparg=<optimized out>, pp_stack=0x7fffd273a3d0) at ../Python/ceval.c:4004
#18 PyEval_EvalFrameEx (
f=f@entry=Frame 0x7fffd16fba28, for file /usr/local/lib/python2.7/dist-packages/spotify/manager/session.py, line 101, in loop (self=<SpotifySessionManager(remember_me=False, _Thread__ident=140736724186880, buffer_timestamp=40402720830L, login_blob='', _Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fffe4c11e10>, acquire=<built-in method acquire of thread.lock object at remote 0x7fffe4c11e10>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7fffe4c11e10>) at remote 0x7fffd304b2d0>) at remote 0x7fffd304b290>, proxy_password=None, application_key='\x01\xcf\x89\x0f\xde\x9f\xd6!P\x16\x8e\xd43\x7fs\x82\xc1R\xc7N\x85G \x8dS\xb9"^=\xc5+\t\xe9\xcfd/d\x85\xcf\xc3K~\xeb8\x06(%n\xd1\xd5\xfeG\xf7~L\x90\x0e\x9f\xb8\x0b\x98\x1a\x14.$\xbf\xddqsm\xc5\xbd\xf3\xb2\x81\x9e\x10y|3\x13\xac0\x03\x97>t\x87\xb6\x95|\xc1\xead\x89\xe2\r\xde\xa2\xda\xb7\xbc\xf9+\xbb\xdf\xb2\x974\xce\xbby\xec/...(truncated), throwflag=throwflag@entry=0) at ../Python/ceval.c:2666
#19 0x000000000052cf32 in fast_function (nk=<optimized out>, na=<optimized out>, n=2, pp_stack=0x7fffd273a510, func=<function at remote 0x7fffee6cad70>) at ../Python/ceval.c:4106
#20 call_function (oparg=<optimized out>, pp_stack=0x7fffd273a510) at ../Python/ceval.c:4041
#21 PyEval_EvalFrameEx (
f=f@entry=Frame 0x7fffedfb3430, for file /usr/local/lib/python2.7/dist-packages/spotify/manager/session.py, line 81, in connect (self=<SpotifySessionManager(remember_me=False, _Thread__ident=140736724186880, buffer_timestamp=40402720830L, login_blob='', _Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fffe4c11e10>, acquire=<built-in method acquire of thread.lock object at remote 0x7fffe4c11e10>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7fffe4c11e10>) at remote 0x7fffd304b2d0>) at remote 0x7fffd304b290>, proxy_password=None, application_key='\x01\xcf\x89\x0f\xde\x9f\xd6!P\x16\x8e\xd43\x7fs\x82\xc1R\xc7N\x85G \x8dS\xb9"^=\xc5+\t\xe9\xcfd/d\x85\xcf\xc3K~\xeb8\x06(%n\xd1\xd5\xfeG\xf7~L\x90\x0e\x9f\xb8\x0b\x98\x1a\x14.$\xbf\xddqsm\xc5\xbd\xf3\xb2\x81\x9e\x10y|3\x13\xac0\x03\x97>t\x87\xb6\x95|\xc1\xead\x89\xe2\r\xde\xa2\xda\xb7\xbc\xf9+\xbb\xdf\xb2\x974\xce\xbby\xe...(truncated), throwflag=throwflag@entry=0) at ../Python/ceval.c:2666
#22 0x000000000052cf32 in fast_function (nk=<optimized out>, na=<optimized out>, n=1, pp_stack=0x7fffd273a650, func=<function at remote 0x7fffee6cacf8>) at ../Python/ceval.c:4106
#23 call_function (oparg=<optimized out>, pp_stack=0x7fffd273a650) at ../Python/ceval.c:4041
#24 PyEval_EvalFrameEx (
f=f@entry=Frame 0x7fffe52cf770, for file /usr/local/lib/python2.7/dist-packages/mopidy_spotify/session_manager.py, line 67, in run_inside_try (self=<SpotifySessionManager(remember_me=False, _Thread__ident=140736724186880, buffer_timestamp=40402720830L, login_blob='', _Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fffe4c11e10>, acquire=<built-in method acquire of thread.lock object at remote 0x7fffe4c11e10>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7fffe4c11e10>) at remote 0x7fffd304b2d0>) at remote 0x7fffd304b290>, proxy_password=None, application_key='\x01\xcf\x89\x0f\xde\x9f\xd6!P\x16\x8e\xd43\x7fs\x82\xc1R\xc7N\x85G \x8dS\xb9"^=\xc5+\t\xe9\xcfd/d\x85\xcf\xc3K~\xeb8\x06(%n\xd1\xd5\xfeG\xf7~L\x90\x0e\x9f\xb8\x0b\x98\x1a\x14.$\xbf\xddqsm\xc5\xbd\xf3\xb2\x81\x9e\x10y|3\x13\xac0\x03\x97>t\x87\xb6\x95|\xc1\xead\x89\xe2\r\xde\xa2\xda\xb7\xbc\xf9+\xbb\xdf\xb2\x9...(truncated), throwflag=throwflag@entry=0) at ../Python/ceval.c:2666
#25 0x000000000055c594 in PyEval_EvalCodeEx (co=0x7fffee6bf7b0, globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, argcount=argcount@entry=1, kws=<optimized out>,
kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:3252
#26 0x000000000052ca8d in fast_function (nk=<optimized out>, na=1, n=<optimized out>, pp_stack=0x7fffd273a830, func=<function at remote 0x7fffee6daa28>) at ../Python/ceval.c:4116
#27 call_function (oparg=<optimized out>, pp_stack=0x7fffd273a830) at ../Python/ceval.c:4041
#28 PyEval_EvalFrameEx (
f=f@entry=Frame 0x2ea3c80, for file /usr/local/lib/python2.7/dist-packages/mopidy/utils/process.py, line 64, in run (self=<SpotifySessionManager(remember_me=False, _Thread__ident=140736724186880, buffer_timestamp=40402720830L, login_blob='', _Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fffe4c11e10>, acquire=<built-in method acquire of thread.lock object at remote 0x7fffe4c11e10>, _Condition__waiters=[], release=<built-in method re---Type <return> to continue, or q <return> to quit---
lease of thread.lock object at remote 0x7fffe4c11e10>) at remote 0x7fffd304b2d0>) at remote 0x7fffd304b290>, proxy_password=None, application_key='\x01\xcf\x89\x0f\xde\x9f\xd6!P\x16\x8e\xd43\x7fs\x82\xc1R\xc7N\x85G \x8dS\xb9"^=\xc5+\t\xe9\xcfd/d\x85\xcf\xc3K~\xeb8\x06(%n\xd1\xd5\xfeG\xf7~L\x90\x0e\x9f\xb8\x0b\x98\x1a\x14.$\xbf\xddqsm\xc5\xbd\xf3\xb2\x81\x9e\x10y|3\x13\xac0\x03\x97>t\x87\xb6\x95|\xc1\xead\x89\xe2\r\xde\xa2\xda\xb7\xbc\xf9+\xbb\xdf\xb2\x974\xce\xbby\xec/\xa2\xee\x...(truncated), throwflag=throwflag@entry=0) at ../Python/ceval.c:2666
#29 0x000000000055c594 in PyEval_EvalCodeEx (co=0x7fffefe0f830, globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, argcount=argcount@entry=1, kws=<optimized out>,
kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:3252
#30 0x000000000052ca8d in fast_function (nk=<optimized out>, na=1, n=<optimized out>, pp_stack=0x7fffd273aa10, func=<function at remote 0x7fffefe1b500>) at ../Python/ceval.c:4116
#31 call_function (oparg=<optimized out>, pp_stack=0x7fffd273aa10) at ../Python/ceval.c:4041
#32 PyEval_EvalFrameEx (
f=f@entry=Frame 0x7fffc8000910, for file /usr/lib/python2.7/threading.py, line 810, in __bootstrap_inner (self=<SpotifySessionManager(remember_me=False, _Thread__ident=140736724186880, buffer_timestamp=40402720830L, login_blob='', _Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fffe4c11e10>, acquire=<built-in method acquire of thread.lock object at remote 0x7fffe4c11e10>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7fffe4c11e10>) at remote 0x7fffd304b2d0>) at remote 0x7fffd304b290>, proxy_password=None, application_key='\x01\xcf\x89\x0f\xde\x9f\xd6!P\x16\x8e\xd43\x7fs\x82\xc1R\xc7N\x85G \x8dS\xb9"^=\xc5+\t\xe9\xcfd/d\x85\xcf\xc3K~\xeb8\x06(%n\xd1\xd5\xfeG\xf7~L\x90\x0e\x9f\xb8\x0b\x98\x1a\x14.$\xbf\xddqsm\xc5\xbd\xf3\xb2\x81\x9e\x10y|3\x13\xac0\x03\x97>t\x87\xb6\x95|\xc1\xead\x89\xe2\r\xde\xa2\xda\xb7\xbc\xf9+\xbb\xdf\xb2\x974\xce\xbby\xec/\xa2\xee\xf1!\xf7\xcc...(truncated), throwflag=throwflag@entry=0) at ../Python/ceval.c:2666
#33 0x000000000052cf32 in fast_function (nk=<optimized out>, na=<optimized out>, n=1, pp_stack=0x7fffd273ab50, func=<function at remote 0x7ffff7e41488>) at ../Python/ceval.c:4106
#34 call_function (oparg=<optimized out>, pp_stack=0x7fffd273ab50) at ../Python/ceval.c:4041
#35 PyEval_EvalFrameEx (
f=f@entry=Frame 0x7fffe5320c90, for file /usr/lib/python2.7/threading.py, line 783, in __bootstrap (self=<SpotifySessionManager(remember_me=False, _Thread__ident=140736724186880, buffer_timestamp=40402720830L, login_blob='', _Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fffe4c11e10>, acquire=<built-in method acquire of thread.lock object at remote 0x7fffe4c11e10>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7fffe4c11e10>) at remote 0x7fffd304b2d0>) at remote 0x7fffd304b290>, proxy_password=None, application_key='\x01\xcf\x89\x0f\xde\x9f\xd6!P\x16\x8e\xd43\x7fs\x82\xc1R\xc7N\x85G \x8dS\xb9"^=\xc5+\t\xe9\xcfd/d\x85\xcf\xc3K~\xeb8\x06(%n\xd1\xd5\xfeG\xf7~L\x90\x0e\x9f\xb8\x0b\x98\x1a\x14.$\xbf\xddqsm\xc5\xbd\xf3\xb2\x81\x9e\x10y|3\x13\xac0\x03\x97>t\x87\xb6\x95|\xc1\xead\x89\xe2\r\xde\xa2\xda\xb7\xbc\xf9+\xbb\xdf\xb2\x974\xce\xbby\xec/\xa2\xee\xf1!\xf7\xcc\xf3\x...(truncated), throwflag=throwflag@entry=0) at ../Python/ceval.c:2666
#36 0x000000000056d0aa in PyEval_EvalCodeEx (closure=<optimized out>, defcount=<optimized out>, defs=0x0, kwcount=<optimized out>, kws=<optimized out>, argcount=-449704816,
args=<optimized out>, locals=0x0, globals=<optimized out>, co=<optimized out>) at ../Python/ceval.c:3252
#37 function_call (func=func@entry=<function at remote 0x7ffff7e41398>,
arg=arg@entry=(<SpotifySessionManager(remember_me=False, _Thread__ident=140736724186880, buffer_timestamp=40402720830L, login_blob='', _Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fffe4c11e10>, acquire=<built-in method acquire of thread.lock object at remote 0x7fffe4c11e10>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7fffe4c11e10>) at remote 0x7fffd304b2d0>) at remote 0x7fffd304b290>, proxy_password=None, application_key='\x01\xcf\x89\x0f\xde\x9f\xd6!P\x16\x8e\xd43\x7fs\x82\xc1R\xc7N\x85G \x8dS\xb9"^=\xc5+\t\xe9\xcfd/d\x85\xcf\xc3K~\xeb8\x06(%n\xd1\xd5\xfeG\xf7~L\x90\x0e\x9f\xb8\x0b\x98\x1a\x14.$\xbf\xddqsm\xc5\xbd\xf3\xb2\x81\x9e\x10y|3\x13\xac0\x03\x97>t\x87\xb6\x95|\xc1\xead\x89\xe2\r\xde\xa2\xda\xb7\xbc\xf9+\xbb\xdf\xb2\x974\xce\xbby\xec/\xa2\xee\xf1!\xf7\xcc\xf3\xc9u\x90\x15?\xbb\xaa\xc2\xc9d9\x07\xd8W\x0f\t(qG\x04H\xf0T\x8eM\xd3+\xc3\xa3\xf8+"\xc1\xc2\x86...(truncated), kw=kw@entry=0x0) at ../Objects/funcobject.c:526
#38 0x00000000004d9854 in PyObject_Call (kw=0x0,
arg=(<SpotifySessionManager(remember_me=False, _Thread__ident=140736724186880, buffer_timestamp=40402720830L, login_blob='', _Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fffe4c11e10>, acquire=<built-in method acquire of thread.lock object at remote 0x7fffe4c11e10>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7fffe4c11e10>) at remote 0x7fffd304b2d0>) at remote 0x7fffd304b290>, proxy_password=None, application_key='\x01\xcf\x89\x0f\xde\x9f\xd6!P\x16\x8e\xd43\x7fs\x82\xc1R\xc7N\x85G \x8dS\xb9"^=\xc5+\t\xe9\xcfd/d\x85\xcf\xc3K~\xeb8\x06(%n\xd1\xd5\xfeG\xf7~L\x90\x0e\x9f\xb8\x0b\x98\x1a\x14.$\xbf\xddqsm\xc5\xbd\xf3\xb2\x81\x9e\x10y|3\x13\xac0\x03\x97>t\x87\xb6\x95|\xc1\xead\x89\xe2\r\xde\xa2\xda\xb7\xbc\xf9+\xbb\xdf\xb2\x974\xce\xbby\xec/\xa2\xee\xf1!\xf7\xcc\xf3\xc9u\x90\x15?\xbb\xaa\xc2\xc9d9\x07\xd8W\x0f\t(qG\x04H\xf0T\x8eM\xd3+\xc3\xa3\xf8+"\xc1\xc2\x86...(truncated), func=<function at remote 0x7ffff7e41398>)
at ../Objects/abstract.c:2529
#39 instancemethod_call.8802 (func=<function at remote 0x7ffff7e41398>, func@entry=<instancemethod at remote 0x7fffef5c2500>,
arg=(<SpotifySessionManager(remember_me=False, _Thread__ident=140736724186880, buffer_timestamp=40402720830L, login_blob='', _Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fffe4c11e10>, acquire=<built-in method acquire of thread.lock object at remote 0x7fffe4c11e10>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7fffe4c11e10>) at remote 0x7fffd304b2d0>) at remote 0x7fffd304b290>, proxy_password=None, application_key='\x01\xcf\x89\x0f\xde\x9f\xd6!P\x16\x8e\xd43\x7fs\x82\xc1R\xc7N\x85G \x8dS\xb9"^=\xc5+\t\xe9\xcfd/d\x85\xcf\xc3K~\xeb8\x06(%n\xd1\xd5\xfeG\xf7~L\x90\x0e\x9f\xb8\x0b\x98\x1a\x14.$\xbf\xddqsm\xc5\xbd\xf3\xb2\x81\x9e\x10y|3\x13\xac0\x03\x97>t\x87\xb6\x95|\xc1\xead\x89\xe2\r\xde\xa2\xda\xb7\xbc\xf9+\xbb\xdf\xb2\x974\xce\xbby\xec/\xa2\xee\xf1!\xf7\xcc\xf3\xc9u\x90\x15?\xbb\xaa\xc2\xc9d9\x07\xd8W\x0f\t(qG\x04H\xf0T\x8eM\xd3+\xc3\xa3\xf8+"\xc1\xc2\x86...(truncated), arg@entry=(), kw=0x0) at ../Objects/classobject.c:2602
#40 0x00000000004da20b in PyObject_Call (kw=<optimized out>, arg=(), func=<instancemethod at remote 0x7fffef5c2500>) at ../Objects/abstract.c:2529
#41 PyEval_CallObjectWithKeywords (func=<instancemethod at remote 0x7fffef5c2500>, arg=(), kw=<optimized out>) at ../Python/ceval.c:3889
#42 0x00000000005872b2 in t_bootstrap.71638 (boot_raw=0x7fffc4000e40) at ../Modules/threadmodule.c:614
#43 0x00007ffff7bc4182 in start_thread (arg=0x7fffd273b700) at pthread_create.c:312
#44 0x00007ffff78f147d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111