debuggable installations in eic/containers: wire --debug-source and --debug-symbols into the dbg environment - #388
SebastianPaucar wants to merge 27 commits into
Conversation
|
@SebastianPaucar In master (#393) we added a mirror for the source that has the ssl certificate errors in CI here. |
Branch updated with #393. Also implemented OCI push/autopush (per |
Noticed some of the newer cherry-picks in |
|
It seems this PR has created a whole new spack build cache at https://eicweb.phy.anl.gov/containers/eic_container/container_registry/154 because we reuse the branch name as container registry name ;-) |
47f298b to
95a46a9
Compare
|
Hi @wdconinc, 84 checks have now successfully passed. Can you please rerun the remaining failing check ( On another note, I figured out the root cause of the previous SSL issues. dawncut has buildcache coverage, while dawn does not, and their host URL (http://geant4.kek.jp/~tanaka/src/) is broken, as stated in |
ec02ef6 to
676d717
Compare
|
Hi @wdconinc, since the I want to flag that the source and symbols capture only produces anything useful when the package is actually built with debug info (by adding Since |
|
By the way, I keep seeing a GPU runner failure for the |
Yes, right now we are building all (CMake) packages with type Release (see
This started happening with the upgrade to spack v1.2. To prevent frequent downloads of source archives and buildcache OCI layers we cache the blobs in /var/cache/spack during the container build in a cache volume on the docker builder. This has started to be a lot more flaky for reasons I have not had a chance to dig into. See e.g. https://eicweb.phy.anl.gov/containers/eic_container/-/jobs/8439419#L1475: I think what may have changed is the added e871d704a99c which may be specific to the build, so it essentially bypasses our entire source cache reuse strategy. |
ec810be to
d942883
Compare
|
Rebased to pick up #410. |
…00b8c7 predates amend, 4b54f295 is current PR #6214 head)
for more information, see https://pre-commit.ci
… geant4 and their xl dependents
d942883 to
a564552
Compare
Moved the debug configuration into On another note, I'm also digging into the |
|
Hi @wdconinc, I just added a doc breaking down the debuggable-installations framework in On another note, CI checks for this PR are almost done, Is there any way to test this framework in a production case? |
There might be. We just last Friday added a new segfault findings platform for production jobs, see https://epic-devcloud.org/prod/panda/segfaults/ (you may need to log in with github, and membership in eic org will give you access). Some of them have been resolved (f-1, f-2, f-3) but my not have rolled out yet. f-4 seems like a promising one to try to reproduce (but in my attempt to reproduce this I got the f-3 failure...). |
This PR adds the framework related to the following design discussion for debuggable installations in spack packages:
spack/spack): DWARF-referenced source hook and symbol splitting plus GDB init for debuggable installations.spack/compiler-wrapper):-ffile-prefix-map=<staging>=.and--build-idinjection in compiler-wrapper.spack/spack-packages): setSPACK_DEBUG_PREFIX_MAPfor-ffile-prefix-map=<stage>=.injection at compiler-wrapper level.(
SebastianPaucar/spack):--debug-sourceand--debug-symbolsPoC container demo (verified end-to-end).In summary, this PR adds
--debug-sourceand--debug-symbolsto spack install whenENV=dbg, via a new conditional inscripts/build-eic.shthat appends toSPACK_INSTALL_FLAGS.