Skip to content

[C++][CI] gcc-16 MinGW failures - remaining fixes (follow-up to #49930) #49948

@tadeja

Description

@tadeja

Describe the bug, including details regarding any error messages, version, and platform.

Umbrella issue for follow-up to closed #49930/merged PR #49931 (a temporary workaround!).
The MSYS gcc 15.2 -> 16.1 update post 2026 April 30 broke the MINGW64 MinGW job. #49931 pins gcc-libs to 15.2 to mask/workaround it. This issue tracks the actual fixes so the pin step can be reverted (later with #49945).
Sub-issues will be opened for individual failures as triage progresses.

First failure on main:

The following tests FAILED:
	 41 - arrow-async-utility-test (Exit code 0xc0000374)   arrow-tests unittest
	 62 - arrow-dataset-dataset-writer-test (SEGFAULT)      arrow_dataset unittest
	 65 - arrow-dataset-file-test (Failed)                  arrow_dataset unittest
Error: Process completed with exit code 8.

Another CI run from PR 49462

Empirical isolation (PR #49931 commit fb4d7a0, pins removed, MinIO bumped) - MINGW64 CI run:

The following tests FAILED:
	 41 - arrow-async-utility-test (Exit code 0xc0000374)   arrow-tests unittest
	 44 - arrow-threading-utility-test (Timeout)            arrow-tests unittest
	 62 - arrow-dataset-dataset-writer-test (Failed)        arrow_dataset unittest
	 65 - arrow-dataset-file-test (Failed)                  arrow_dataset unittest
	 76 - arrow-s3fs-test (Timeout)                         arrow-tests filesystem unittest

CLANG64 in the same run: 100% tests passed. Confirmed gcc-16 is the trigger (not the gcc-libs cascade or aws-sdk-cpp/MinIO behavior).


Per-test status:
(always failing)

  • arrow-async-utility-test : Heap corruption (0xc0000374) - Root cause unclear
  • arrow-threading-utility-test : SegFault then 300s timeout - Could be another __emutls site or a gcc-16 codegen issue
  • arrow-dataset-dataset-writer-test : std::bad_weak_ptr in BatchWriteConcurrent - Possibly an Arrowshared_from_this() lifetime bug exposed by gcc-16
  • arrow-dataset-file-test : SegFault - Possibly the same race as dataset-writer-test
  • arrow-s3fs-test : _fut.Wait() timeout in GetFileInfoGeneratorStress (the s3fs subtest that hammers the thread pool). Same thread-pool class as the others; the SDK-side MissingContentMD5 failure mode was separately resolved by GH-49930: [CI][C++] Pin MinGW MSYS2 packages to unblock CI #49931's MinIO bump.

(intermittent)

  • arrow-acero-hash-join-node-test : HashJoin.Random (parallel = true) doesn't emit the expected number of batches. Example CI failed logs here1 and here2 - Root cause unknown

(fixed)


This issue closes when

Component(s)

Continuous Integration, C++

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions