Segfault on Saving Playlist with bad locale file metadata
Steps to reproduce:
0) In File -> Settings -> Playlist -> uncheck "Do not load metadata [...]"
1) Open the attached audio file
2) Go to Playlist -> Export and save the playlist "test.audpl"
2.1) Just exit audacious (this automatically saves the open playlist tabs).
This crashes the program (thus many things like any config changes or playlist changes are lost). Sometimes if I load some of these bad files after ~5 mins it crashes by itself (does Audacious periodically save the tab playlists?).
When this track is added audacious spits out this in STDERR (I guess it's the track's title metadata):
Cannot convert from locale (UTF-8): L.
Here is the backtrace:
Program received signal SIGSEGV, Segmentation fault.
0xb72bde46 in __strlen_sse2_bsf () from /usr/lib/libc.so.6
#0 0xb72bde46 in __strlen_sse2_bsf () from /usr/lib/libc.so.6
#1 0xb53bfb20 in ?? () from /usr/lib/audacious/Container/audpl.so
#2 0xb53bfe42 in ?? () from /usr/lib/audacious/Container/audpl.so
#3 0x08058b73 in _start ()
#1 Updated by John Lindgren about 6 years ago
- Category set to libaudcore
- Status changed from New to Closed
- Target version set to 3.6
- % Done changed from 0 to 100
The segfault is fixed in the Git version already. What you need to do to fix the "Cannot convert from locale" error is to add "ISO-8859-1" as a fallback character encoding (File -> Settings -> Playlist -> Fallback character encodings). This should also prevent the segfault in 3.5.2.