Geant4 Version: 10.07.p04+patch, 11.4.1+path
Operating System: Various
Compiler/Version: Various
CMake Version: Various
Following Stale pointers in parallel worlds? and the resulting fix in Bugzilla #2714, I have implemented an “emergency patch” (Does G4 have a recommended way to apply patches locally?) to both my 10.07.p04 and 11.4.1 Geant4 installations.
In the CDMS simulation framework, we are now seeing stale pointer failures coming from the ImportanceBiasing process, when it is triggered by the particle we want to bias. We see this problem with both releases, which suggests that it’s in code which was conserved across the G4 v10/v11 boundary.
When I run normally, I get a FatalException
-------- EEEE ------- G4Exception-START -------- EEEE -------
*** G4Exception : GeomNav1002
issued by : G4TransportationManager::ActivateNavigator()
Navigator for volume -- not found in memory!
*** Fatal Exception *** core dump ***
Where “volume --” in the message means that the volume name is an empty string. If I build and run with GCC’s thread-sanitizer code enabled, then I get a massive cascade of 80+ thousand santizer errors,
WARNING: ThreadSanitizer: signal-unsafe call inside of a signal (pid=75407)
These all come from
#2 G4TransportationManager::ActivateNavigator(G4Navigator*) <null> (libG4geometry.so+0x18d283)
and are probably equivalent to the empty string issue above. I am not sure that I’m going to be able to create a true MRE (because all this stuff is embedded in our CDMS simulation framework), but I’m hoping it’s sufficiently close to Bugzilla #2714 for that issue is obvious to the experts.