fix: continue-on-error for 2DStrip - #2889
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the eicrecon-dis GitHub Actions job to allow specific matrix entries (notably the 2DStrip configuration) to proceed without failing the overall workflow by making continue-on-error configurable per matrix entry.
Changes:
- Adds a job-level
continue-on-errordriven by a matrix value. - Introduces a matrix variable intended to default
continue-on-errortofalse. - Marks the 2DStrip+ASAN matrix entry as
continue-on-error: true.
Suppressed comments (1)
.github/workflows/linux-eic-shell.yml:1158
- Adding
continue-on-error: [false]as a matrix axis will generate an extra matrix job that only has that variable set (and is missing required matrix keys likeCXX,beam, etc.), which will likely fail. Since this job usesmatrix.includeto define the real runs, remove the axis and rely on the per-include override (plus a default in the job expression).
matrix:
continue-on-error: [false]
include:
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
FYI @ShujieL @ybedfer. See for example https://github.com/eic/EICrecon/actions/runs/32655851820/job/97236980791 but also reproducible in eic-shell. |
|
Hello, Is this the error that you are referring to? (it's an excerpt from your example "https://github.com/eic/EICrecon/actions/runs/32655851820/job/97236980791", line 299). I have to admit that I don't understand much of the log that you are pointing to. Can you explain to me how you get to the conclusion that it's a 2DStrip issue? Is it merely because when you do not use a 2DStrip configuration, the problem does not show up any more? |
The B0 is in all other jobs, but only the 2DStrip job fails.
If you run EICrecon with verbose or trace log level on the acts plugin you get more info on what Acts is doing when it fails. It fails when handling the mpgd barrel. |
I have run EICrecon many times w/ a 2DStrip configuration w/o any problem. Is the present problem only showing up when the newest HEAD version of the git distribution (of EICrecon) is used? |
It happens with the upgraded Acts version v46. |
We run tests in new Acts versions before upgrades, but we run this with a focus on the full standard geometry, not alternatives. So that's why this wasn't noticed earlier. |
To be sure that I am understanding well: if I now run EICrecon w/ a 2DStrip configuration w/in current eic-shell, I will get the problem? |
Yes, that's correct. If you run with the currently active material map and with the geometry of the failing job you will get the problem. I was able to reproduce this easily by just copying the commands from the failing job. |
And could it simply be that 2DStrip configurations need (at least now that we have Acts,v46) their own material map? |
In the epic repository there is a directory scripts/ with material map scripts. If we need to regenerate materials maps for any geometry where only the readout definition changes then this is a bit surprising to me and I'd like to understand why. Bit I agree that that would be a way to make it work. |
The pixel configurations ("pixel" as opposed to "2DStrip") are only temporary. And then 2DStrip is slightly more complicated than a change in the readout. I subdivide the sensitive volume into several subvolumes, all w/ an attached sensitive surface. (Btw, I have always been wondering about the |
There are some other steps that need to succeed before we can recreate a material map though: |
5a23acc
into
acts-event-data-seed-deprecated-declarations
|
Thank you @wdconinc for this notice.
It reads a phi-R binning scheme, but expects Rphi-Z, or phi-Z for cylinder. @ybedfer can you identify relevant code in the 2dstrip description? Probably update the surface type to disk (to go with phi-R binning) or change the binning to phi-Z (that works with cylinder) can fix the issue? |
Hello, Is this connected to the two issues you mention supra? Or is it yet another problem? |
That's problem 1. |
|
@wdconinc Is this a known issue? |
|
You should first run |
|
Sorry, that was obvious. Now, the execution runs smoothly... but I don't get any |
Yes, we lost cbor support along the way. I'm working on a fix in acts for that. EICrecon should be able to use json as well. Only problem is it's 400 MB. |
|
Hello again, With my newly produced material map: I still get the error: And then: I then don't know what to do.... |
|
That's interesting. So even a regenerated material map still fails, eh. Hmm... This will require more inspection then. The next step is likely to run with |
|
Is this material map or surface issue? I think surfaces define their coordinate systems. We could specify a different value via an additional entry in |
|
Hello again, I have no error any more! => Anyway I will prepare a PR of => Next issue: would we need a dedicated 2DStrip material map, still? It turns out that the trace-level log of |
### Briefly, what does this PR introduce? Please link to any relevant presentations or discussions. This PR is presumed to fix the issue evoked in the PR "eic/EICrecon#2889" of `EICrecon` (_viz._ 2DStrip configuration conflicting with materail map). The modification to the source code is actually quite simple: merely adding ecals to the 2DStrip configuration. ### What is the urgency of this PR? - [ *] Medium ### What kind of change does this PR introduce? - [ ] other: Not sure whether it's fixing a bug or merely hiding it. ### Please check if any of the following apply - [ ] This PR introduces breaking changes. Please describe changes users need to make below. - [ ] This PR changes default behavior. Please describe changes below. - [ ] AI was used in preparing this PR. Please describe usage below.
Briefly, what does this PR introduce? Please link to any relevant presentations or discussions.
This pull request updates the workflow configuration in
.github/workflows/linux-eic-shell.ymlto improve control over job error handling in theeicrecon-disjob. The main changes introduce acontinue-on-errorsetting to the job matrix, allowing certain job runs (2DStrip in particular) to proceed even if errors occur.Workflow configuration improvements:
continue-on-errorparameter to theeicrecon-disjob, making it configurable per matrix entry.continue-on-error: [false]by default, and setcontinue-on-error: truefor the configuration usingsanitizer: ASAN, allowing that job to continue on error. [1] [2]What is the urgency of this PR?
In Acts v46, the 2DStrip geometry is not compatible with the existing non-2DStrip material map anymore (I.e. it probably never was compatible but now it's a hard failure).
What kind of change does this PR introduce?
Please check if any of the following apply