Modify ↓
#239 closed defect (fixed)
assert statements in hadronisation
Reported by: | marek | Owned by: | support@sherpa-mc.de |
---|---|---|---|
Priority: | trivial | Milestone: | rel-1.4.1 |
Component: | Unknown | Version: | 0.trunk |
Keywords: | Cc: |
Description
Every once in a while (~2 in 100mio) there comes an event with an error message like:
Error in Cluster_Former::ConstructClusters: negative hadron energies ------------------------------------------------------------- Cluster [cluster, 78, 0] ((26.89,0.4255,2.224,26.66),2.691, 2.723) : l : d (-0.02456,0.06308,0.09219,-0.09945) 0, kt_max = 3.017, pt = 0.1117, y = nan l : ud_0 (26.92,0.3624,2.131,26.76) 1.924, kt_max = 3.892, pt = 2.162, y = 2.92 Will retry event. ERROR in Ahadic::Hadronize : Hadronization for blob (0x2b1e9640; 141 -> 0) did not work out, will trigger retrying the event.
then crashing with the following stack trace
{ 0x2b993bb1f285 in 'gsignal' 0x2b993bb20d30 in 'abort' 0x2b993bb18706 in '__assert_fail' 0x2b9930a926ea in 'AHADIC::Cluster_Formation_Handler::FormClusters(ATOOLS::Blob*)' (Cluster_Formation_Handler.C:66) 0x2b99305e9b01 in 'AHADIC::Ahadic::Hadronize(ATOOLS::Blob*, int)' (Ahadic.C:171) 0x2b99305eaf0f in 'AHADIC::Ahadic::Hadronize(ATOOLS::Blob_List*)' (Ahadic.C:101) 0x2b992f095635 in 'SHERPA::Fragmentation_Handler::PerformFragmentation(ATOOLS::Blob_List*, ATOOLS::Particle_List*)' (Fragmentation_Handler.C:115) 0x2b992ebee85a in 'SHERPA::Event_Handler::IterateEventPhases(double&)' (Event_Handler.C:184) 0x2b992ebf0272 in 'SHERPA::Event_Handler::GenerateStandardPerturbativeEvent(SHERPA::eventtype::code&)' (Event_Handler.C:240) 0x2b992ebf0c3d in 'SHERPA::Event_Handler::GenerateEvent(SHERPA::eventtype::code)' (Event_Handler.C:124) 0x2b992e7a12a4 in 'SHERPA::Sherpa::GenerateOneEvent(bool)' (Sherpa.C:253) 0x4024db in 'main' (Main.C:57) }
Since there is no assert statement in Cluster_Formation_Handler::FormClusters I am guessing it's the one in Cluster_Formation_Handler::Reset, l.102. I think it is too rare to actually fix this, but could we either define the NDEBUG preprocessor command telling assert what to do other than just abort the program, or just kick all the assert statements from the code and replace them with proper debugging output?
Attachments (0)
Note: See
TracTickets for help on using
tickets.
Was fixed on trunk in r19566. Works for me.