I have spent more time running pulseaudio (master + Tanu's patches) under valgrind today. This set of warnings has already been reported, and they appear every time PulseAudio is started: ==15442== Conditional jump or move depends on uninitialised value(s) ==15442== at 0x5C91288: shm_attach (shm.c:380) ==15442== by 0x5C91B68: pa_shm_cleanup (shm.c:453) ==15442== by 0x5C91D4C: sharedmem_create (shm.c:150) ==15442== by 0x5C91D4C: pa_shm_create_rw (shm.c:239) ==15442== by 0x5C82193: pa_mempool_new (memblock.c:848) ==15442== by 0xF245FF7: setup_srbchannel (protocol-native.c:2634) ==15442== by 0xF245FF7: command_auth (protocol-native.c:2864) ==15442== by 0x5C8989E: pa_pdispatch_run (pdispatch.c:346) ==15442== by 0xF2486C4: pstream_packet_callback (protocol-native.c:4989) ==15442== by 0x5C8C216: do_read (pstream.c:987) ==15442== by 0x5C8EEF3: do_pstream_read_write (pstream.c:227) ==15442== by 0x510040B: dispatch_pollfds (mainloop.c:655) ==15442== by 0x510040B: pa_mainloop_dispatch (mainloop.c:898) ==15442== by 0x510080B: pa_mainloop_iterate (mainloop.c:929) ==15442== by 0x51008AF: pa_mainloop_run (mainloop.c:944) ==15442== ==15442== Conditional jump or move depends on uninitialised value(s) ==15442== at 0x5C8C91D: pa_cmsg_ancil_data_close_fds (pstream.c:193) ==15442== by 0x5C8DE57: do_write (pstream.c:759) ==15442== by 0x5C8EEB7: do_pstream_read_write (pstream.c:233) ==15442== by 0x510040B: dispatch_pollfds (mainloop.c:655) ==15442== by 0x510040B: pa_mainloop_dispatch (mainloop.c:898) ==15442== by 0x510080B: pa_mainloop_iterate (mainloop.c:929) ==15442== by 0x51008AF: pa_mainloop_run (mainloop.c:944) ==15442== by 0x406E3B: main (main.c:1141) ==15442== ==15442== Conditional jump or move depends on uninitialised value(s) ==15442== at 0x5C8C91D: pa_cmsg_ancil_data_close_fds (pstream.c:193) ==15442== by 0x5C8CA90: item_free (pstream.c:371) ==15442== by 0x5C8DDC2: do_write (pstream.c:775) ==15442== by 0x5C8EEB7: do_pstream_read_write (pstream.c:233) ==15442== by 0x510040B: dispatch_pollfds (mainloop.c:655) ==15442== by 0x510040B: pa_mainloop_dispatch (mainloop.c:898) ==15442== by 0x510080B: pa_mainloop_iterate (mainloop.c:929) ==15442== by 0x51008AF: pa_mainloop_run (mainloop.c:944) ==15442== by 0x406E3B: main (main.c:1141) This has not been reported (AFAIK), has been hit once, I don't know how to reproduce it: ==15131== Thread 5 avahi-ml: ==15131== Invalid write of size 4 ==15131== at 0x15004A4F: watch_callback (avahi-wrap.c:69) ==15131== by 0x510040B: dispatch_pollfds (mainloop.c:655) ==15131== by 0x510040B: pa_mainloop_dispatch (mainloop.c:898) ==15131== by 0x510080B: pa_mainloop_iterate (mainloop.c:929) ==15131== by 0x51008AF: pa_mainloop_run (mainloop.c:944) ==15131== by 0x510E295: thread (thread-mainloop.c:100) ==15131== by 0x5C9F037: internal_thread_func (thread-posix.c:81) ==15131== by 0x7952473: start_thread (in /usr/lib/libpthread-2.23.so) ==15131== by 0x835F69C: clone (in /usr/lib/libc-2.23.so) ==15131== Address 0x17f3f1e0 is 16 bytes inside a block of size 40 free'd ==15131== at 0x4C2BCEA: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==15131== by 0x51143CE: pa_xfree (xmalloc.c:129) ==15131== by 0x14DFE154: ??? (in /usr/lib/libavahi-client.so.3.2.9) ==15131== by 0x7522BE2: ??? (in /usr/lib/libdbus-1.so.3.14.6) ==15131== by 0x7523959: ??? (in /usr/lib/libdbus-1.so.3.14.6) ==15131== by 0x75221FA: ??? (in /usr/lib/libdbus-1.so.3.14.6) ==15131== by 0x750B51C: ??? (in /usr/lib/libdbus-1.so.3.14.6) ==15131== by 0x15004A4E: watch_callback (avahi-wrap.c:68) ==15131== by 0x510040B: dispatch_pollfds (mainloop.c:655) ==15131== by 0x510040B: pa_mainloop_dispatch (mainloop.c:898) ==15131== by 0x510080B: pa_mainloop_iterate (mainloop.c:929) ==15131== by 0x51008AF: pa_mainloop_run (mainloop.c:944) ==15131== by 0x510E295: thread (thread-mainloop.c:100) ==15131== Block was alloc'd at ==15131== at 0x4C2ABD0: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==15131== by 0x51140B6: pa_xmalloc (xmalloc.c:63) ==15131== by 0x15004CA8: _pa_xnew_internal (xmalloc.h:64) ==15131== by 0x15004CA8: watch_new (avahi-wrap.c:81) ==15131== by 0x14DFE11A: ??? (in /usr/lib/libavahi-client.so.3.2.9) ==15131== by 0x7522BE2: ??? (in /usr/lib/libdbus-1.so.3.14.6) ==15131== by 0x7523611: ??? (in /usr/lib/libdbus-1.so.3.14.6) ==15131== by 0x75222FD: ??? (in /usr/lib/libdbus-1.so.3.14.6) ==15131== by 0x750AF53: ??? (in /usr/lib/libdbus-1.so.3.14.6) ==15131== by 0x750B92C: ??? (in /usr/lib/libdbus-1.so.3.14.6) ==15131== by 0x750BF09: dbus_connection_send_with_reply_and_block (in /usr/lib/libdbus-1.so.3.14.6) ==15131== by 0x14DF8AE3: ??? (in /usr/lib/libavahi-client.so.3.2.9) ==15131== by 0x14DF90CE: avahi_entry_group_commit (in /usr/lib/libavahi-client.so.3.2.9) And this happens if I quickly close pavucontrol (before PulseAudio has a chance to handle the connection): ==15374== Conditional jump or move depends on uninitialised value(s) ==15374== at 0x5C8C91D: pa_cmsg_ancil_data_close_fds (pstream.c:193) ==15374== by 0x5C8E193: do_write (pstream.c:792) ==15374== by 0x5C8EEB7: do_pstream_read_write (pstream.c:233) ==15374== by 0x510040B: dispatch_pollfds (mainloop.c:655) ==15374== by 0x510040B: pa_mainloop_dispatch (mainloop.c:898) ==15374== by 0x510080B: pa_mainloop_iterate (mainloop.c:929) ==15374== by 0x51008AF: pa_mainloop_run (mainloop.c:944) ==15374== by 0x406E3B: main (main.c:1141) ==15374== ==15374== Conditional jump or move depends on uninitialised value(s) ==15374== at 0x5C8C91D: pa_cmsg_ancil_data_close_fds (pstream.c:193) ==15374== by 0x5C8CA90: item_free (pstream.c:371) ==15374== by 0x5C8ECE5: pstream_free (pstream.c:386) ==15374== by 0x5C8ECE5: pa_pstream_unref (pstream.c:1145) ==15374== by 0x510040B: dispatch_pollfds (mainloop.c:655) ==15374== by 0x510040B: pa_mainloop_dispatch (mainloop.c:898) ==15374== by 0x510080B: pa_mainloop_iterate (mainloop.c:929) ==15374== by 0x51008AF: pa_mainloop_run (mainloop.c:944) ==15374== by 0x406E3B: main (main.c:1141) -- Alexander E. Patrakov