Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
This removes a lot of random #ifdefs from the source code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fixes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/68
|
|
Unfortunately, the complicated series of nested printf()s doesn't work
well from multiple processes.
|
|
Improvements:
- Recursive, so we can see how things are working at different levels
- Everything is profiled, even if not explicitly labelled
- No possibility of losing time
- Detects mistakes if routines aren't wrapped correctly
|
|
|
|
|
|
|
|
|
|
This fixes the broken window icon on Wayland.
|
|
|
|
This commit strips out all references to the Slurm API, instead making
subprocess calls to sbatch and scontrol.
Attempting to use the Slurm API seems to have been a mis-step. First,
it seems that nowhere has the Slurm headers pre-installed. Literally
none of the facilities where there are known deployments of CrystFEL
have them. And in a significant fraction of cases, getting them
installed is difficult, slow or impossible.
In addition, the API doesn't seem to work in all cases, so we already
shell out to 'scancel' to abort jobs - see d76fc3495.
There are some tricky implications for submitting Slurm jobs from a
container via the API. The Slurm REST API offers a solution, but is
very new and not widely available. Calls to the Slurm executables are
much easier to 'tunnel' out of a container.
This isn't a great solution. It's a net increase of only about 40 lines
of source code, but it incurs some unpleasant string handling and will
probably be less reliable overall. It completely relies on Slurm's not
being internationalised. If Slurm's messages start getting translated,
we will be in trouble.
|
|
|
|
|
|
This adds a new routine, data_template_slabby_file_to_panel_coords, to
be used (only!) in places where external forces require assumptions of
slabbiness: pixel maps and MsgPack/HDF5 peak lists (including
CXI-style).
This also fixes the prototype of data_template_file_to_panel_coords to
make the panel number strictly an input parameter. This was an
oversight in the implementation of DataTemplate, and caused problems
when reading non-slabby streams.
Fixes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/66
|
|
This takes a non-negligible amount of time (40 ms per frame for 16M), so
should be skipped if not needed.
|
|
|
|
|
|
|
|
This doesn't do anything. The very next lines override all the
settings.
|
|
Fixes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/64
|
|
If there are lots of error messages (e.g. a missing mask file), looking
at the last 4k of the log file is not always enough. Now it will go
back to 16k, in steps of 4k. It will stop early if it finds the start
of the file, and it will complain if it still doesn't find what it's
looking for.
|
|
Fixes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/61
|
|
|
|
|
|
Fixes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/59
|
|
Fixes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/58
|
|
|
|
This is no longer needed after 48c02e71e5bf. Simply set the correct
PATH before starting the GUI, and it will be propagated to the SLURM
jobs.
Astute readers will notice that the feature has been silently broken
since last March (65a1afdce2da5cd), anyway. Whoops.
|
|
Fixes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/56
|
|
Unfortunately, several environments rely on "magic" environment
variables to make things work. These need to be propagated.
The path to the GUI will no longer be added to the PATH. This was
intended to help when the indexing executables (mosflm, dirax etc) were
found alongside the CrystFEL executables. However, it's highly likely
that the path to the CrystFEL executables will be in PATH anyway.
This way, running the SLURM jobs in the same environment as the GUI
itself, also seems more compliant with the "principle of least
surprise".
|
|
|
|
When running online, there's no input file handle to close.
|
|
This avoids the process getting killed while waiting e.g. between runs
in an online context.
|
|
|
|
|
|
Usually, one will want this option enabled. However, sometimes it
speeds things up a lot to disable it.
Fixes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/54
|
|
Otherwise, setting the defaults won't work properly.
|