Opened 14 years ago
Closed 5 years ago
#1556 closed defect (fixed)
Recursive external object causes stack overflow
| Reported by: | Per Östlund | Owned by: | Per Östlund |
|---|---|---|---|
| Priority: | high | Milestone: | Future |
| Component: | Instantiation | Version: | trunk |
| Keywords: | Cc: | Per Östlund |
Description
The following model causes a stack overflow, but should give an error message:
model Ext1
class ExtO
extends ExternalObject;
function constructor "Strlen"
annotation(Include = "#include <string.h>");
input String idName;
output ExtO eo;
external "C" eo = strlen(idName);
end constructor;
function destructor "Printout"
annotation(Include = "#include <stdio.h>");
input ExtO id;
external "C" printf("strlen was: %d\n", ExtO); // <-- Should be id and not Ext0!
end destructor;
end ExtO;
ExtO ext = ExtO("name");
end Ext1;
Change History (11)
comment:1 by , 13 years ago
| Cc: | perost, → perost |
|---|---|
| Milestone: | → 1.9.0 |
comment:2 by , 12 years ago
| Milestone: | 1.9.0 → 1.9.1 |
|---|
comment:3 by , 11 years ago
| Milestone: | 1.9.1 → 1.9.2 |
|---|
This ticket was not closed for 1.9.1, which has now been released. It was batch modified for milestone 1.9.2 (but maybe an empty milestone was more appropriate; feel free to change it).
comment:4 by , 11 years ago
| Milestone: | 1.9.2 → 1.9.3 |
|---|
Milestone changed to 1.9.3 since 1.9.2 was released.
comment:9 by , 9 years ago
| Milestone: | 1.11.0 → 1.12.0 |
|---|
Milestone moved to 1.12.0 due to 1.11.0 already being released.
comment:10 by , 8 years ago
| Milestone: | 1.12.0 → Future |
|---|
The milestone of this ticket has been reassigned to "Future".
If you think the issue is still valid and relevant for you, please select milestone 1.13.0 for back-end, code generation and run-time issues, or 2.0.0 for front-end issues.
If you are aware that the problem is no longer present, please select the milestone corresponding to the version of OMC you used to check that, and set the status to "worksforme".
In both cases, a short informative comment would be welcome.
comment:11 by , 5 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
Fixed by using the new frontend since it does not allow a class name to be used as a function argument.

Postponed until 1.9.1