[x264-devel] TSan warns multiple data races

Hongxu Chen leftcopy.chx at gmail.com
Thu Feb 14 12:45:44 CET 2019


It seems relevant to lavf support. We will investigate it a bit later.
For system environment, I'm on Ubuntu 18.04.1 LTS (x86_64), the supporting
libraries are from deb package.
Compiled with Clang-4.0/Clang-6.0.


On Sat, Feb 9, 2019 at 9:24 PM Hongxu Chen <leftcopy.chx at gmail.com> wrote:

> Hi,
>
>     I checked out with x264-sandbox commit HEAD 1210d2e9. It seems that
> ThreadSanitizer still reports similar issues (although I'm not quite sure
> whether they are false alarms).
>
> Best Regards,
> Hongxu
>
>
> On Sat, Feb 9, 2019 at 9:09 PM BugMaster <BugMaster at narod.ru> wrote:
>
>> On Sat, 9 Feb 2019 20:55:41 +0800, Hongxu Chen wrote:
>> > Hi x264 developers,
>>
>>
>> >     ThreadSanitizer instrumented x264 binary may warn multiple data
>> > races (one of which is also surrounded by a mutex environment) when
>> > running "x264 --threads 2 --quiet --output /dev/null test.avi"
>> > (relevant files available here
>> > https://github.com/ntu-sec/pocs/tree/master/x264-545de2ff/concurrency).
>> >     Valgrind Helgrind reports similar issues.
>>
>>
>> >     I also had a summation of the read/write pairs (function
>> granularity).
>>
>>
>> > * W thread_sync_context
>> >   * R encoder_thread_init
>> > * W slices_write (macroblock_cache_load_neighbours,
>> > slice_header_write, x264_8_cabac_encode_init_core,
>> > x264_8_cabac_encode_init, cabac_putbyte, x264_8_cabac_context_init,
>> > x264_8_macroblock_thread_init, mb_analyse_init_qp,
>> > macroblock_cache_load_neighbours_deblock, macroblock_cache_load,
>> > macroblock_cache_load_neighbours, x264_8_frame_deblock_row,
>> > mb_analyse_init, idct_dequant_2x2_dconly)
>> >   * R thread_sync_context
>> > * W analyse_update_cache
>> >   * R x264_8_frame_cond_broadcast
>> > * W x264_8_frame_push_unused
>> >   * R x264_8_frame_push_unused
>> > * W x264_8_frame_copy_picture
>> >   * R x264_8_slicetype_analyse
>> >   * R macroblock_tree
>> > * W x264_8_encoder_encode
>> >   * R x264_8_slicetype_analyse
>> > * W idct_dequant_2x2_dconly
>> >   * R thread_sync_context
>> > * W x264_8_adaptive_quant_frame
>> >   * R x264_8_weights_analyse
>> > * W x264_8_frame_cond_broadcast
>> >   * R weighted_reference_duplicate
>> >   * R analyse_update_cache
>> >
>> > Best Regards,
>> > Hongxu
>>
>> Hi.
>>
>> Try with the lastest version from sandbox repo:
>> http://git.videolan.org/?p=x264/x264-sandbox.git;a=summary
>> There was some fixes there for ThreadSanitizer.
>>
>> _______________________________________________
>> x264-devel mailing list
>> x264-devel at videolan.org
>> https://mailman.videolan.org/listinfo/x264-devel
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x264-devel/attachments/20190214/b6a8f77f/attachment.html>


More information about the x264-devel mailing list