apache / apache/arrow

[C++][CI] CountingSemaphore sporadic test crash

Open
#30,272 4 comments 0 reactions 0 assignees View on GitHub
Component: C++ Component: Continuous Integration Type: bug
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 13h
Merged PRs (30d)
88

Description

This may be a fluke, but this crash appeared on CI:
https://github.com/apache/arrow/runs/4234285140?check_suite_focus=true#step:8:110

```Java

[==========] Running 134 tests from 23 test suites.
[----------] Global test environment set-up.
[----------] 7 tests from CancelTest
[ RUN ] CancelTest.StopBasics
[ OK ] CancelTest.StopBasics (0 ms)
[ RUN ] CancelTest.StopTokenCopy
[ OK ] CancelTest.StopTokenCopy (0 ms)
[ RUN ] CancelTest.RequestStopTwice
[ OK ] CancelTest.RequestStopTwice (0 ms)
[ RUN ] CancelTest.Unstoppable
[ OK ] CancelTest.Unstoppable (0 ms)
[ RUN ] CancelTest.SourceVanishes
[ OK ] CancelTest.SourceVanishes (0 ms)
[ RUN ] CancelTest.ThreadedPollSuccess
[ OK ] CancelTest.ThreadedPollSuccess (11 ms)
[ RUN ] CancelTest.ThreadedPollCancel
[ OK ] CancelTest.ThreadedPollCancel (11 ms)
[----------] 7 tests from CancelTest (23 ms total)

[----------] 2 tests from SignalCancelTest
[ RUN ] SignalCancelTest.Register
[ OK ] SignalCancelTest.Register (1 ms)
[ RUN ] SignalCancelTest.RegisterUnregister
[ OK ] SignalCancelTest.RegisterUnregister (111 ms)
[----------] 2 tests from SignalCancelTest (113 ms total)

[----------] 3 tests from CountingSemaphore
[ RUN ] CountingSemaphore.Basic

```

**Reporter**: [Antoine Pitrou](https://issues.apache.org/jira/browse/ARROW-14734) / @pitrou

**Note**: *This issue was originally created as [ARROW-14734](https://issues.apache.org/jira/browse/ARROW-14734). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*

Contributor guide

Open the contributing guide

Research direction

Start with the linked CI run and the CountingSemaphore.Basic test, then inspect the surrounding CountingSemaphore test implementation and its concurrency behavior. Reproduce the crash if possible and trace the failure to its cause; done means the sporadic CI crash is explained and the relevant test or implementation no longer fails.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
ci-cd, testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.