Skip to content

use fallback mechanism that relies on $USER or $LOGNAME when determining username via pwd.getpwuid fails#5151

Merged
boegel merged 4 commits intoeasybuilders:developfrom
ocaisa:no_nss
Mar 31, 2026
Merged

use fallback mechanism that relies on $USER or $LOGNAME when determining username via pwd.getpwuid fails#5151
boegel merged 4 commits intoeasybuilders:developfrom
ocaisa:no_nss

Conversation

@ocaisa
Copy link
Copy Markdown
Member

@ocaisa ocaisa commented Mar 27, 2026

Currently on Lumi, you get a hard failure when trying to do an EasyBuild installation on a compute node (in the EESSI environment):

{EESSI/2025.06} alanocai@nid005125:~/mpi_inject> id -un
id: cannot find name for user ID 327004947
327004947
{EESSI/2025.06} alanocai@nid005125:~/mpi_inject> eb --missing libcxi.eb 
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/cvmfs/software.eessi.io/versions/2025.06/software/linux/x86_64/amd/zen3/software/EasyBuild/5.2.1/lib/python3.13/site-packages/easybuild/main.py", line 862, in <module>
    main_with_hooks()
    ~~~~~~~~~~~~~~~^^
  File "/cvmfs/software.eessi.io/versions/2025.06/software/linux/x86_64/amd/zen3/software/EasyBuild/5.2.1/lib/python3.13/site-packages/easybuild/main.py", line 840, in main_with_hooks
    init_session_state, eb_go, cfg_settings = prepare_main(args=args)
                                              ~~~~~~~~~~~~^^^^^^^^^^^
  File "/cvmfs/software.eessi.io/versions/2025.06/software/linux/x86_64/amd/zen3/software/EasyBuild/5.2.1/lib/python3.13/site-packages/easybuild/main.py", line 832, in prepare_main
    eb_go, cfg_settings = set_up_configuration(args=args, logfile=logfile, testing=testing)
                          ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/cvmfs/software.eessi.io/versions/2025.06/software/linux/x86_64/amd/zen3/software/EasyBuild/5.2.1/lib/python3.13/site-packages/easybuild/tools/options.py", line 1822, in set_up_configuration
    eb_go = parse_options(args=args)
  File "/cvmfs/software.eessi.io/versions/2025.06/software/linux/x86_64/amd/zen3/software/EasyBuild/5.2.1/lib/python3.13/site-packages/easybuild/tools/options.py", line 1691, in parse_options
    eb_go = EasyBuildOptions(usage=usage, description=description, prog='eb', envvar_prefix=CONFIG_ENV_VAR_PREFIX,
                             go_args=eb_args, error_env_options=True, error_env_option_method=raise_easybuilderror,
                             with_include=with_include)
  File "/cvmfs/software.eessi.io/versions/2025.06/software/linux/x86_64/amd/zen3/software/EasyBuild/5.2.1/lib/python3.13/site-packages/easybuild/tools/options.py", line 253, in __init__
    'USER': (pwd.getpwuid(os.geteuid()).pw_name,
             ~~~~~~~~~~~~^^^^^^^^^^^^^^
KeyError: 'getpwuid(): uid not found: 327004947'

@ocaisa ocaisa requested a review from boegel March 27, 2026 10:14
@boegel boegel added the EESSI Related to EESSI project label Mar 31, 2026
@boegel boegel added this to the next release (5.2.2?) milestone Mar 31, 2026
Comment thread easybuild/tools/options.py Outdated
@boegel boegel added the bug fix label Mar 31, 2026
Comment thread easybuild/tools/options.py Outdated
Comment thread easybuild/tools/options.py
@boegel boegel changed the title Don't hard fail when a node doesn't have working NSS use fallback mechanism that relies on $USER or $LOGNAME when determining username via pwd.getpwuid fails Mar 31, 2026
@boegel boegel enabled auto-merge March 31, 2026 19:42
@boegel boegel merged commit a6c7d2a into easybuilders:develop Mar 31, 2026
40 checks passed
@ocaisa ocaisa deleted the no_nss branch March 31, 2026 20:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug fix EESSI Related to EESSI project

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants