Problem report by : Daniel Elvira PAT/CD Fermilab daniel@fnal.gov (630)840-3604 > Dear Gunter, > a few days ago, I switched to GEANT4.2.0. (from 4.1.1). Until > then, my simulation was running smoothly. Now the same user code is > crashing with the following message: > > Process::SubtractNumberOfInteractionLengthLeft() negative > currentInteractionLength > > *** G4Exception: Aborting execution *** > Abort (core dumped) > > I looked at G4VProcess.cc, where > SubtractNumberOfInteractionLengthLeft() is implemented. The way to > get that negative value is if currentInteractionLength<0.0. > By the way, the crash goes away if I remove the EM physics > (comment the line ConstructEM(); in the PhysicsList.cc file). I inspected > my PhysicsList.cc file against the one in 4.2.0 N02 example and did not find > any difference (except I am not implementing all the physics contained > there). I then tried directly replacing my PhysicsList.cc file by the one > in the 4.2.0 N02 example and still got the same crash. > > Let me give you some details: I'm shooting a muon beam (a few > hundred MeV), through liquid hydrogen, in a magnetic field. Ionization, > Bremsstrahlung and pair production processes are turned on for muons. > I'm running on a Linux PC. > > Is it obvious to you what's going on? If I change the 4.2.0 > N02 example to shoot muons instead of protons I don't get any crash. > Please let me know if you need more information, like my PhysicsList.cc > for example. Right now I'm switching back to 4.1.1, but I would really > like not to do that. Thanks for your help, > > > Daniel >
The problem would have desappeared in Geant4 V3.1, with corrections in MuEnergyLoss and/or MuBremsstrahlung
I've rediscovered this error while running the N02 example and including all of the N04 physics processes. In this case a negative currentInteractionLength error is prolific (almost every event) when shooting 100 GeV protons into an iron-scintillator calorimeter. When shooting 1 GeV protons the error is much less frequent. I'm running the example on a linux box (7.2) with g++ 2.96.