[pulseaudio-tickets] [Bug 99667] New: data race in pa_queue_pop/pa_queue_push reported by TSan

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Feb 3 14:29:45 UTC 2017


https://bugs.freedesktop.org/show_bug.cgi?id=99667

            Bug ID: 99667
           Summary: data race in pa_queue_pop/pa_queue_push reported by
                    TSan
           Product: PulseAudio
           Version: unspecified
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: core
          Assignee: pulseaudio-bugs at lists.freedesktop.org
          Reporter: fabrice at bellet.info
        QA Contact: pulseaudio-bugs at lists.freedesktop.org
                CC: lennart at poettering.net

Created attachment 129321
  --> https://bugs.freedesktop.org/attachment.cgi?id=129321&action=edit
ThreadSanitizer: data race pulsecore/queue.c:98 in pa_queue_pop

This output from ThreadSanitizer suggests a data race with the glib mainloop.

The application is empathy. A pa_glib_mainloop is created in the main thread to
monitor the status of the microphone in the user interface, and a gstreamer
pipeline is constructed and running. This pipeline contains a pulsesrc element,
with its own pa_threaded_mainloop.

The problem, as I understand the output of the sanitizer, is that some events
concerning the pa_glib_mainloop are pushed by the pulsesrc thread, and pulled
by the main thread, without common locking, causing this possible race.

The first mutex owned by the pulsesrc thread concerns a GstPad, and the second
mutex is related to its pa_threaded_mainloop.

Can this race really happen, or should it be considered as a false positive ?
Where is locking missing ?

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/pulseaudio-bugs/attachments/20170203/eaaa464f/attachment.html>


More information about the pulseaudio-bugs mailing list