[pulseaudio-discuss] Valgrind warnings, again
Alexander E. Patrakov
patrakov at gmail.com
Fri Jun 17 09:26:25 UTC 2016
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 <darwish.07 at gmail.com>
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 <darwish.07 at gmail.com>
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
More information about the pulseaudio-discuss
mailing list