Skip to content

TypeError: can only join an iterable is if resubmit_on_errors is not set #2879

@branfosj

Description

@branfosj

This is with ReFrame 4.2.0 (and also 4.1.0). This is in the oontext of the job failing to be submitted (in my case this was because a reservation was deleted while I was running ReFrame).

Traceback (most recent call last):
  File "/bask/projects/e/edmondac-rsg/reframe/venv-system/lib64/python3.6/site-packages/reframe/frontend/executors/__init__.py", line 317, in _safe_call
    return fn(*args, **kwargs)
  File "/bask/projects/e/edmondac-rsg/reframe/venv-system/lib64/python3.6/site-packages/reframe/core/hooks.py", line 103, in _fn
    func(obj, *args, **kwargs)
  File "/bask/projects/e/edmondac-rsg/reframe/venv-system/lib64/python3.6/site-packages/reframe/core/pipeline.py", line 2564, in run
    super().run()
  File "/bask/projects/e/edmondac-rsg/reframe/venv-system/lib64/python3.6/site-packages/reframe/core/pipeline.py", line 1998, in run
    self._job.submit()
  File "/bask/projects/e/edmondac-rsg/reframe/venv-system/lib64/python3.6/site-packages/reframe/core/schedulers/__init__.py", line 581, in submit
    return self.scheduler.submit(self)
  File "/bask/projects/e/edmondac-rsg/reframe/venv-system/lib64/python3.6/site-packages/reframe/core/schedulers/slurm.py", line 261, in submit
    rf'({"|".join(self._resubmit_on_errors)})', e.stderr
TypeError: can only join an iterable

I am not setting resubmit_on_errors and https://reframe-hpc.readthedocs.io/en/stable/config_reference.html#config.systems.partitions.sched_options.resubmit_on_errors says that this should default to []. However, that is not happening. We then see the failure at

error_match = re.search(
when the join fails.

It looks like

"{systems,systems/partitions}/sched_options/resubmit_on_errors": [],
is not being expanded.

If I change

        "{systems,systems/partitions}/sched_options/resubmit_on_errors": [],

to

        "systems/partitions/sched_options/resubmit_on_errors": [],
        "systems/sched_options/resubmit_on_errors": [],

then I do not see the error.

Python 3.6 with:

$ pip list
Package            Version
------------------ ---------
archspec           0.2.0
argcomplete        2.0.0
attrs              22.2.0
certifi            2022.12.7
charset-normalizer 2.0.12
click              8.0.4
idna               3.4
importlib-metadata 4.8.3
jsonschema         3.2.0
lxml               4.9.2
pip                21.3.1
pyrsistent         0.18.0
PyYAML             6.0
ReFrame-HPC        4.1.3
requests           2.27.1
semver             2.13.0
setuptools         39.2.0
six                1.16.0
typing_extensions  4.1.1
urllib3            1.26.13
zipp               3.6.0

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions