Unfortunately, the program results in a segmentation fault. Specifically, no exception (TrilinosWrappers::SolverDirect::ExcTrilinosError) is thrown when the matrix containing NaN values is passed to the solver's solve function.
In contrast, when running a sequential program with SparseDirectUMFPACK, the solver correctly handles the issue, and I am able to catch the exception SparseDirectUMFPACK::ExcUMFPACKError.
Can this be considered a Trilinos bug? Has this issue been addressed in newer versions of deal.II or Trilinos?
Clearly, assigning NaN values to a matrix does not make much sense. However, in the optimized release version of my program, bad inputs can occasionally lead to cases where the cell matrix contains NaN values. In such situations, I rely on catching exceptions (e.g., from SparseDirectUMFPACK) to handle the error gracefully.
Yes, the starting point of the trace is "TrilinosWrappers::SolverDirect::do_solve", and the segmentation fault occurs in the libsuperlu_dist library.
On reviewing the do_solve function, it seems the exception TrilinosWrappers::SolverDirect::ExcTrilinosError is expected to be thrown. While Amesos_Mumps solver correctly throws this exception, unfortunately, Amesos_superludist does not. :(
As you mentioned, it might be worthwhile to try a newer version of deal.II, which provides wrappers for the more advanced Amesos2 and Tpetra packages.