Felix Schüler created SYSTEMML-1147:
---------------------------------------
Summary: Improvements for error reporting
Key: SYSTEMML-1147
URL: https://issues.apache.org/jira/browse/SYSTEMML-1147
Project: SystemML
Issue Type: Epic
Components: Compiler, Documentation
Reporter: Felix Schüler
Error reporting is in many cases not very user friendly.
For example, wrong indexing in a user-defined function leads to long
stack-traces that only contain information about the instructions and finally
end with an IndexOutOfBoundsException.
In general, the reported instructions are not very helpful because they also
only contain renamed variables (e.g. _Var42) that don't correspond to anything
in the DML script.
This epic is to track error messages that could use some improvements.
Here is an Example of a case that is not very helpful:
{code}
Exception in thread "main" org.apache.sysml.api.mlcontext.MLContextException:
Exception when executing script
at org.apache.sysml.api.mlcontext.MLContext.execute(MLContext.java:301)
at org.apache.sysml.api.mlcontext.MLContext.execute(MLContext.java:270)
at org.apache.sysml.examples.TSNE$$anon$1.run(TSNE.scala:8)
at org.apache.sysml.examples.TSNE$$anon$1.run(TSNE.scala)
at
org.apache.sysml.examples.TSNE$.delayedEndpoint$org$apache$sysml$examples$TSNE$1(TSNE.scala:119)
at org.apache.sysml.examples.TSNE$delayedInit$body.apply(TSNE.scala:6)
at scala.Function0$class.apply$mcV$sp(Function0.scala:34)
at
scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
at scala.App$$anonfun$main$1.apply(App.scala:76)
at scala.App$$anonfun$main$1.apply(App.scala:76)
at scala.collection.immutable.List.foreach(List.scala:381)
at
scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:35)
at scala.App$class.main(App.scala:76)
at org.apache.sysml.examples.TSNE$.main(TSNE.scala:6)
at org.apache.sysml.examples.TSNE.main(TSNE.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Caused by: org.apache.sysml.api.mlcontext.MLContextException: Exception
occurred while executing runtime program
at
org.apache.sysml.api.mlcontext.ScriptExecutor.executeRuntimeProgram(ScriptExecutor.java:378)
at
org.apache.sysml.api.mlcontext.ScriptExecutor.execute(ScriptExecutor.java:321)
at org.apache.sysml.api.mlcontext.MLContext.execute(MLContext.java:293)
... 19 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException:
org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error in program
block generated from statement block between lines 62 and 62 -- Error
evaluating instruction:
CP°extfunct°.defaultNS°x2p°2°1°X·MATRIX·DOUBLE°30·SCALAR·INT·true°inter
at
org.apache.sysml.runtime.controlprogram.Program.execute(Program.java:130)
at
org.apache.sysml.api.mlcontext.ScriptExecutor.executeRuntimeProgram(ScriptExecutor.java:376)
... 21 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error
in program block generated from statement block between lines 62 and 62 --
Error evaluating instruction:
CP°extfunct°.defaultNS°x2p°2°1°X·MATRIX·DOUBLE°30·SCALAR·INT·true°inter
at
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:320)
at
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeInstructions(ProgramBlock.java:221)
at
org.apache.sysml.runtime.controlprogram.ProgramBlock.execute(ProgramBlock.java:168)
at
org.apache.sysml.runtime.controlprogram.Program.execute(Program.java:123)
... 22 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: error executing
function .defaultNS::x2p
at
org.apache.sysml.runtime.instructions.cp.FunctionCallCPInstruction.processInstruction(FunctionCallCPInstruction.java:177)
at
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:290)
... 25 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error
in function program block generated from function statement block between lines
6 and 53 -- Error evaluating function program block
at
org.apache.sysml.runtime.controlprogram.FunctionProgramBlock.execute(FunctionProgramBlock.java:121)
at
org.apache.sysml.runtime.instructions.cp.FunctionCallCPInstruction.processInstruction(FunctionCallCPInstruction.java:170)
... 26 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error
in for program block generated from for statement block between lines 14 and 50
-- Error evaluating for program block
at
org.apache.sysml.runtime.controlprogram.ForProgramBlock.execute(ForProgramBlock.java:162)
at
org.apache.sysml.runtime.controlprogram.FunctionProgramBlock.execute(FunctionProgramBlock.java:114)
... 27 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error
in while program block generated from while statement block between lines 22
and 48 -- Error evaluating while program block
at
org.apache.sysml.runtime.controlprogram.WhileProgramBlock.execute(WhileProgramBlock.java:181)
at
org.apache.sysml.runtime.controlprogram.ForProgramBlock.execute(ForProgramBlock.java:150)
... 28 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error
in program block generated from statement block between lines 23 and 29 --
Error evaluating instruction:
CP°leftIndex°_mVar283·MATRIX·DOUBLE°0.0·SCALAR·DOUBLE·true°_Var279·SCALAR·INT·false°_Var279·SCALAR·INT·false°1·SCALAR·INT·true°1·SCALAR·INT·true°_mVar284·MATRIX·DOUBLE
at
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:320)
at
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeInstructions(ProgramBlock.java:221)
at
org.apache.sysml.runtime.controlprogram.ProgramBlock.execute(ProgramBlock.java:168)
at
org.apache.sysml.runtime.controlprogram.WhileProgramBlock.execute(WhileProgramBlock.java:169)
... 29 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: 100
at
org.apache.sysml.runtime.matrix.data.MatrixBlock.quickSetValue(MatrixBlock.java:609)
at
org.apache.sysml.runtime.matrix.data.MatrixBlock.leftIndexingOperations(MatrixBlock.java:3714)
at
org.apache.sysml.runtime.instructions.cp.MatrixIndexingCPInstruction.processInstruction(MatrixIndexingCPInstruction.java:103)
at
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:290)
... 32 more
{/code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)