Malformed HDF5 scema strings cause hang
Opened this issue · 0 comments
AlexanderWells-diamond commented
Passing a schema string that contains more than the expected number of format specifiers (precisely one %d) causes an exception, but leaves the process running and stuck somewhere.
[eyh46967@pc0103 PandABlocks-client]$ pipenv run pandablocks hdf --arm 172.23.252.201 %s/%s_%d.h5
Exception in thread Thread-2:
Traceback (most recent call last):
File "/dls_sw/prod/tools/RHEL7-x86_64/Python3/3-7-2dls1/prefix/lib/python3.7/threading.py", line 917, in _bootstrap_inner
self.run()
File "/home/eyh46967/dev/PandABlocks-client/pandablocks/hdf.py", line 48, in run
data = func(data)
File "/home/eyh46967/dev/PandABlocks-client/pandablocks/hdf.py", line 96, in open_file
file_path = self.scheme % self.num
TypeError: not enough arguments for format string
The command line help for the schema parameter should probably also be changed to explicitly say "exactly 1 %d", as opposed to its current description:
Uses the filename pattern specified by SCHEME, including %d for scan number starting from 1