Closed yurivict closed 6 months ago
For example, this exception:
1475│ int npk = comm_.size() / npb; 1476│ if (npk * npb != comm_.size()) { 1477│ std::stringstream s; 1478│ s << "Can't divide " << comm_.size() << " ranks into groups of size " << npb; 1479├───────> RTE_THROW(s); 1480│ }
in src/context/simulation_context.cpp causes Abort trap:
$ sirius.scf --test_against=output_ref.json --control.processing_unit=cpu --control.mpi_grid_dims=2:2 --control.std_evp_solver_name=scalapack --control.gen_evp_solver_name=scalapack SIRIUS 7.4.3, git hash: https://api.github.com/repos/electronic-structure/SIRIUS/git/ref/tags/v7.4.3 Warning! Compiled in 'debug' mode with assert statements enabled! Abort trap
The error message is lost.
Linux reports lost exceptions anyway, but other OSes do not - such reporting is a linux extension and is not covered by the C++ standard.
You need to have a proper try-catch block in your main function.
Implemented in 'develop'
For example, this exception:
in src/context/simulation_context.cpp causes Abort trap:
The error message is lost.
Linux reports lost exceptions anyway, but other OSes do not - such reporting is a linux extension and is not covered by the C++ standard.
You need to have a proper try-catch block in your main function.