The following report is generated when an Exception is thrown in an Atlas simulation production event: ***G4QHadron:(P) PDG=0, use other constructor ***G4QHadron::SetQPDG: QPDG=[ PDG=0, Q=-2] ***G4QEnvironment::Fragment: Exception is catched **G4QEnv::Fragment:Exception #1: **G4QHadron::SetQPDG: Impossible QPDG Probably a Chipolino ***G4QEnvir::Fragment:nH=14,nQ=1,E={Z=0,N=0,S=0,M=0} ***G4QEnvir::Fr:H0=(-7.9524061903491,23.177310216302,64.385951229991;-15871.7390632)0 ***G4QEnvir::Fr:H1=(-5.9693425985903,143.7597660228,89.486142775307;219.52234060977)211 ***G4QEnvir::Fr:H2=(-159.94121469493,2.5013396413968,-32.531350130363;953.63976600775)90000001 ***G4QEnvir::Fr:H3=(10.281068721248,209.00640989729,117.76955293227;277.73878420212)-211 ***G4QEnvir::Fr:H4=(-163.83658446436,545.77047419475,422.11177945349;1177.1445352959)90000001 ***G4QEnvir::Fr:H5=(313.3867591101,-16.616334501224,50.397707231804;991.87214799285)90000001 ***G4QEnvir::Fr:H6=(-162.32669600698,38.302756647309,-190.91678531765;973.16460171508)90000001 ***G4QEnvir::Fr:H7=(234.96143195744,249.22640141186,385.23650396373;1071.6860096905)90000001 ***G4QEnvir::Fr:H8=(-158.31911028499,138.02411288847,27.134383797578;3733.3906949106)90002002 ***G4QEnvir::Fr:H9=(30.576761393537,-80.28540986886,-52.412908351014;943.65362751171)2212 ***G4QEnvir::Fr:H10=(51.192300014046,-6.952178935992,41.488134120743;940.60864339245)2212 ***G4QEnvir::Fr:H11=(54.343117297698,-85.728354881664,-77.997713642411;13985.177018215)90009006 ***G4QEnvir::Fr:H12=(-120.20736632458,126.61132325391,-39.849414587301;15874.03883728)90011006 ***G4QEnvir::Fr:H13=(-7.9524061903491,23.177310216302,64.385951229991;-15871.7390632)0 ***G4QEnvir::Fr:Quasm#0=(0,0,0;0){0,0,0,0,0,0} ***G4QEnv::Fragment: ----------- End of CleaningUp: 4Mdif=(91.763688261051,-1309.9749262027,1531.0320561293;18128.066636809) **G4QEnv::Fragment:Recover*Env={Z=12,N=14,S=0,M=24196.503703708},4M=(1.4540452175638e-14,7.5009443101237e-15,2399.7199908354;27526.225517233) ***G4QE::Fragm:Q(0)=(1.4540452175638e-14,7.5009443101237e-15,2399.7199908354;3329.721813525){1,2,0,0,0,0} *G4QEnv::Fragment:Exception.Target=90013014. Projectiles: G4QE::F:#0,PDG/4M=22(1.45405e-14,7.50094e-15,2399.72;2399.72) The version of Geant4 used is Geant4 9.2 with patch 2 + several fixes ( taken already included in 9.2 patch 3 and some later fixes ) = "atlas patch 4" For completeness, below is the printout informing of these additional fixes: Differences w.r.t. the "plain" geant4-09-02-02 are: * Fast and ExN0{1,2,3} physics lists * New MagField, G4CachedMagneticField * G4AtlasRK4 stepper * Bugfix to G4QElasticCrossSection * Bugfix to G4HadronElastic * Patch to G4TouchableHistory to reduce memory churn * Production cuts table startup optimisation * Patch to reduce memory churn in Bertini cascade * Energy conservation bug fixes to gamma-nuclear and pion-He scattering Note: The full job output is currently available at http://voatlas19.cern.ch:25980/monitor/logs/f0fb4c46-e906-4159-a8f9-27aabfe158d8/tarball_PandaJob_1090076666_SLACXRD/athena_stdout.txt
I managed to reproduce this crash in a simplified calorimeter setup. The CHIPS gamma+Al @ 2.4 GeV can produce pseudo-particles (CHIPOLINOs) that are usually used internally by the model, due to a bug these are not handled correctly, propagated and an exception is thrown. The probability of this bug is of of the order of 1/4*10^6 interactions. Thus is quite rare. After some mail exchange with the CHIPS author we agreed to test the following solution: 1- The class responsible of throwing the exception is G4QEnvironment 2- This is used by the G4ChiralInvariantPhaseSpace interface class, responsible of creating the model and trying the interaction 3- In the interface class a re-try of the interaction will be done in case the underlying model throws an exception 4- The number of re-tries will be checked and, if a limit reached, a G4HadException will be thrown
Hello, a work-around for this problem has been tested on 2*10^7 interactions with success. A tar-ball containing the fix for the file: processes/hadronic/models/chiral_inv_phase_space/interface/src/G4ChiralInvariantPhaseSpace.cc has been provided to ATLAS for further testing. If everything is ok, it will be incorporated in a G4 patch. Here is a description of the fix implementation (quoting the mail send to ATLAS people): Hello, regarding the bug described in: https://savannah.cern.ch/bugs/index.php?70511 A tarball containing a fix is available for G4 release 9.2.p02 under: /afs/cern.ch/user/a/adotti/public/ATLAS-fixGammaNuclear-9.2.p02-Version2 This patch is valid only for the 9.2.p02 version of Geant4. In addition this patch contains also the fix, already provided, for the bug described in: https://savannah.cern.ch/bugs/index.php?68785 Untar the file in the source directory of the installation and re-compile. We would appreciate any feedback on the fix. Please read the following note on verbosity. Here are details: 1- The patch catches the previously un-handled exceptions produced when a CHIPOLINO pseudo-particle is produced by the model 2- In such a case the interaction is re-tried 3- The maximum number of allowed re-tries is 10 4- If this limit is reached, an exception is thrown and the application will abort In case the gamma + nuclear reaction is producing a CHIPOLINO an extensive output describing the failing interaction is produced. This can be recognized from the string: ***WARNING*** Exception thrown passing through G4ChiralInvariantPhaseSpace Please report any of such a case. With my best regards, Andrea Dotti for the G4 team
Fixed. The fix has been provided to ATLAS and will be included in release 9.2.p04 and 9.3.p02.