tests.command_line.test_stills_process.test_sacla_h5
Tags | |
---|---|
Last edited time |
Error Message
RuntimeError: child process stderr output: command: ['mpirun', '-n', '4', 'dials.stills_process', 'mp.method=mpi mp.composite_stride=4 output.logging_dir=.', '/home/jenkins/workspace/CCP4/test-release-linux64/ccp4-8.0/lib/python3.7/cctbx/dials_data/image_examples/SACLA-MPCCD-run266702-0-subset.h5', 'process_sacla.phil'] -------------------------------------------------------------------------- There are not enough slots available in the system to satisfy the 4 slots that were requested by the application: dials.stills_process Either request fewer slots for your application, or make more slots available for use. --------------------------------------------------------------------------
Stacktrace
dials_data = <DataFetcher: /home/jenkins/workspace/CCP4/test-release-linux64/ccp4-8.0/lib/python3.7/cctbx/dials_data>
run_in_tmpdir = local('/tmp/pytest-of-jenkins/pytest-0/test_sacla_h5_True_0')
use_mpi = True, in_memory = False
@pytest.mark.parametrize("use_mpi", [True, False])
def test_sacla_h5(dials_data, run_in_tmpdir, use_mpi, in_memory=False):
# Only allow MPI tests if we've got MPI capabilities
if use_mpi:
pytest.importorskip("mpi4py")
# Check the data files for this test exist
sacla_path = dials_data("image_examples")
image_path = os.path.join(sacla_path, "SACLA-MPCCD-run266702-0-subset.h5")
assert os.path.isfile(image_path)
geometry_path = os.path.join(
sacla_path, "SACLA-MPCCD-run266702-0-subset-refined_experiments_level1.json"
)
assert os.path.isfile(geometry_path)
# Write the .phil configuration to a file
with open("process_sacla.phil", "w") as f:
f.write(sacla_phil % geometry_path)
# Call dials.stills_process
if use_mpi:
command = [
"mpirun",
"-n",
"4",
"dials.stills_process",
"mp.method=mpi mp.composite_stride=4 output.logging_dir=.",
]
else:
command = ["dials.stills_process"]
command += [image_path, "process_sacla.phil"]
> result = easy_run.fully_buffered(command).raise_if_errors()
/home/jenkins/workspace/CCP4/test-release-linux64/ccp4-8.0/lib/python3.7/site-packages/dials/tests/command_line/test_stills_process.py:141:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <libtbx.easy_run.fully_buffered_subprocess object at 0x7fab52555f10>
Error = <class 'RuntimeError'>
def raise_if_errors(self, Error=RuntimeError):
assert not self.join_stdout_stderr
msg = self.format_errors_if_any()
if (msg is not None):
> raise Error(msg)
E RuntimeError: child process stderr output:
E command: ['mpirun', '-n', '4', 'dials.stills_process', 'mp.method=mpi mp.composite_stride=4 output.logging_dir=.', '/home/jenkins/workspace/CCP4/test-release-linux64/ccp4-8.0/lib/python3.7/cctbx/dials_data/image_examples/SACLA-MPCCD-run266702-0-subset.h5', 'process_sacla.phil']
E --------------------------------------------------------------------------
E There are not enough slots available in the system to satisfy the 4 slots
E that were requested by the application:
E dials.stills_process
E
E Either request fewer slots for your application, or make more slots available
E for use.
E --------------------------------------------------------------------------
/home/jenkins/workspace/CCP4/test-release-linux64/ccp4-8.0/lib/python3.7/site-packages/cctbx_project/libtbx/easy_run.py:46: RuntimeError