Skip to content

avoid crash in test step of custom easyblock for SuperLU if OpenMPI is not a dependency#4099

Merged
jfgrimm merged 1 commit intoeasybuilders:developfrom
Thyre:20260324152539_new_pr_superlu
Mar 24, 2026
Merged

avoid crash in test step of custom easyblock for SuperLU if OpenMPI is not a dependency#4099
jfgrimm merged 1 commit intoeasybuilders:developfrom
Thyre:20260324152539_new_pr_superlu

Conversation

@Thyre
Copy link
Copy Markdown
Collaborator

@Thyre Thyre commented Mar 24, 2026

(created using eb --new-pr)

Avoids hard crash like this in case one builds it in a non-MPI toolchain:

== Summary:
   * [FAILED]  Compiler/GCCcore/14.3.0/SuperLU/7.0.1
EasyBuild crashed! Please consider reporting a bug, this should not happen...

Traceback (most recent call last):
  File "/usr/lib64/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib64/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/p/software/default/stages/2026/software/EasyBuild/5.2.1/lib/python3.9/site-packages/easybuild/main.py", line 862, in <module>
    main_with_hooks()
  File "/p/software/default/stages/2026/software/EasyBuild/5.2.1/lib/python3.9/site-packages/easybuild/main.py", line 847, in main_with_hooks
    exit_code: EasyBuildExit = main(args=args, prepared_cfg_data=(init_session_state, eb_go, cfg_settings))
  File "/p/software/default/stages/2026/software/EasyBuild/5.2.1/lib/python3.9/site-packages/easybuild/main.py", line 798, in main
    is_successful = process_eb_args(orig_paths, eb_go, cfg_settings, modtool, testing, init_session_state,
  File "/p/software/default/stages/2026/software/EasyBuild/5.2.1/lib/python3.9/site-packages/easybuild/main.py", line 614, in process_eb_args
    ecs_with_res = build_and_install_software(
  File "/p/software/default/stages/2026/software/EasyBuild/5.2.1/lib/python3.9/site-packages/easybuild/main.py", line 226, in build_and_install_software
    raise error
  File "/p/software/default/stages/2026/software/EasyBuild/5.2.1/lib/python3.9/site-packages/easybuild/main.py", line 180, in build_and_install_software
    (ec_res['success'], app_log, err_msg, err_code) = build_and_install_one(ec, init_env)
  File "/p/software/default/stages/2026/software/EasyBuild/5.2.1/lib/python3.9/site-packages/easybuild/framework/easyblock.py", line 5120, in build_and_install_one
    result = app.run_all_steps(run_test_cases=run_test_cases)
  File "/p/software/default/stages/2026/software/EasyBuild/5.2.1/lib/python3.9/site-packages/easybuild/framework/easyblock.py", line 4932, in run_all_steps
    self.run_step(step_name, step_methods)
  File "/p/software/default/stages/2026/software/EasyBuild/5.2.1/lib/python3.9/site-packages/easybuild/framework/easyblock.py", line 4773, in run_step
    current_method()
  File "/p/software/default/stages/2026/software/EasyBuild/5.2.1/lib/python3.9/site-packages/easybuild/framework/easyblock.py", line 3077, in _test_step
    self.test_step()
  File "/p/software/default/stages/2026/software/EasyBuild/5.2.1/lib/python3.9/site-packages/easybuild/easyblocks/s/superlu.py", line 145, in test_step
    if LooseVersion(ompi_ver) >= LooseVersion('5.0'):
  File "/p/software/default/stages/2026/software/EasyBuild/5.2.1/lib/python3.9/site-packages/easybuild/tools/loose_version.py", line 112, in __ge__
    return self._cmp(other) >= 0
  File "/p/software/default/stages/2026/software/EasyBuild/5.2.1/lib/python3.9/site-packages/easybuild/tools/loose_version.py", line 82, in _cmp
    for i, j in zip_longest(self.version, other.version):
TypeError: 'NoneType' object is not iterable

@Thyre Thyre added the bug fix label Mar 24, 2026
@Thyre Thyre added this to the next release (5.2.2?) milestone Mar 24, 2026
@Thyre
Copy link
Copy Markdown
Collaborator Author

Thyre commented Mar 24, 2026

Test report by @Thyre

Overview of tested easyconfigs (in order)

  • SUCCESS SuperLU-7.0.1-gcccoreflexiblas-14.3.0-3.4.5.eb

Build succeeded for 1 out of 1 (total: 38 secs) (1 easyconfigs in total)
jsfl02.jusuf - Linux Rocky Linux 9.7, x86_64, AMD EPYC 7742 64-Core Processor, Python 3.9.25
See https://gist.github.com/Thyre/6b220c6fb38bb328820044ce55d3ccdf for a full test report.

@Thyre
Copy link
Copy Markdown
Collaborator Author

Thyre commented Mar 24, 2026

@boegelbot please test @ jsc-zen3
EB_ARGS="SuperLU-6.0.1-foss-2023b.eb --installpath=/tmp/$USER/ebpr-4099"

@boegelbot
Copy link
Copy Markdown

@Thyre: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=4099 EB_ARGS="SuperLU-6.0.1-foss-2023b.eb --installpath=/tmp/$USER/ebpr-4099" EB_CONTAINER= EB_REPO=easybuild-easyblocks EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_4099 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 10081

Test results coming soon (I hope)...

Details

- notification for comment with ID 4118792816 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Copy Markdown

Test report by @boegelbot

Overview of tested easyconfigs (in order)

  • SUCCESS SuperLU-6.0.1-foss-2023b.eb

Build succeeded for 1 out of 1 (total: 56 secs) (1 easyconfigs in total)
jsczen3c2.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.7, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.25
See https://gist.github.com/boegelbot/50a8978497fe0ea08bec85bf7f3c98cd for a full test report.

@jfgrimm
Copy link
Copy Markdown
Member

jfgrimm commented Mar 24, 2026

Going in, thanks @Thyre!

@jfgrimm jfgrimm merged commit 69fe72b into easybuilders:develop Mar 24, 2026
22 checks passed
@boegel boegel changed the title avoid crash in superlu easyblock if OpenMPI is not a dependency avoid crash in custom easyblock for SuperLU if OpenMPI is not a dependency Mar 25, 2026
@boegel boegel changed the title avoid crash in custom easyblock for SuperLU if OpenMPI is not a dependency avoid crash in test step of custom easyblock for SuperLU if OpenMPI is not a dependency Mar 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants