#77 closed defect (fixed)
WHIZARD crashes immediately due to gfortran regression (?)
Reported by: | kilian | Owned by: | Juergen Reuter |
---|---|---|---|
Priority: | P1 | Milestone: | |
Component: | core | Version: | 2.0.0alpha |
Severity: | blocker | Keywords: | |
Cc: |
Description
With today's snapshot (3 Nov 2009) of gfortran, WHIZARD crashes right at the beginning, even if the input file whizard.in.empty is provided.
The reason is a mismatch in optional arguments. An argument that is not PRESENT is suddenly PRESENT in a subroutine.
For checking, add a line in models.f90, procedure model_set_particle_data:
... logical, parameter :: is_stable = .true. print *, "model_set_particle_data: present(name) = ", present (name) !NEW call particle_data_set (model%prt(i), & ...
and similarly in procedure particle_data_set:
... type(parameter_t), intent(in), target, optional :: mass_src, width_src print *, "particle_data_set: present (name) = ", present (name) !NEW if (present (is_visible)) prt%is_visible = is_visible ...
This results in the following output:
|=============================================================================| | WHIZARD 2.0.0 | |=============================================================================| | Initializing process library 'processes' | Loading process library 'processes' | [No compiled process library 'processes'] | Reading model file 'SM.mdl' model_set_particle_data: present(name) = F particle_data_set: present (name) = T Operating system error: Cannot allocate memory Out of memory
If this can be reproduced, a bug report to gfortran is in order (or maybe this is already known?)
Note: See
TracTickets for help on using
tickets.
I reported this as bug report 41948 at gcc bugzilla but it seems to be already known as bug
on. Therefore, closing this ticket.