-
Notifications
You must be signed in to change notification settings - Fork 0
Description
If your Boa program causes a runtime error (such as a NullPointerException) these are swallowed by the runtime and they will not see any error messages. They will have no output, and the job will be marked as finished executing.
We need a way to provide error logs to the user.
One difficulty with this is that if we run say 100 maps, each map probably has the same error messages - possibly more than once per map. We need to filter.
Another difficulty is that any runtime errors map to the Hadoop/Java code and won't map back to the original Boa code, and hence be difficult to debug for users.
Specification for JSR 45 - defines the SMAP format which may be useful.
SMAP defines a mapping for source files compiled into Java. Using this we can compile mappings of Boa -> Java and then use those mappings to trace stacks back to the original Boa location(s).
With the latest push, the errors are not swallowed anymore and are at least shown (as Java exceptions) to the user.
We still need to provide better messages (instead of showing the Java exception name+message) and also provide a mapping from original Boa source to the exception, so the stack traces have the source location (which we can use to mark the source code with the error message in the web interface).