mesa (OSMesa) crashes with core dump in some cases (intel compiler) when built with paraview-superbuild 5.11.0
@cory.quammen @ben.boeckel @wascott
I have seen the issue I am about to describe on two different platforms at SNL, the cee platform and the ats1 HPC (mutrino). Not on tlcc2 or cts1, where it looks like the same intel compiler version as ats1.
The issue is that I build ParaView/Catalyst 5.11.0 with superbuild, including osmesa for catalyst and then when I run catalyst I get a core dump. When I run the program via gdb I see that the location of the seg fault is in mesa.
When I build with the "module load sierra-devel" module, which uses the gcc compiler, I get no error. When I build with the "module load sierra/daily" module, which uses the intel compiler, I get this issue. Similarly, on ats1/mutrino, I get this error when I build with the "module load sierra-devel" (or other) module, which uses the intel compiler. When I additionally set the CC and CXX environment variables to point to gcc and g++ before building, I do not get the error.
In fact, on cee I can take the working libOSMesa.so from the sierra-devel build and drop it into the sierra/daily build and it works. I can get away with this because although the two setups use different mpi libraries, the libOSMesa doesn't use MPI and so doesn't create a confict.
Several observations: The "broken" libOSMesa.so is about 21 megabytes in size, while the working one is about 19 megabytes in size on the cee platform.
I thought it might be problem with this particular mesa version, but we use the same mesa version in paraview 5.10.1 and it works (!).
On the cee platform, I can see significant differences between the osmesa ninja build file, one of which is that the working one (I think) specifies the use of OPENMP (not mpi, the parallel code thing I think), while the broken one does not. I'm talking about the .../superbuild/osmesa/src/build/build.ninja file which gets generated while configuring the osmesa build.