-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
-act,fault #50 remove fault handling code and test #51
Conversation
case .stop: fatalError("Illegal attempt to interpret message with .stop behavior! Actor should not be acting anymore. Behavior should have been canonicalized. This is a bug, please open a ticket.", file: file, line: line) | ||
case .failed: fatalError("Illegal attempt to interpret message with .failed behavior! Actor should not be acting anymore. Behavior should have been canonicalized. This is a bug, please open a ticket.", file: file, line: line) | ||
case .stop: | ||
return .unhandled |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This actually seems to happen when we're shutting down the system...
We need to check this independently, but semantics wise it is correct to say unhandled here I think 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It shouldn't really happen though, right? I'm curious what causes this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, it shouldn't; Shutting down may be a bit weird but it still should not happen; I'll make a ticket
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few comments. Overall glad we are getting rid of this.
case .stop: fatalError("Illegal attempt to interpret message with .stop behavior! Actor should not be acting anymore. Behavior should have been canonicalized. This is a bug, please open a ticket.", file: file, line: line) | ||
case .failed: fatalError("Illegal attempt to interpret message with .failed behavior! Actor should not be acting anymore. Behavior should have been canonicalized. This is a bug, please open a ticket.", file: file, line: line) | ||
case .stop: | ||
return .unhandled |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It shouldn't really happen though, right? I'm curious what causes this.
Ok, this now aggresively removes all fault handling code as well as any tests. |
* -act,fault #50 remove fault handling code and test * Remove all Fault handling code * disable some tests that rely on fault handling * -act,supervision COMPLETELY remove fault supervision code from mailbox * More mailbox removals due to lack of fault handling
Disable and remove fault handling code.
Resolves #50
Motivation:
We are not sure about shipping the "leaking but surviving" mode, and hope to replace it some day with something serious.
In the meantime
ProcessIsolated
shall be the way to handle faults. Heavy but more correct and not leaking memory.We hope to some day get proper support for unwinding in Swift which would enable us to implement this properly, and safely.
Modifications:
Result:
The replacement for this mode is the heavy but correct
ProcessIsolated
mode until we get something better.