Playing certain tracks cause Lollypop to crash
Created by: ebkalderon
Some music files, apparently regardless of codec and container, cause Lollypop to promptly crash as soon as I try to play them from my library. This happens unpredictably and is very difficult to reproduce, and I often need to re-rip and re-convert my music to get everything working in Lollypop again. VLC, Totem, Rhythmbox, Xnoise, and MPV all play my files just fine. So does my Android phone.
To trigger the crash, I first open Lollypop. Everything seems normal; all (unaffected) files play fine, album art retrieval works, everything is great. All I have to do is simply play an affected track from within Lollypop. The program will start to play the first few seconds, but the scrubber does not move at all and the track's start and end durations don't appear, and then the entire program crashes.
Running Lollypop in the command-line while playing an affected OGG file prints the following output immediately before crashing:
'tuple' object has no attribute 'startswith'
'tuple' object has no attribute 'startswith'
'tuple' object has no attribute 'startswith'
'tuple' object has no attribute 'startswith'
'tuple' object has no attribute 'startswith'
'tuple' object has no attribute 'startswith'
--- SNIP A WHOLE LOT ---
'tuple' object has no attribute 'startswith'
'tuple' object has no attribute 'startswith'
'tuple' object has no attribute 'startswith'
'tuple' object has no attribute 'startswith'
'tuple' object has no attribute 'startswith'
maximum recursion depth exceeded while calling a Python object
'tuple' object has no attribute 'startswith'
'tuple' object has no attribute 'startswith'
'tuple' object has no attribute 'startswith'
--- SNIP A WHOLE LOT MORE ---
'tuple' object has no attribute 'startswith'
'tuple' object has no attribute 'startswith'
'tuple' object has no attribute 'startswith'
Fatal Python error: Cannot recover from stack overflow.
Current thread 0x00007f66fe501700 (most recent call first):
File "/usr/lib/python3.4/site-packages/mutagen/ogg.py", line 109 in <listcomp>
File "/usr/lib/python3.4/site-packages/mutagen/ogg.py", line 109 in __init__
File "/usr/lib/python3.4/site-packages/mutagen/oggvorbis.py", line 88 in __init__
File "/usr/lib/python3.4/site-packages/mutagen/ogg.py", line 461 in load
File "/usr/lib/python3.4/site-packages/mutagen/_file.py", line 40 in __init__
File "/usr/lib/python3.4/site-packages/mutagen/_file.py", line 235 in File
File "/usr/lib/python3.4/site-packages/lollypop/albumart.py", line 188 in _pixbuf_from_tags
File "/usr/lib/python3.4/site-packages/lollypop/albumart.py", line 122 in get
File "/usr/lib/python3.4/site-packages/lollypop/albumart.py", line 63 in get_path
File "/usr/lib/python3.4/site-packages/lollypop/albumart.py", line 64 in get_path
File "/usr/lib/python3.4/site-packages/lollypop/albumart.py", line 64 in get_path
File "/usr/lib/python3.4/site-packages/lollypop/albumart.py", line 64 in get_path
File "/usr/lib/python3.4/site-packages/lollypop/albumart.py", line 64 in get_path
--- SNIP EVEN MORE ---
File "/usr/lib/python3.4/site-packages/lollypop/albumart.py", line 64 in get_path
File "/usr/lib/python3.4/site-packages/lollypop/albumart.py", line 64 in get_path
File "/usr/lib/python3.4/site-packages/lollypop/albumart.py", line 64 in get_path
...
Aborted (core dumped)