Created attachment 336784 [details] emerge --info I'm setting up a new stable amd64 system, and when media-sound/mpd-3.2.2 tries to parse my library on first start, it segfaults when trying to parse the first .mod file it sees. It's using media-sound/libmikmod-3.2.0, not modplug, and consistently segfaults with the same backtrace with every file I've tried (different mod files in my collection and a random one from modarchive.org). Upgrading to media-sound/mpd-0.17.3 (~amd64) doesn't help. mpd with USE="-mikmod modplug" works fine. Using media-sound/mikmod-3.2.2 on top of libmikmod also works fine, so it sounds like there's bad interaction between mpd and libmikmod.
Created attachment 336786 [details] .mpdconf
Created attachment 336788 [details] mpd.log
Created attachment 336790 [details] Backtrace
Created attachment 336932 [details] emerge --info from a working system (oops not actually) I copied all my music from another machine where mpd works fine, even if I delete .mpd and have it reload everything, so I'm attaching the emerge --info of the working system. Neither has anything relevant in package.accept_keywords. And of course s/mpd-3.2.2/mpd-0.16.8/ above :).
Comment on attachment 336932 [details] emerge --info from a working system (oops not actually) Apologies, ignore the last comment, on the other system I had USE="mikmod modplug" set so modplug seems to takes priority and that makes things work fine. USE="mikmod -modplug" crashes mpd on the other system too.
Please try mpd-0.17.3 and/or give me a link to a free MOD file so I can reproduce it.
Created attachment 336936 [details] Backtrace for mpd-0.17.3 compiled at -O0 Thanks for the quick reply. Switched back to mpd-0.17.3 for now; still crashes in the same spot, with the only .mod file in my collection being at ~/Media/Music/order_of_death_ii.mod downloadable from here: http://modarchive.org/index.php?request=view_by_moduleid&query=78091 Uploaded a new backtrace for 0.17.3, compiled with -O0 since it still crashes then.
Thanks, I've filed the bug upstream as I don't know the libmikmod interface.
So, mpd upstream said this is a libmikmod bug and cannot be fixed in mpd. Can you maybe try a current libmikmod snapshot?
I've poked around some more and found the problem. This is indeed an mpd problem, which uses free() to try and free an aligned pointer. This doesn't work and should be done with MikMod_free(). I've written and applied a patch for this and added 0.17.4-r1 to the tree. Please test this version and report back.