After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 781180 - data race in pa_queue_pop/pa_queue_push reported by TSan
data race in pa_queue_pop/pa_queue_push reported by TSan
Status: RESOLVED OBSOLETE
Product: empathy
Classification: Core
Component: VoIP
unspecified
Other Linux
: Normal normal
: ---
Assigned To: empathy-maint
empathy-maint
Depends on:
Blocks:
 
 
Reported: 2017-04-11 13:08 UTC by Fabrice Bellet
Modified: 2018-05-22 19:14 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
ThreadSanitizer: data race pulsecore/queue.c:98 in pa_queue_pop (29.82 KB, text/plain)
2017-04-11 13:08 UTC, Fabrice Bellet
  Details
mic-monitor: make pulseaudio mainloop thread-safe (2.07 KB, patch)
2017-04-11 13:13 UTC, Fabrice Bellet
none Details | Review

Description Fabrice Bellet 2017-04-11 13:08:52 UTC
Created attachment 349671 [details]
ThreadSanitizer: data race pulsecore/queue.c:98 in pa_queue_pop

This case suggested by the thread sanitizer occurs because pulseaudio operations related to the mic detection can happen in two different threads, one is the main thread from the glib main loop, and the other is a thread from the gstreamer pipeline, running the pulsesrc element, when processing a notify callback.

This bug has also been submitted to the pulseaudio bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99667
Comment 1 Fabrice Bellet 2017-04-11 13:13:48 UTC
Created attachment 349672 [details] [review]
mic-monitor: make pulseaudio mainloop thread-safe

A possible fix could be to force the PA-related processing from operations_run() to occur in the glib main loop instead, with the help of g_idle_add().
Comment 2 GNOME Infrastructure Team 2018-05-22 19:14:50 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/empathy/issues/894.