[ https://issues.apache.org/jira/browse/SYSTEMML-1147?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16786294#comment-16786294 ]
Janardhan commented on SYSTEMML-1147: ------------------------------------- This issue is something that {{DML}} developers who are not familiar with \{{java}} encounter, which gives a little idea as to where they were wrong. Essentially this only gives CP instruction, which is quite difficult to digest. > Improved 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 > Priority: Major > > 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 (v7.6.3#76005)