Segfault while producing warning message in interface reconstruction
A user encountered the following segfault:
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
t-linux.x86_64.in 000000000042FE6D Unknown Unknown Unknown
libpthread-2.17.s 00002BA6DB9A5630 Unknown Unknown Unknown
t-linux.x86_64.in 00000000004FC140 Unknown Unknown Unknown
t-linux.x86_64.in 0000000000491969 Unknown Unknown Unknown
libtruchas.so 00002BA6D6FB0CDA locate_plane_os_f 58 locate_plane_os_function.F90
libtruchas.so 00002BA6D6F9EE1A geometric_volume_ 367 geometric_volume_tracker_type.F90
libtruchas.so 00002BA6D6F9E76D geometric_volume_ 318 geometric_volume_tracker_type.F90
libtruchas.so 00002BA6D6FA419B geometric_volume_ 719 geometric_volume_tracker_type.F90
libtruchas.so 00002BA6D6F9BA0B geometric_volume_ 145 geometric_volume_tracker_type.F90
This is due to a line in locate_plane_os_function.F90
:
error_message = error_message // new_line(my_error_message) // trim(my_error_message)
However at this point, error_message
has not been allocated.
In this case the error isn't critical. The interface wasn't reconstructed to the requested accuracy, but nothing fatal. But a separate issue is that we don't expose to the user the needed parameter to resolve the issue. location_iter_max
is pulled from a parameter list, but the parameter list value is never set. This should be read from the FLOW
namelist.