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