Description of problem: $ pulseaudio -meow pulseaudio: invalid option -- m E: main.c: Failed to parse command line. pulseaudio: daemon/ltdl-bind-now.c:156: pa_ltdl_done: Assertion `lt_dlexit() == 0' failed. Aborted (core dumped) $ Dumping core is really not what's needed in case of bad arguments. Additional info: Index: src/daemon/ltdl-bind-now.c =================================================================== --- src/daemon/ltdl-bind-now.c (revision 2098) +++ src/daemon/ltdl-bind-now.c (working copy) @@ -153,7 +153,6 @@ } void pa_ltdl_done(void) { - pa_assert_se(lt_dlexit() == 0); pa_mutex_free(libtool_mutex); libtool_mutex = NULL; } $ In some cases, pa_ltdl_done() is called before pa_ltdl_init() (there are a coule of jumps to finish: before libtool is initialized -- and pa_ldld_done is called in no places other than after finish:). Therefore it can actually and correctly return zero