12.06.2016 21:39, Alexander E. Patrakov пишет:
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)

Bisected these (kind-of).

If we use "exactly zero valgrind warnings" as the definition of good, then the first bad commit is:

commit 73e86b1cb164b1c37b27238b529879a4a2d9f24c
Author: Ahmed S. Darwish <[email protected]>
Date:   Sun Mar 13 01:04:18 2016 +0200

    pulsecore: Introduce memfd support

    Memfd is a simple memory sharing mechanism, added by the systemd/kdbus
    developers, to share pages between processes in an anonymous, no global
    registry needed, no mount-point required, relatively secure, manner.

    This patch introduces the necessary building blocks for using memfd
    shared memory transfers in PulseAudio.

    Memfd support shall also help us in laying out the necessary (but not
    yet sufficient) groundwork for application sandboxing, protecting PA
    from its clients, and protecting clients data from each other.

    We plan to exclusively use memfds, instead of POSIX SHM, on the way
    forward.

    Signed-off-by: Ahmed S. Darwish <[email protected]>

However, during the bisect, there were points with 0, 1, 2, and all 3 valgrind warnings, which means we may have 3 separate issues here.

Ahmed, could you please look at the issues? Maybe the difference is that I am running valgrind as follows:

valgrind --trace-children=yes ./src/pulseaudio

--
Alexander E. Patrakov
_______________________________________________
pulseaudio-discuss mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to