#3245 closed defect (fixed)
OMEdit crashes: When set record parameter in Function
Reported by: | arnesinnema@… | Owned by: | perost |
---|---|---|---|
Priority: | high | Milestone: | 1.9.4 |
Component: | Run-time | Version: | trunk |
Keywords: | crash, record, function | Cc: |
Description (last modified by perost)
OMEdit crashes when a record parameter is set in a function (see code below), it looks very similar to bug #3082.
model TestRecord function setRecordFunction output Real[3] y; protected Rec[3] x; algorithm for i in 1:3 loop x[i].r := i; y[i] := x[i].r; end for; end setRecordFunction; record Rec Real r; end Rec; model CallRecordFunction Real[3] y; //Real[4] y2; equation y = setRecordFunction(); //y2 = setRecordFunction2(4); end CallRecordFunction; function setRecordFunction2 input Integer N; output Real[N] y; protected Rec[N] x; algorithm for i in 1:N loop x[i].r := i; y[i] := x[i].r; end for; end setRecordFunction2; end TestRecord;
Change History (5)
comment:1 Changed 9 years ago by janK
- Description modified (diff)
comment:2 Changed 9 years ago by perost
- Component changed from Unknown to Run-time
- Description modified (diff)
- Owner changed from somebody to perost
- Status changed from new to accepted
comment:3 Changed 9 years ago by perost
- Resolution set to fixed
- Status changed from accepted to closed
Fixed in r25245.
comment:4 Changed 8 years ago by dietmarw
- Milestone changed from Future to pre1.9.4
It doesn't make sense to keep closed ticket in the "Future" milestone that were simply forgotten to assign to the correct milestone in the past.
comment:5 Changed 6 years ago by sjoelund.se
- Milestone changed from pre1.9.4 to 1.9.4
Removing the pre1.9.4 milestone in favor of 1.9.4.
Seems like the run-time is having some issues with assigning record components like that. A workaround is to rewrite
as
Of course, your example is simplified, so maybe it's not possible for you to get rid of the loop in your actual model.