Uploaded image for project: 'SystemDS'
  1. SystemDS
  2. SYSTEMDS-1147

Improved Error Reporting

    XMLWordPrintableJSON

Details

    • Epic
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • Compiler, Documentation
    • None
    • Improved Error Reporting

    Description

      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:

      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
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            fschueler Felix Schueler
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: