Improve handling of Compiler crashes to help people report and debug #1213
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This ensures that in more situations, if the compiler crashes it will point to the problem line in the .ump file. This should help debugging.
Also rather than crashing the compiler, a Java error in the compiler will generate an error message (9000 for parsing, including stack overflow errors, 9100 for analysis, and 9200 for generation). These will all contain the stack trace. The effect of this is that the UmpleOnline server won't crash (speeding performance), and the end-user of UmpleOnline or Eclipse or the command line tool will see useful information such that they can report an issue.
This could set the stage too for auto-reporting of issues.
Note that compiler crashing is now pretty rare in production, but can still happen to developers of Umple itself.