Skip to content

Fixing a 2-tag problem when modulefiles contain @ - #2463

Merged
sawenzel merged 2 commits into
AliceO2Group:masterfrom
sawenzel:anchormc-async-subshell
Sep 16, 2026
Merged

sawenzel merged 2 commits into
AliceO2Group:masterfrom
sawenzel:anchormc-async-subshell

Conversation

@sawenzel

@sawenzel sawenzel commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

In 2-tag mode, anchorMC stashed the MC environment with module save and brought it back with module restore.
module restore cannot locate modules whose version contains @ (e.g. gpu-system), so O2 and its dependents were missing afterwards and the anchoring failed.
The alternative-reco step now runs in a subshell, so the MC environment is never modified and no restore is needed.
Applied to anchorMC.sh and anchorMC_DataEmbedding.sh; tested on the GRID with the 2-tag payload on daily-20260915.

This fixes a problem in the 2-tag setup of anchorMC.sh and anchorMC_DataEmbedding.sh.

- The MC software environment was stashed with 'module save' and brought back with 'module restore'.
- 'module restore' fails for a module whose version contains '@', as gpu-system did since alidist of 2026-09-05.
- ONNXRuntime depends on gpu-system, so O2, O2Physics, QualityControl and O2PDPSuite were not restored.
- o2dpg_sim_workflow_anchored.py then failed with "o2 has no attribute ccdb" and no AO2D was produced.
- The alternative-reco step now runs in a subshell, so the MC environment is never modified and nothing needs restoring.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

REQUEST FOR PRODUCTION RELEASES:
To request your PR to be included in production software, please add the corresponding labels called "async-" to your PR. Add the labels directly (if you have the permissions) or add a comment of the form (note that labels are separated by a ",")

+async-label <label1>, <label2>, !<label3> ...

This will add <label1> and <label2> and removes <label3>.

The following labels are available
async-2023-pbpb-apass4
async-2023-pp-apass4
async-2024-pp-apass1
async-2022-pp-apass7
async-2024-pp-cpass0
async-2024-PbPb-apass1
async-2024-ppRef-apass1
async-2024-PbPb-apass2
async-2023-PbPb-apass5

@sawenzel sawenzel changed the title Run the alternative-reco step of anchorMC in a subshell Fixing a 2-tag problem when modulefiles contain @ Sep 16, 2026
This addresses review comments on the 2-tag subshell change.

- The modulecmd probe now checks 'bash list' instead of 'savelist', since save/restore is no longer used.
- anchorMC_DataEmbedding.sh now uses the same modulecmd resolution as anchorMC.sh.
- A failing 'alienv printenv' of the async tag now stops with a clear error.
- The embedding script passes env_async.env with the path of the top directory, not the per-timeframe one.
- '2&>' is replaced by '&>' when calling async_pass.sh.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@sawenzel
sawenzel merged commit 39ee30b into AliceO2Group:master Sep 16, 2026
8 of 9 checks passed
@sawenzel
sawenzel deleted the anchormc-async-subshell branch September 16, 2026 21:59
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.

1 participant