From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24430 invoked by alias); 3 Jan 2018 23:26:44 -0000 Mailing-List: contact kawa-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: kawa-owner@sourceware.org Received: (qmail 24421 invoked by uid 89); 3 Jan 2018 23:26:44 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=1769, H*Ad:U*kawa X-HELO: mail-io0-f174.google.com Received: from mail-io0-f174.google.com (HELO mail-io0-f174.google.com) (209.85.223.174) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 03 Jan 2018 23:26:41 +0000 Received: by mail-io0-f174.google.com with SMTP id e20so341617iof.12 for ; Wed, 03 Jan 2018 15:26:41 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=rjMBZ7YDEVr+mUM0ieMkF8pXsLZEy1X31haqeqR/PRM=; b=GR1fQmzFeoExhfET4DpjUqVmEsE2UvUFIwIXqD+G7kXK3v63uVKzQlfVQnIiN40x57 sRlN97pnRhTJg+k3xdBuSc1zt3t0JcCi3Q62lWbHj5TuOZGJCEB8QssQNG6xyhUUSIQS DGt5n/xqEftesvt3ZcPm3cxx0JqxHri0FryuoQydML1ywxfEpp9R9HgAesIcNJUbhvi1 lDtHKFgBjZPAi6bdjCrbE8ZTS778dP7xA/FMdoXMY400qMQ2ZSHUq0VnOe52sGzUC3+B 8NsairRYz4QoilbdS+8Kfj0WD1rA0cVTWcUPa/TB6aTUk9f0vaO3za/z05oJMRfYG2pQ 4PHA== X-Gm-Message-State: AKGB3mLBICg/bQFUPcta42MRRB0o15dIkyTr7ThLz75WRwDIGC5s+sAM CYdP/NFG+nwMmFi0WRqSEUC673OlciuKIBDyVKKZ9mTl X-Google-Smtp-Source: ACJfBosAEgeE5K4pjF18h9Q5fjDdjt/6A3yv9ToRofokraHqXdk2HyxEllbj2Ycs9r1CmHMB03LMhJyz06FGEA70DCU= X-Received: by 10.107.141.210 with SMTP id p201mr3365139iod.272.1515021999224; Wed, 03 Jan 2018 15:26:39 -0800 (PST) MIME-Version: 1.0 Received: by 10.79.83.129 with HTTP; Wed, 3 Jan 2018 15:25:58 -0800 (PST) From: Duncan Mak Date: Wed, 03 Jan 2018 23:26:00 -0000 Message-ID: Subject: Exceptions during macro-expansion To: kawa mailing list Content-Type: text/plain; charset="UTF-8" X-IsSubscribed: yes X-SW-Source: 2018-q1/txt/msg00001.txt.bz2 Hello, I'm trying to come up with a smaller test case, but in my code that does a bit of macros, I'm hitting these exceptions when running in Kawa 3.0: Does this look like it's a known bug? Thanks! Duncan. /Users/duncan/git/duncanmak/klos/tests/generic-tests.scm:102:2: caught exception in inliner for # - java.lang.NullPointerException gnu.expr.VarValueTracker.checkUninitializedVariables(VarValueTracker.java:184) gnu.expr.InlineCalls.visitReferenceExp(InlineCalls.java:350) gnu.expr.InlineCalls.visitReferenceExp(InlineCalls.java:46) gnu.expr.ReferenceExp.visit(ReferenceExp.java:194) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.QuoteExp.validateApply(QuoteExp.java:184) gnu.expr.ReferenceExp.validateApply(ReferenceExp.java:208) gnu.kawa.functions.CompilationHelpers.validateApplyToArgs(CompilationHelpers.java:87) gnu.expr.InlineCalls.maybeInline(InlineCalls.java:937) gnu.expr.QuoteExp.validateApply(QuoteExp.java:168) gnu.expr.ReferenceExp.validateApply(ReferenceExp.java:208) gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:189) gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:46) gnu.expr.ApplyExp.visit(ApplyExp.java:591) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.visitBeginExp(InlineCalls.java:462) gnu.expr.InlineCalls.visitBeginExp(InlineCalls.java:46) gnu.expr.BeginExp.visit(BeginExp.java:168) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.visitLetExp(InlineCalls.java:658) gnu.expr.InlineCalls.visitLetExp(InlineCalls.java:46) gnu.expr.LetExp.visit(LetExp.java:208) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.visitSetExp(InlineCalls.java:843) gnu.expr.InlineCalls.visitSetExp(InlineCalls.java:46) gnu.expr.SetExp.visit(SetExp.java:434) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.visitBeginExp(InlineCalls.java:462) gnu.expr.InlineCalls.visitBeginExp(InlineCalls.java:46) gnu.expr.BeginExp.visit(BeginExp.java:168) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.visitLetExp(InlineCalls.java:658) gnu.expr.InlineCalls.visitLetExp(InlineCalls.java:46) gnu.expr.LetExp.visit(LetExp.java:208) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.visit(InlineCalls.java:46) gnu.expr.LambdaExp.visitChildrenOnly(LambdaExp.java:1725) gnu.expr.LambdaExp.visitChildren(LambdaExp.java:1714) gnu.expr.InlineCalls.visitScopeExp(InlineCalls.java:562) gnu.expr.InlineCalls.visitLambdaExp(InlineCalls.java:739) gnu.expr.InlineCalls.visitLambdaExp(InlineCalls.java:46) gnu.expr.LambdaExp.visit(LambdaExp.java:1706) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.QuoteExp.validateApply(QuoteExp.java:184) gnu.expr.ReferenceExp.validateApply(ReferenceExp.java:208) gnu.kawa.functions.CompilationHelpers.validateApplyToArgs(CompilationHelpers.java:87) gnu.expr.InlineCalls.maybeInline(InlineCalls.java:937) gnu.expr.QuoteExp.validateApply(QuoteExp.java:168) gnu.expr.ReferenceExp.validateApply(ReferenceExp.java:208) gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:189) gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:46) gnu.expr.ApplyExp.visit(ApplyExp.java:591) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.visitIfExp(InlineCalls.java:437) gnu.expr.InlineCalls.visitIfExp(InlineCalls.java:46) gnu.expr.IfExp.visit(IfExp.java:151) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.visitBeginExp(InlineCalls.java:462) gnu.expr.InlineCalls.visitBeginExp(InlineCalls.java:46) gnu.expr.BeginExp.visit(BeginExp.java:168) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.visitLetExp(InlineCalls.java:658) gnu.expr.InlineCalls.visitLetExp(InlineCalls.java:46) gnu.expr.LetExp.visit(LetExp.java:208) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.visit(InlineCalls.java:46) gnu.expr.ExpVisitor.visitAndUpdate(ExpVisitor.java:139) gnu.expr.ApplyExp.visitArgs(ApplyExp.java:624) gnu.expr.ApplyExp.visitArgs(ApplyExp.java:595) gnu.kawa.functions.CompileMisc.validateApplyAppendValues(CompileMisc.java:129) gnu.expr.InlineCalls.maybeInline(InlineCalls.java:937) gnu.expr.QuoteExp.validateApply(QuoteExp.java:168) gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:189) gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:46) gnu.expr.ApplyExp.visit(ApplyExp.java:591) gnu.expr.ExpVisitor.visit(ExpVisitor.java:56) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.visit(InlineCalls.java:46) gnu.expr.LambdaExp.visitChildrenOnly(LambdaExp.java:1725) gnu.expr.LambdaExp.visitChildren(LambdaExp.java:1714) gnu.expr.InlineCalls.visitScopeExp(InlineCalls.java:562) gnu.expr.InlineCalls.visitLambdaExp(InlineCalls.java:739) gnu.expr.InlineCalls.visitLambdaExp(InlineCalls.java:46) gnu.expr.ExpVisitor.visitModuleExp(ExpVisitor.java:101) gnu.expr.InlineCalls.visitModuleExp(InlineCalls.java:603) gnu.expr.InlineCalls.visitModuleExp(InlineCalls.java:46) gnu.expr.ModuleExp.visit(ModuleExp.java:438) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.inlineCalls(InlineCalls.java:56) gnu.expr.Compilation.process(Compilation.java:1769) gnu.expr.ModuleInfo.loadByStages(ModuleInfo.java:310) gnu.expr.ModuleInfo.loadByStages(ModuleInfo.java:304) gnu.expr.ModuleExp.evalModule1(ModuleExp.java:231) kawa.Shell.compileSource(Shell.java:587) kawa.Shell.runFile(Shell.java:555) kawa.Shell.runFileOrClass(Shell.java:468) kawa.repl.processArgs(repl.java:700) kawa.repl.main(repl.java:820) /Users/duncan/git/duncanmak/klos/tests/generic-tests.scm:102:2: caught exception in inliner for # - java.lang.ArrayIndexOutOfBoundsException: 3 gnu.expr.QuoteExp.validateApply(QuoteExp.java:184) gnu.expr.ReferenceExp.validateApply(ReferenceExp.java:208) gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:189) gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:46) gnu.expr.ApplyExp.visit(ApplyExp.java:591) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.visitBeginExp(InlineCalls.java:462) gnu.expr.InlineCalls.visitBeginExp(InlineCalls.java:46) gnu.expr.BeginExp.visit(BeginExp.java:168) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.visitLetExp(InlineCalls.java:658) gnu.expr.InlineCalls.visitLetExp(InlineCalls.java:46) gnu.expr.LetExp.visit(LetExp.java:208) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.visitSetExp(InlineCalls.java:843) gnu.expr.InlineCalls.visitSetExp(InlineCalls.java:46) gnu.expr.SetExp.visit(SetExp.java:434) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.visitBeginExp(InlineCalls.java:462) gnu.expr.InlineCalls.visitBeginExp(InlineCalls.java:46) gnu.expr.BeginExp.visit(BeginExp.java:168) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.visitLetExp(InlineCalls.java:658) gnu.expr.InlineCalls.visitLetExp(InlineCalls.java:46) gnu.expr.LetExp.visit(LetExp.java:208) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.visit(InlineCalls.java:46) gnu.expr.LambdaExp.visitChildrenOnly(LambdaExp.java:1725) gnu.expr.LambdaExp.visitChildren(LambdaExp.java:1714) gnu.expr.InlineCalls.visitScopeExp(InlineCalls.java:562) gnu.expr.InlineCalls.visitLambdaExp(InlineCalls.java:739) gnu.expr.InlineCalls.visitLambdaExp(InlineCalls.java:46) gnu.expr.LambdaExp.visit(LambdaExp.java:1706) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.QuoteExp.validateApply(QuoteExp.java:184) gnu.expr.ReferenceExp.validateApply(ReferenceExp.java:208) gnu.kawa.functions.CompilationHelpers.validateApplyToArgs(CompilationHelpers.java:87) gnu.expr.InlineCalls.maybeInline(InlineCalls.java:937) gnu.expr.QuoteExp.validateApply(QuoteExp.java:168) gnu.expr.ReferenceExp.validateApply(ReferenceExp.java:208) gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:189) gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:46) gnu.expr.ApplyExp.visit(ApplyExp.java:591) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.visitIfExp(InlineCalls.java:437) gnu.expr.InlineCalls.visitIfExp(InlineCalls.java:46) gnu.expr.IfExp.visit(IfExp.java:151) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.visitBeginExp(InlineCalls.java:462) gnu.expr.InlineCalls.visitBeginExp(InlineCalls.java:46) gnu.expr.BeginExp.visit(BeginExp.java:168) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.visitLetExp(InlineCalls.java:658) gnu.expr.InlineCalls.visitLetExp(InlineCalls.java:46) gnu.expr.LetExp.visit(LetExp.java:208) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.visit(InlineCalls.java:46) gnu.expr.ExpVisitor.visitAndUpdate(ExpVisitor.java:139) gnu.expr.ApplyExp.visitArgs(ApplyExp.java:624) gnu.expr.ApplyExp.visitArgs(ApplyExp.java:595) gnu.kawa.functions.CompileMisc.validateApplyAppendValues(CompileMisc.java:129) gnu.expr.InlineCalls.maybeInline(InlineCalls.java:937) gnu.expr.QuoteExp.validateApply(QuoteExp.java:168) gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:189) gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:46) gnu.expr.ApplyExp.visit(ApplyExp.java:591) gnu.expr.ExpVisitor.visit(ExpVisitor.java:56) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.visit(InlineCalls.java:46) gnu.expr.LambdaExp.visitChildrenOnly(LambdaExp.java:1725) gnu.expr.LambdaExp.visitChildren(LambdaExp.java:1714) gnu.expr.InlineCalls.visitScopeExp(InlineCalls.java:562) gnu.expr.InlineCalls.visitLambdaExp(InlineCalls.java:739) gnu.expr.InlineCalls.visitLambdaExp(InlineCalls.java:46) gnu.expr.ExpVisitor.visitModuleExp(ExpVisitor.java:101) gnu.expr.InlineCalls.visitModuleExp(InlineCalls.java:603) gnu.expr.InlineCalls.visitModuleExp(InlineCalls.java:46) gnu.expr.ModuleExp.visit(ModuleExp.java:438) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.inlineCalls(InlineCalls.java:56) gnu.expr.Compilation.process(Compilation.java:1769) gnu.expr.ModuleInfo.loadByStages(ModuleInfo.java:310) gnu.expr.ModuleInfo.loadByStages(ModuleInfo.java:304) gnu.expr.ModuleExp.evalModule1(ModuleExp.java:231) kawa.Shell.compileSource(Shell.java:587) kawa.Shell.runFile(Shell.java:555) kawa.Shell.runFileOrClass(Shell.java:468) kawa.repl.processArgs(repl.java:700) kawa.repl.main(repl.java:820) /Users/duncan/git/duncanmak/klos/tests/generic-tests.scm:102:2: caught exception in inliner for # - java.lang.ArrayIndexOutOfBoundsException: 3 gnu.expr.QuoteExp.validateApply(QuoteExp.java:184) gnu.expr.ReferenceExp.validateApply(ReferenceExp.java:208) gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:189) gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:46) gnu.expr.ApplyExp.visit(ApplyExp.java:591) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.visitIfExp(InlineCalls.java:437) gnu.expr.InlineCalls.visitIfExp(InlineCalls.java:46) gnu.expr.IfExp.visit(IfExp.java:151) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.visitBeginExp(InlineCalls.java:462) gnu.expr.InlineCalls.visitBeginExp(InlineCalls.java:46) gnu.expr.BeginExp.visit(BeginExp.java:168) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.visitLetExp(InlineCalls.java:658) gnu.expr.InlineCalls.visitLetExp(InlineCalls.java:46) gnu.expr.LetExp.visit(LetExp.java:208) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.visit(InlineCalls.java:46) gnu.expr.ExpVisitor.visitAndUpdate(ExpVisitor.java:139) gnu.expr.ApplyExp.visitArgs(ApplyExp.java:624) gnu.expr.ApplyExp.visitArgs(ApplyExp.java:595) gnu.kawa.functions.CompileMisc.validateApplyAppendValues(CompileMisc.java:129) gnu.expr.InlineCalls.maybeInline(InlineCalls.java:937) gnu.expr.QuoteExp.validateApply(QuoteExp.java:168) gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:189) gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:46) gnu.expr.ApplyExp.visit(ApplyExp.java:591) gnu.expr.ExpVisitor.visit(ExpVisitor.java:56) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.visit(InlineCalls.java:46) gnu.expr.LambdaExp.visitChildrenOnly(LambdaExp.java:1725) gnu.expr.LambdaExp.visitChildren(LambdaExp.java:1714) gnu.expr.InlineCalls.visitScopeExp(InlineCalls.java:562) gnu.expr.InlineCalls.visitLambdaExp(InlineCalls.java:739) gnu.expr.InlineCalls.visitLambdaExp(InlineCalls.java:46) gnu.expr.ExpVisitor.visitModuleExp(ExpVisitor.java:101) gnu.expr.InlineCalls.visitModuleExp(InlineCalls.java:603) gnu.expr.InlineCalls.visitModuleExp(InlineCalls.java:46) gnu.expr.ModuleExp.visit(ModuleExp.java:438) gnu.expr.ExpVisitor.visit(ExpVisitor.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:72) gnu.expr.InlineCalls.inlineCalls(InlineCalls.java:56) gnu.expr.Compilation.process(Compilation.java:1769) gnu.expr.ModuleInfo.loadByStages(ModuleInfo.java:310) gnu.expr.ModuleInfo.loadByStages(ModuleInfo.java:304) gnu.expr.ModuleExp.evalModule1(ModuleExp.java:231) kawa.Shell.compileSource(Shell.java:587) kawa.Shell.runFile(Shell.java:555) kawa.Shell.runFileOrClass(Shell.java:468) kawa.repl.processArgs(repl.java:700) kawa.repl.main(repl.java:820) /Users/duncan/git/duncanmak/klos/tests/generic-tests.scm:116:2: warning - unreachable procedure call /Users/duncan/git/duncanmak/klos/tests/generic-tests.scm:116:29: note - this operand never finishes -- Duncan.