Skip to content

ReFrame topology stack traces #2110

@victorusu

Description

@victorusu

I have recently pulled from master and I started to see this error

$ ~/reframe/bin/reframe -C ~/reframe/config/cscs.py -c ~/reframe/custom-reframe-checks/apps/namd/namd_large_check.py -r --performance-report -n NAMDCPUExplorationCheck_True_1_16_True_True_False_True_False_True_False
$HOME/reframe/bin/reframe: httpjson: could not connect to serverhttpjson-server:12345: [Errno -2] Name or service not known
$HOME/reframe/bin/reframe: could not initialize the httpjson handler; ignoring ...
Traceback (most recent call last):
  File "$HOME/reframe/bin/reframe", line 22, in <module>
    cli.main()
  File "$HOME/reframe/reframe/frontend/cli.py", line 611, in main
    autodetect.detect_topology()
  File "$HOME/reframe/reframe/frontend/autodetect.py", line 187, in detect_topology
    topo_file, _subschema('#/defs/processor_info')
  File "$HOME/reframe/reframe/frontend/autodetect.py", line 82, in _load_info
    return _validate_info(json.load(fp), schema)
  File "/usr/lib64/python3.6/json/__init__.py", line 299, in load
    parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
  File "/usr/lib64/python3.6/json/__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "/usr/lib64/python3.6/json/decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib64/python3.6/json/decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

The solution was to

rm -rf ~/.reframe

Apparently, if the topology file is empty, then one gets this error. @teojgo can confirm that.
We should check whether the JSON file is empty and take proper action (like regenerate the topology file) and/or catch the exception being thrown.

What do you think?

In order to reproduce the error, just create an empty topology file in the ~/reframe folder.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions