You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@systemml.apache.org by "Matthias Boehm (JIRA)" <ji...@apache.org> on 2018/02/09 06:09:03 UTC

[jira] [Closed] (SYSTEMML-2139) Codegen fails on comiling ifelse with scalar predicate

     [ https://issues.apache.org/jira/browse/SYSTEMML-2139?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matthias Boehm closed SYSTEMML-2139.
------------------------------------
       Resolution: Fixed
         Assignee: Matthias Boehm
    Fix Version/s: SystemML 1.1

> Codegen fails on comiling ifelse with scalar predicate
> ------------------------------------------------------
>
>                 Key: SYSTEMML-2139
>                 URL: https://issues.apache.org/jira/browse/SYSTEMML-2139
>             Project: SystemML
>          Issue Type: Bug
>            Reporter: Matthias Boehm
>            Assignee: Matthias Boehm
>            Priority: Major
>             Fix For: SystemML 1.1
>
>
> {code}
> public final class TMP3 extends SpoofMultiAggregate { 
>   public TMP3() {
>     super(false, AggOp.SUM,AggOp.SUM);
>   }
>   protected void genexec(double a, SideInput[] b, double[] scalars, double[] c, int m, int n, int rix, int cix) { 
>     double TMP0 = getValue(b[0], n, rix, cix);
>     double TMP1 = (true != 0) ? a : TMP0;
>     double TMP2 = (false != 0) ? a : TMP0;
>     c[0] += TMP1;
>     c[1] += TMP2;
>   }
> }
> {code}
> {code}
> Caused by: org.apache.sysml.runtime.DMLRuntimeException: Failed to compile class codegen.TMP3.
> 	at org.apache.sysml.runtime.codegen.CodegenUtils.compileClassJanino(CodegenUtils.java:197)
> 	at org.apache.sysml.runtime.codegen.CodegenUtils.compileClass(CodegenUtils.java:82)
> 	at org.apache.sysml.hops.codegen.SpoofCompiler.optimize(SpoofCompiler.java:416)
> 	... 38 more
> Caused by: org.codehaus.commons.compiler.CompileException: Line 15, Column 27: Cannot compare types "boolean" and "int"
> 	at org.codehaus.janino.UnitCompiler.compileError(UnitCompiler.java:11004)
> 	at org.codehaus.janino.UnitCompiler.compileBoolean2(UnitCompiler.java:3612)
> 	at org.codehaus.janino.UnitCompiler.access$5600(UnitCompiler.java:206)
> 	at org.codehaus.janino.UnitCompiler$10.visitBinaryOperation(UnitCompiler.java:3330)
> 	at org.codehaus.janino.UnitCompiler$10.visitBinaryOperation(UnitCompiler.java:3324)
> 	at org.codehaus.janino.Java$BinaryOperation.accept(Java.java:4155)
> 	at org.codehaus.janino.UnitCompiler.compileBoolean(UnitCompiler.java:3324)
> 	at org.codehaus.janino.UnitCompiler.compileBoolean2(UnitCompiler.java:3624)
> 	at org.codehaus.janino.UnitCompiler.access$5700(UnitCompiler.java:206)
> 	at org.codehaus.janino.UnitCompiler$10.visitParenthesizedExpression(UnitCompiler.java:3359)
> 	at org.codehaus.janino.UnitCompiler$10.visitParenthesizedExpression(UnitCompiler.java:3324)
> 	at org.codehaus.janino.Java$ParenthesizedExpression.accept(Java.java:4205)
> 	at org.codehaus.janino.Java$Lvalue.accept(Java.java:3563)
> 	at org.codehaus.janino.UnitCompiler.compileBoolean(UnitCompiler.java:3324)
> 	at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:4073)
> 	at org.codehaus.janino.UnitCompiler.access$7200(UnitCompiler.java:206)
> 	at org.codehaus.janino.UnitCompiler$12.visitConditionalExpression(UnitCompiler.java:3771)
> 	at org.codehaus.janino.UnitCompiler$12.visitConditionalExpression(UnitCompiler.java:3762)
> 	at org.codehaus.janino.Java$ConditionalExpression.accept(Java.java:3877)
> 	at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:3762)
> 	at org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:4933)
> 	at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:2330)
> 	at org.codehaus.janino.UnitCompiler.access$2600(UnitCompiler.java:206)
> 	at org.codehaus.janino.UnitCompiler$6.visitLocalVariableDeclarationStatement(UnitCompiler.java:1386)
> 	at org.codehaus.janino.UnitCompiler$6.visitLocalVariableDeclarationStatement(UnitCompiler.java:1370)
> 	at org.codehaus.janino.Java$LocalVariableDeclarationStatement.accept(Java.java:2974)
> 	at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:1370)
> 	at org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:1450)
> 	at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:2811)
> 	at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:1262)
> 	at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:1234)
> 	at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:538)
> 	at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:420)
> 	at org.codehaus.janino.UnitCompiler.access$400(UnitCompiler.java:206)
> 	at org.codehaus.janino.UnitCompiler$2.visitPackageMemberClassDeclaration(UnitCompiler.java:374)
> 	at org.codehaus.janino.UnitCompiler$2.visitPackageMemberClassDeclaration(UnitCompiler.java:369)
> 	at org.codehaus.janino.Java$AbstractPackageMemberClassDeclaration.accept(Java.java:1309)
> 	at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:369)
> 	at org.codehaus.janino.UnitCompiler.compileUnit(UnitCompiler.java:345)
> 	at org.codehaus.janino.SimpleCompiler.compileToClassLoader(SimpleCompiler.java:396)
> 	at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:205)
> 	at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:196)
> 	at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:91)
> 	at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:84)
> 	at org.apache.sysml.runtime.codegen.CodegenUtils.compileClassJanino(CodegenUtils.java:186)
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)