Skip to content

Fix Spurious recovery action trigger on first run target activation (#198)#216

Open
WilliamRoebuck wants to merge 1 commit into
eclipse-score:mainfrom
etas-contrib:feature/fix-spurious-failures
Open

Fix Spurious recovery action trigger on first run target activation (#198)#216
WilliamRoebuck wants to merge 1 commit into
eclipse-score:mainfrom
etas-contrib:feature/fix-spurious-failures

Conversation

@WilliamRoebuck
Copy link
Copy Markdown
Contributor

@WilliamRoebuck WilliamRoebuck commented May 27, 2026

Added a shared mutex to protect completing transitions. This resolves a race where a transition would finish (in Graph::handleTransitionExecution) and the state would be changed to kCancelled by another thread just before being set to kSuccess, which is a blocked transition. This led to the undefined state being set and a recovery action triggering.

Fixes #198

@WilliamRoebuck WilliamRoebuck changed the title Fix Fix ' May 27, 2026
@WilliamRoebuck WilliamRoebuck changed the title Fix ' Fix #198 May 27, 2026
@github-actions
Copy link
Copy Markdown

License Check Results

🚀 The license check job ran with the Bazel command:

bazel run --lockfile_mode=error //:license-check

Status: ⚠️ Needs Review

Click to expand output
[License Check Output]
Extracting Bazel installation...
Starting local Bazel server (8.4.2) and connecting to it...
INFO: Invocation ID: 4043860d-a273-4eda-9736-b607f09106e9
Computing main repo mapping: 
Computing main repo mapping: 
Loading: 
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
Analyzing: target //:license-check (1 packages loaded, 0 targets configured)
Analyzing: target //:license-check (1 packages loaded, 0 targets configured)

Analyzing: target //:license-check (25 packages loaded, 10 targets configured)

Analyzing: target //:license-check (81 packages loaded, 10 targets configured)

Analyzing: target //:license-check (135 packages loaded, 516 targets configured)

Analyzing: target //:license-check (144 packages loaded, 4485 targets configured)

Analyzing: target //:license-check (149 packages loaded, 5380 targets configured)

Analyzing: target //:license-check (151 packages loaded, 6228 targets configured)

Analyzing: target //:license-check (159 packages loaded, 10079 targets configured)

Analyzing: target //:license-check (161 packages loaded, 10106 targets configured)

INFO: Analyzed target //:license-check (162 packages loaded, 10232 targets configured).
[12 / 16] JavaToolchainCompileClasses external/rules_java+/toolchains/platformclasspath_classes; 0s disk-cache, processwrapper-sandbox
[14 / 16] JavaToolchainCompileBootClasspath external/rules_java+/toolchains/platformclasspath.jar; 0s disk-cache, processwrapper-sandbox
[15 / 16] Building license.check.license_check.jar (); 0s disk-cache, multiplex-worker
INFO: Found 1 target...
Target //:license.check.license_check up-to-date:
  bazel-bin/license.check.license_check
  bazel-bin/license.check.license_check.jar
INFO: Elapsed time: 22.954s, Critical Path: 2.61s
INFO: 16 processes: 12 internal, 3 processwrapper-sandbox, 1 worker.
INFO: Build completed successfully, 16 total actions
INFO: Running command line: bazel-bin/license.check.license_check ./formatted.txt <args omitted>
usage: org.eclipse.dash.licenses.cli.Main [-batch <int>] [-cd <url>]
       [-confidence <int>] [-ef <url>] [-excludeSources <sources>] [-help] [-lic
       <url>] [-project <shortname>] [-repo <url>] [-review] [-summary <file>]
       [-timeout <seconds>] [-token <token>]

@github-actions
Copy link
Copy Markdown

The created documentation from the pull request is available at: docu-html

@NicolasFussberger NicolasFussberger changed the title Fix #198 Fix Spurious recovery action trigger on first run target activation (#198) May 28, 2026
Copy link
Copy Markdown
Contributor

@MaciejKaszynski MaciejKaszynski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The fix makes sense. Ideally we would run this with tsan and helgrind to make sure however there is a plan to refactor the graph to make the concurrency nicer so don't think there is any point in doing this now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Spurious recovery action trigger on first run target activation

2 participants