Home - Waterfall Grid T-Grid Console Builders Recent Builds Buildslaves Changesources - JSON API - About

Builder ffmpeg64-solaris10-i386 Build #14126

Results:

Failed

SourceStamp:

Projectffmpeg
Repositoryhttps://git.ffmpeg.org/ffmpeg.git
Branchmaster
Revisione3e6e8fa1e1438085a0799bd25f9003fe8065520
Changes8 changes

BuildSlave:

unstable10x

Reason:

The SingleBranchScheduler scheduler named 'schedule-ffmpeg64-solaris10-i386' triggered this build

Steps and Logfiles:

  1. git updating ( 4 secs )
    1. stdio
  2. shell  
    1. - no logs -
  3. shell_1  
    1. - no logs -
  4. shell_2  
    1. - no logs -
  5. shell_3  
    1. - no logs -
  6. shell_4  
    1. - no logs -
  7. shell_5  
    1. - no logs -

Build Properties:

NameValueSource
branch master Build
builddir /export/home/buildbot/slave/ffmpeg64-solaris10-i386 slave
buildername ffmpeg64-solaris10-i386 Builder
buildnumber 14126 Build
codebase Build
project ffmpeg Build
repository https://git.ffmpeg.org/ffmpeg.git Build
revision e3e6e8fa1e1438085a0799bd25f9003fe8065520 Build
scheduler schedule-ffmpeg64-solaris10-i386 Scheduler
slavename unstable10x BuildSlave
workdir /export/home/buildbot/slave/ffmpeg64-solaris10-i386 slave (deprecated)

Forced Build Properties:

NameLabelValue

Responsible Users:

  1. Andreas Rheinhardt
  2. Kacper Michajłow
  3. Michael Niedermayer

Timing:

StartMon Sep 14 03:04:23 2026
EndMon Sep 14 03:04:27 2026
Elapsed4 secs

All Changes:

