Opened 15 years ago
Closed 15 years ago
#298 closed defect (fixed)
Segfault when using integral(proc), if proc not yet integrated
Reported by: | kilian | Owned by: | kilian |
---|---|---|---|
Priority: | P3 | Milestone: | v2.0.1 |
Component: | core | Version: | 2.0.0 |
Severity: | minor | Keywords: | |
Cc: |
Description
This happens here, for instance:
process proc = e1, E1 => e1, E1 plot cross_section (0, 2 TeV) scan sqrts = (1 TeV) { record cross_section (sqrts, integral(proc)) }
if there was no integration for proc.
There is an error message, but the segfault should be caught nevertheless.
Change History (2)
comment:1 Changed 15 years ago by
comment:2 Changed 15 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Fixed by making this fatal in r2318. This is a design flaw in the parser and "compiler": in case of an error, evaluation nodes and parse nodes are in an undefined state (note even nullified), leading to potentially hard to track down segfaults further downstream. This should be caught by proper error handling -> creating a new enhancement ticket and closing this one.
Note: See
TracTickets for help on using
tickets.
Strangely, on 32bit Linux I cannot reproduce, on the MAC (on which it is always awfully stressful to generate core files) the seg fault occurs. So, please go ahead with this! :-(