Opened 4 years ago

Closed 3 years ago

#165 closed defect (fixed)

Exceptions in the Exceptions File

Reported by: ajbeach Owned by:
Priority: major Component: cfa-cc
Version: 1.0 Keywords:


I have found one case where the exception system can't handle exceptions. In this case if the resumpution exception function is unwound (because of a termination exception) it will not clean-up the state of the EHM properly because it doesn't run any clean-up code then.

There may be other cases where unwinding across functions in exception.c causes problems. This could be fixed by moving that section to Cforall or by compiling that file with -fexceptions, which may interfere with the assembly we are creating.

See exceptions/interact for a disabled test showed this, expected output is:

throwing resume moon
resumption moon catch, will terminate
termination catch
throwing resume star
resumption star catch

Change History (1)

comment:1 Changed 3 years ago by ajbeach

Resolution: fixed
Status: newclosed

Fixed in commit f1b667186cc9c53fcf26d8e55e9d328e504edc58. Also it has been a while and nothing has gone wrong so it should almost certainly be fine.

Note: See TracTickets for help on using tickets.