whizard is hosted by Hepforge, IPPP Durham

Opened 13 years ago

Closed 13 years ago

#457 closed enhancement (fixed)

Error in decays.f90

Reported by: sschmidt Owned by: kilian
Priority: P1 Milestone: v2.0.7
Component: core Version: 2.0.6
Severity: normal Keywords:
Cc:

Description

See the attached sin file, e+e- => tTH with subsequent factorized decays for the t and the W.

Executing it leads to a crash with the backtrace:

Runtime Error: decays.f90, line 430: Subscript 1 of IGNORE_HEL (value 1) is out of range (1:0)
Program terminated by fatal error
decays.f90, line 430: Error occurred in DECAYS:DECAY_INIT
decays.f90, line 663: Called by DECAYS:DECAY_TREE_GENERATE_EVENT:DECAY_NODE_GENERATE_EVENT
decays.f90, line 632: Called by DECAYS:DECAY_TREE_GENERATE_EVENT
events.f90, line 207: Called by EVENTS:EVENT_GENERATE
simulations.f90, line 978: Called by SIMULATIONS:SIMULATION_GENERATE_EVENT
simulations.f90, line 1240: Called by SIMULATIONS:SIMULATION_EVENT
commands.f90, line 5158: Called by COMMANDS:CMD_SIMULATE_EXECUTE
commands.f90, line 1021: Called by COMMANDS:COMMAND_EXECUTE
commands.f90, line 6050: Called by COMMANDS:COMMAND_LIST_EXECUTE
whizard.f90, line 326: Called by WHIZARD:WHIZARD_PROCESS_STREAM
whizard.f90, line 304: Called by WHIZARD:WHIZARD_PROCESS_FILE
main.f90, line 353: Called by MAIN

during event generation. Compiled with gfortran, a similar error message occurs:

At line 430 of file decays.f90
Fortran runtime error: Index '1' of dimension 1 of array 'ignore_hel' above upper bound of 0

Reported by Jan Strube.

Attachments (1)

ticket457.sin (468 bytes) - added by sschmidt 13 years ago.

Download all attachments as: .zip

Change History (12)

Changed 13 years ago by sschmidt

Attachment: ticket457.sin added

comment:1 Changed 13 years ago by Juergen Reuter

Priority: P3P1

comment:2 Changed 13 years ago by Juergen Reuter

This is really rather urgent....

comment:3 Changed 13 years ago by kilian

Status: newassigned

The problem is that the decay routine tries to use a process record that is completely un-initialized (garbage). This happens only if 'integrate' for the subprocess is issued after 'unstable'. If 'integrate' is done before 'unstable', or 'integrate' is omitted completely, everything's ok.

So the first workaround is to write 'unstable' after all integrations.

Investigating further ...

comment:4 Changed 13 years ago by kilian

Priority: P1P4
Type: defectenhancement

In r3664, I catch this as an error condition.

The user should write 'unstable' after all relevant integrations, since all decay channels have to be set up again if an integral changes.

Of course, this could be done automatically, so I keep the ticket. Either the automatic recheck may be implemented, or the required order is documented in the manual for the next release.

comment:5 Changed 13 years ago by Juergen Reuter

So hard it may seem: please try to work around this, and prepare a bug report.... The bug is still there in 4.6.2, actually. Could someone check 4.7.0., maybe Sebastian !?

comment:6 Changed 13 years ago by kilian

@JR: Your last comment belongs to #460, I guess? Anyway, that is fixed. I'll file the bug report tomorrow.

comment:7 Changed 13 years ago by Juergen Reuter

Oops, yes indeed, I'm not as multi-threaded as I thought...

comment:8 Changed 13 years ago by Juergen Reuter

Any update on that one here?...

comment:9 Changed 13 years ago by Juergen Reuter

Priority: P4P2

comment:10 Changed 13 years ago by Juergen Reuter

Priority: P2P1

This is now the main open issue for 2.0.7...

comment:11 Changed 13 years ago by kilian

Resolution: fixed
Status: assignedclosed

The decays are now updated, where applicable, after each integration command, cf. r3746. The example works as intended.

Note: See TracTickets for help on using tickets.