Problem 1066 - FTFP_BERT loop
Summary: FTFP_BERT loop
Status: RESOLVED FIXED
Alias: None
Product: Geant4
Classification: Unclassified
Component: processes/hadronic/models/parton_string/hadronization (show other problems)
Version: 9.2
Hardware: All Linux
: P5 normal
Assignee: Gunter.Folger
URL:
Depends on:
Blocks:
 
Reported: 2009-05-21 14:02 CEST by Zach Marshall
Modified: 2009-05-22 18:57 CEST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this problem.
Description Zach Marshall 2009-05-21 14:02:18 CEST
Hi,

It seems that the code here:

http://www-geant4.kek.jp/lxr/source/processes/hadronic/models/parton_string/hadronization/src/G4LundStringFragmentation.cc#L509 

can cause a (nearly) infinite loop.  In particular, I have this stack from gdb:

#0  0xf0773f2b in G4VLongitudinalStringDecay::SampleQuarkPt ()
  from /afs/cern.ch/atlas/software/builds/AtlasSimulation/15.1.0/InstallArea/i686-slc4-gcc34-opt/lib/libG4processes.so 
#1  0xf076e36f in G4LundStringFragmentation::Sample4Momentum ()
  from /afs/cern.ch/atlas/software/builds/AtlasSimulation/15.1.0/InstallArea/i686-slc4-gcc34-opt/lib/libG4processes.so 
#2  0xf076f38e in G4LundStringFragmentation::SplitLast ()
  from /afs/cern.ch/atlas/software/builds/AtlasSimulation/15.1.0/InstallArea/i686-slc4-gcc34-opt/lib/libG4processes.so 
#3  0xf076ff2a in G4LundStringFragmentation::FragmentString ()
  from /afs/cern.ch/atlas/software/builds/AtlasSimulation/15.1.0/InstallArea/i686-slc4-gcc34-opt/lib/libG4processes.so 
#4  0xf0769b6b in G4ExcitedStringDecay::FragmentStrings ()

Which has been running for ~70 hours in Sample4Momentum (in and out of SampleQuarkPt).  It seems as though this could happen with a very small initial mass.  The last output in the log file was:

 G4PDGCodeChecker::CheckPDGCode :  ???  Illegal PDG encoding for nucleus  PDG code=1000010011
Particle H1[21221.8] has a strange PDGEncoding 

(not clear where this message is coming from, but that PDG code is an excited proton...).  This occurs running G4 9.2 patch01 on slc4, gcc346, 32-bit, built against CLHEP 1.9.4.2.  I'm using the FTFP_BERT physics list - and I have never seen this message or problem running QGSP_* (in case it helps).

Could one of the G4 experts take a look?


Thanks,
Zach
Comment 1 Gunter.Folger 2009-05-22 18:55:55 CEST
Thanks for reporting. 
I think this is actually two reports. The strange PDGCode has nothing to do with the loop you observe.
I have a fix for the near infinite loop. Eventually this will get of the loop, but the code was often trying many times to find a acceptable value, and you must have hit a very bad one.
If testing goes well, this should still be included in the beta release 9.3.beta.

For the PDGCode, this is actually the code for a nucleus, but apparently an invalid code. This should be followed in a separate report, I will create this.