:

  1. Change #281701

    Category ffmpeg
    Changed by Kacper Michajłow <kasper93ohnoyoudont@gmail.com>
    Changed at Mon 14 Sep 2026 04:35:12
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 8f7438475d3b7856943ae0973346c6f00659edfc

    Comments

    compat/atomics/win32: rewrite and fix stdatomic.h
    The old emulation had several problems. It typedef'd every atomic type
    to intptr_t and implemented the operations on that storage, which broke
    in several ways.
    
    - atomic_int_least64_t and the other 64-bit types were 4 bytes on 32-bit
      targets, silently truncating stored values.
    - atomic_compare_exchange_strong() took intptr_t *expected instead of a
      pointer to the corresponding non-atomic type. Basically, producing OOB
      reads and writes when working with < 64-bit atomic types on 64-bit
      targets. Note that while all atomic_* types are typedef'd to intptr_t,
      the caller provides non atomic values, like int*.
    - Unsigned wraparound left garbage in the high bits of the storage, so
      later comparisons of loaded values failed.
    - atomic_fetch_sub() negated the operand in its own unsigned type,
      turning small unsigned subtractions into additions of huge values.
    - atomic_exchange() returned PVOID and loads and stores were plain
      non-volatile accesses.
    - atomic_signal_fence() was a no-op instead of a compiler barrier.
    
    Rewrite this using _Generic dispatch, to make this implementation
    usable by callers, as native stdatomic.h it aims to emulate. While at
    it make the impl more conformant with the C23 standard. ATOMIC_VAR_INIT
    is not provided anymore, it was removed in C23 and has no users in the
    tree.
    
    Additionally emulate the _Atomic qualifier form for integer and pointer
    types. The scope and limitations are documented in the header.
    
    Signed-off-by: Kacper Michajłow <kasper93@gmail.com>

    Changed files

    • compat/atomics/win32/stdatomic.h
  2. Change #281702

    Category ffmpeg
    Changed by Kacper Michajłow <kasper93ohnoyoudont@gmail.com>
    Changed at Mon 14 Sep 2026 04:35:12
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision ecd49a58ece198e6fd538f6763e47d9f579cbc89

    Comments

    avcodec/vvc: remove workaround for broken win32 stdatomic emulation
    The compat header now takes a pointer to the corresponding non-atomic
    type in atomic_compare_exchange_strong() as the standard requires, so
    plain int is correct everywhere.
    
    Note that VVC is the only place that worked around this, all other
    users were simply broken with the old emulation.
    
    Signed-off-by: Kacper Michajłow <kasper93@gmail.com>

    Changed files

    • libavcodec/vvc/thread.c
  3. Change #281703

    Category ffmpeg
    Changed by Kacper Michajłow <kasper93ohnoyoudont@gmail.com>
    Changed at Mon 14 Sep 2026 04:35:12
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision d939b3edcbb2c715cc3d524167826281eccd34de

    Comments

    compat/atomics/dummy: rewrite and fix stdatomic.h
    This header shared the win32 emulation's design and therefore its
    bugs. Bring the dummy version in sync and fix all issues.
    
    Signed-off-by: Kacper Michajłow <kasper93@gmail.com>

    Changed files

    • compat/atomics/dummy/stdatomic.h
  4. Change #281704

    Category ffmpeg
    Changed by Kacper Michajłow <kasper93ohnoyoudont@gmail.com>
    Changed at Mon 14 Sep 2026 04:35:12
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b2854aadce556094f9d3293ae8b5ebad1d9500ea

    Comments

    compat/atomics: split the generic stdatomic.h from the backend primitives
    The win32 and dummy headers shared the whole standard surface, move it
    into common header and keep backend specific implementation in _impl.h
    headers.
    
    Signed-off-by: Kacper Michajłow <kasper93@gmail.com>

    Changed files

    • compat/atomics/dummy/stdatomic.h
    • compat/atomics/dummy/stdatomic_impl.h
    • compat/atomics/stdatomic.h
    • compat/atomics/win32/stdatomic.h
    • compat/atomics/win32/stdatomic_impl.h
    • configure
  5. Change #281705

    Category ffmpeg
    Changed by Kacper Michajłow <kasper93ohnoyoudont@gmail.com>
    Changed at Mon 14 Sep 2026 04:35:12
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 8a1feb3c701596f4a8570ab7f04fa5525550cbfa

    Comments

    compat/atomics: store pointers through the exchange on MSVC for ARM before 19.44
    The alias analysis of MSVC for ARM and ARM64 before 19.44 does not track
    a pointer that is converted to an integer for the __iso_volatile_store
    and __stlr intrinsics, so the stores initializing the pointed-to object
    are eliminated as dead. Storing the address of an automatic array into
    an atomic pointer and reading through it afterwards then reads
    uninitialized stack. The stdatomic.h of /experimental:c11atomics
    generates the same code, 19.44 is the first version without the bug.
    The interlocked exchange is not affected, and with its result unused it
    compiles to the same store as a plain store would without the bug.
    
    Signed-off-by: Kacper Michajłow <kasper93@gmail.com>

    Changed files

    • compat/atomics/stdatomic.h
  6. Change #281706

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Mon 14 Sep 2026 04:35:12
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 4ce1a456f2061c305209819928f081d016c676a3

    Comments

    avformat/allformats, avutil/log: Use proper atomic types
    Up until now, these files use atomic_uintptr_t instead
    of the proper atomic types because _Atomic has not been supported
    by our stdatomics.h fallback. This is ugly and in case of log.c
    also entailed storing a function pointer in uintptr_t, although
    uintptr_t is only guaranteed to be capable of storing object pointers.
    
    The recent changes to the fallbacks allow using _Atomic unconditionally,
    so avoid atomic_uintptr_t.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavformat/allformats.c
    • libavutil/log.c
  7. Change #281707

    Category ffmpeg
    Changed by Kacper Michajłow <kasper93ohnoyoudont@gmail.com>
    Changed at Mon 14 Sep 2026 04:35:12
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision eaebdc491d1f9950ec4ee0b033a36ab2194c9f2a

    Comments

    configure: enable shared protocol also with native atomics
    stdatomic.h is always available, either the native or the compat version,
    so the stdatomic dependency was always incorrect. The stdatomic check is
    internal to configure, it only decides whether the compat version has to
    be added, and should not be used as a dependency of any code. Before the
    recent compat/atomics rewrite the compat headers were not compatible with
    the way shared.c uses atomics, so the protocol was silently disabled with
    them, probably by accident. The compat win32 version now works just fine
    with shared.c.
    
    What the protocol does need are atomic operations that synchronize
    processes sharing the cache. The dummy backed is excluded, we need
    working atomic operations even in single-threaded build. However small,
    such configuration is, every relevant target should have stdatomic
    available anyway.
    
    Signed-off-by: Kacper Michajłow <kasper93@gmail.com>

    Changed files

    • configure
  8. Change #281708

    Category ffmpeg
    Changed by Michael Niedermayer <michaelohnoyoudont@niedermayer.cc>
    Changed at Mon 14 Sep 2026 04:35:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision e3e6e8fa1e1438085a0799bd25f9003fe8065520

    Comments

    avutil/tests: add stdatomic interface fate test
    Exercise integer types and widths, unsigned wraparound, failed-CAS
    writeback, pointer qualifier forms, bool normalization and atomic_flag
    against whichever backend configure selects. Print actual results for
    comparison with tests/ref/fate/atomic.
    
    Keep expected values non-atomic, sequence dependent operations before
    printing, and retry weak CAS so spurious failure does not change FATE
    output. Load function pointers into an ordinary local before calling.
    
    Validated with GCC 13 and Clang 18 at O0/O3 under ASan+UBSan for native
    and dummy atomics on AArch64. Native and forced-dummy focused builds
    pass fate-atomic and fate-buffer. Windows compilation of this amended
    test has not been independently repeated.
    
    Assisted-by: Fairy

    Changed files

    • libavutil/Makefile
    • libavutil/tests/atomic.c
    • tests/fate/libavutil.mak
    • tests/ref/fate/atomic