editor_analyze produces internal error.

Context: nightly build (Saturday July 20, 2013), default Spoofax project, extension of the project with a bit of syntax:


templates

Definition.Rules = <
rules
<Rule*; separator=“\n”>
>

Rule.Rule = [
[ID] :
[Term] -> [Term]
]

The failure ocurs in this example module:


module example2

rules

plus :
Plus(Int(i), Int(j)) -> Int(ipj)

The error disappears when the rule is commented out. There are no name binding rules other than the default ones for entities.

This is the exception:


ds: rewriting failed, trace:
editor_analyze_0_0
analysis_single_default_interface_0_0
analysis_single_default_3_1
analyze_one_0_3
analyze_collect_0_2
measure_time_2_0
a_30422
measure_time_2_1
measure_time_2_0
a_30422
nabl_collect_0_2
nabl_collect_1_4
preserve_annos_1_0
force_origins_1_0
t_30420
nabl_siblings_0_4
nabl_siblings_0_4
nabl_collect_1_4
preserve_annos_1_0
force_origins_1_0
t_30420
nabl_siblings_0_4
nabl_collect_1_4
preserve_annos_1_0
force_origins_1_0
t_30420
nabl_siblings_0_4
nabl_collect_1_4
preserve_annos_1_0
force_origins_1_0
t_30420
nabl_siblings_0_4
nabl_collect_1_4
preserve_annos_1_0
force_origins_1_0
t_30420
nabl_siblings_0_4
nabl_siblings_0_4
nabl_collect_1_4
preserve_annos_1_0
force_origins_1_0
t_30420
nabl_siblings_0_4
[ ds | critical ] Internal error: with clause failed unexpectedly in rule ‘analyze-collect’
File(“/Users/eelcovisser/Documents/workspace/dynsem/test/example2.ds”,Module(“example2”,[Rules([Rule(“plus”,Cons(“Plus”,[Cons(“Int”,[Var(“i”)]),Cons(“Int”,[Var(“j”)])]),Cons(“Int”,[Var(“ipj”)]))])]))

Submitted by Eelco Visser on 20 July 2013 at 22:09

On 22 July 2013 at 18:59 Gabriël Konat commented:

I’m not getting this error, but the Term sort is undefined. Can you post the rest of the syntax definition? Also can you post any relevant messages in the error log, and the build number of Spoofax? You can find the build number in About Eclipse -> Installation Details.


On 23 July 2013 at 19:26 Eelco Visser commented:

@gohla: I added the project to bitbucket (eelcovisser/dynsem); can you have a look?

Spoofax/IMP 1.1.0.0-s40643 org.strategoxt.imp.feature.group null

error log:


Message:
Internal error evaluating strategy editor-analyze
report_with_failure_0_2
analyze_collect_0_2
analyze_one_0_3
analysis_single_default_3_1
analysis_single_default_interface_0_0
editor_analyze_0_0

Stack Trace:

org.spoofax.interpreter.core.InterpreterException: Exception during evaluation
at org.spoofax.interpreter.core.Interpreter.evaluate(Interpreter.java:117)
at org.spoofax.interpreter.core.Interpreter.invoke(Interpreter.java:82)
at org.strategoxt.HybridInterpreter.invoke(HybridInterpreter.java:424)
at org.strategoxt.imp.debug.core.str.launching.DebuggableHybridInterpreter.invoke(DebuggableHybridInterpreter.java:150)
at org.strategoxt.imp.runtime.services.StrategoObserver.invoke(StrategoObserver.java:704)
at org.strategoxt.imp.runtime.services.StrategoObserver.invokeSilent(StrategoObserver.java:753)
at org.strategoxt.imp.runtime.services.StrategoObserver.update(StrategoObserver.java:498)
at org.strategoxt.imp.runtime.services.StrategoObserverUpdateJob.analyze(StrategoObserverUpdateJob.java:30)
at org.strategoxt.imp.runtime.services.StrategoAnalysisQueue$UpdateJob.run(StrategoAnalysisQueue.java:83)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
Caused by: org.spoofax.interpreter.core.InterpreterErrorExit: Internal error: with clause failed unexpectedly in rule ‘analyze-collect’
1
at org.strategoxt.lang.InteropSDefT.evaluate(InteropSDefT.java:194)
at org.strategoxt.lang.InteropSDefT.evaluate(InteropSDefT.java:183)
at org.strategoxt.lang.InteropSDefT$StrategyBody.evaluate(InteropSDefT.java:245)
at org.strategoxt.lang.InteropSDefT$StrategyBody.eval(InteropSDefT.java:238)
at org.spoofax.interpreter.stratego.Strategy.evaluate(Strategy.java:76)
at org.spoofax.interpreter.core.Interpreter.evaluate(Interpreter.java:109)
… 9 more
Caused by: org.strategoxt.lang.StrategoErrorExit: Internal error: with clause failed unexpectedly in rule ‘analyze-collect’
1
at org.strategoxt.lang.compat.report_failure_compat_1_0.invoke(report_failure_compat_1_0.java:53)
at org.strategoxt.stratego_lib.report_with_failure_0_2.invoke(report_with_failure_0_2.java)
at org.strategoxt.lang.Strategy.invokeDynamic(Strategy.java:32)
at org.strategoxt.lang.InteropSDefT.evaluate(InteropSDefT.java:192)
… 14 more

Session Data:

eclipse.buildId=4.3.0.I20130605-2000
java.version=1.6.0_51
java.vendor=Apple Inc.
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
Framework arguments: -product org.eclipse.epp.package.standard.product -keyring /Users/eelcovisser/.eclipse_keyring -showlocation
Command-line arguments: -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.standard.product -keyring /Users/eelcovisser/.eclipse_keyring -showlocation


On 23 July 2013 at 19:33 Gabriël Konat commented:

Ah, we had this issue before. The problem is that one of you constructors is named Cons which conflicts with the list cons somehow.


On 24 July 2013 at 13:08 Eelco Visser commented:

Ok. That solves that problem. I have registered an issue, since this is not an acceptable way for this error to manifest itself:

https://yellowgrass.org/issue/Spoofax/698

But that gives rise to the next problem

https://yellowgrass.org/issue/NaBL/67


On 24 July 2013 at 13:08 Eelco Visser closed this issue.

Log in to post comments