mpd некорректно завершается в случае возникновения ошибок. Например, если он уже запущен и попытаться запустить его снова, то он напишет, что уже запущен и вызовет abort(), в то время как нужно вызывать exit(EXIT_FAILURE). Собственно, это не новость, что автор mpd и всей сопутствующей братии зачем-то использует abort() там где это не нужно и раньше меня это не волновало, пока я не включил создание core-файлов.
Что-то я не наблюдаю ни одного вызова abort() в коде mpd.
Проверил на 0.23.8: $ git grep -ci EXIT_FAILURE src/Main.cxx:1 src/tag/GenParseName.cxx:1 src/win32/Win32Main.cxx:1 test/ContainerScan.cxx:4 test/DumpDatabase.cxx:2 test/DumpOgg.cxx:2 test/ParseSongFilter.cxx:1 test/ReadApeTags.cxx:3 test/RunChromaprint.cxx:3 test/RunCurl.cxx:2 test/WriteFile.cxx:3 test/dump_playlist.cxx:2 test/dump_rva2.cxx:4 test/dump_text_file.cxx:2 test/read_conf.cxx:2 test/read_mixer.cxx:3 test/read_tags.cxx:4 test/run_convert.cxx:1 test/run_decoder.cxx:3 test/run_encoder.cxx:3 test/run_filter.cxx:2 test/run_gunzip.cxx:2 test/run_gzip.cxx:2 test/run_inotify.cxx:2 test/run_input.cxx:2 test/run_neighbor_explorer.cxx:2 test/run_normalize.cxx:1 test/run_output.cxx:1 test/run_resolver.cxx:2 test/run_storage.cxx:5 test/software_volume.cxx:2 test/test_vorbis_encoder.cxx:1 test/visit_archive.cxx:3