Skip to content
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

Better runtime error message reporting #8

Open
psybers opened this issue May 9, 2017 · 0 comments
Open

Better runtime error message reporting #8

psybers opened this issue May 9, 2017 · 0 comments

Comments

@psybers
Copy link
Member

psybers commented May 9, 2017

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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant