I sometimes get a stacktrace that seems to originate with NaBL2:

11:01 | INFO  | stderr                         - [ identity crisis | warning ] Constraint generator traverses over non-AST node CVar("trans/control-flow.flo","rules-1")
11:01 | INFO  | stderr                         -           "Constraint generator traverses over non-AST node CVar(\"trans/control-flow.flo\",\"rules-1\")"
11:01 | INFO  | stderr                         - [ identity crisis | warning ] Constraint generator traverses over non-AST node CVar("trans/control-flow.flo","rules-1")
11:01 | INFO  | stderr                         -           "Constraint generator traverses over non-AST node CVar(\"trans/control-flow.flo\",\"rules-1\")"
11:01 | WARN  | .c.s.AbstractScopeGraphContext - Store context eclipse:///whilelang.lang/target/analysis/org.metaborg_meta.flowspec.lang_0.1.0-SNAPSHOT/scopegraph failed.
java.io.IOException: Context file could not be written.
	at org.metaborg.spoofax.core.context.scopegraph.AbstractScopeGraphContext.writeContext(AbstractScopeGraphContext.java:211) [org.metaborg.spoofax.core_2.2.0.20170410-113731-master.jar:na]
	at org.metaborg.spoofax.core.context.scopegraph.AbstractScopeGraphContext.persistState(AbstractScopeGraphContext.java:198) [org.metaborg.spoofax.core_2.2.0.20170410-113731-master.jar:na]
	at org.metaborg.spoofax.core.context.scopegraph.AbstractScopeGraphContext.persist(AbstractScopeGraphContext.java:109) [org.metaborg.spoofax.core_2.2.0.20170410-113731-master.jar:na]
	at org.metaborg.spoofax.core.context.scopegraph.MultiFileScopeGraphContext.persist(MultiFileScopeGraphContext.java:1) [org.metaborg.spoofax.core_2.2.0.20170410-113731-master.jar:na]
	at org.metaborg.core.build.Builder.analyze(Builder.java:407) [org.metaborg.core_2.2.0.20170410-113731-master.jar:na]
	at org.metaborg.core.build.Builder.updateLanguageResources(Builder.java:274) [org.metaborg.core_2.2.0.20170410-113731-master.jar:na]
	at org.metaborg.core.build.Builder.build(Builder.java:167) [org.metaborg.core_2.2.0.20170410-113731-master.jar:na]
	at org.metaborg.spoofax.core.build.SpoofaxBuilder.build(SpoofaxBuilder.java:48) [org.metaborg.spoofax.core_2.2.0.20170410-113731-master.jar:na]
	at org.metaborg.spoofax.core.build.SpoofaxBuilder.build(SpoofaxBuilder.java:1) [org.metaborg.spoofax.core_2.2.0.20170410-113731-master.jar:na]
	at org.metaborg.spoofax.eclipse.build.BuildRunnable.run(BuildRunnable.java:60) [org.metaborg.spoofax.eclipse_2.2.0.20170410-113731-master.jar:na]
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2240) [org.eclipse.core.resources_3.11.1.v20161107-2032.jar:na]
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2267) [org.eclipse.core.resources_3.11.1.v20161107-2032.jar:na]
	at org.metaborg.spoofax.eclipse.processing.RunnableTask.schedule(RunnableTask.java:45) [org.metaborg.spoofax.eclipse_2.2.0.20170410-113731-master.jar:na]
	at org.metaborg.spoofax.eclipse.build.ProjectBuilder.build(ProjectBuilder.java:121) [org.metaborg.spoofax.eclipse_2.2.0.20170410-113731-master.jar:na]
	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:735) [org.eclipse.core.resources_3.11.1.v20161107-2032.jar:na]
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) [org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:na]
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206) [org.eclipse.core.resources_3.11.1.v20161107-2032.jar:na]
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:246) [org.eclipse.core.resources_3.11.1.v20161107-2032.jar:na]
	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:301) [org.eclipse.core.resources_3.11.1.v20161107-2032.jar:na]
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) [org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:na]
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:304) [org.eclipse.core.resources_3.11.1.v20161107-2032.jar:na]
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:360) [org.eclipse.core.resources_3.11.1.v20161107-2032.jar:na]
	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:383) [org.eclipse.core.resources_3.11.1.v20161107-2032.jar:na]
	at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144) [org.eclipse.core.resources_3.11.1.v20161107-2032.jar:na]
	at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:235) [org.eclipse.core.resources_3.11.1.v20161107-2032.jar:na]
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [org.eclipse.core.jobs_3.8.0.v20160509-0411.jar:na]
Caused by: java.io.NotSerializableException: org.metaborg.meta.nabl2.relations.terms.FunctionTerms$$Lambda$453/237129489
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) ~[na:1.8.0_92]
	at org.metaborg.spoofax.core.context.scopegraph.AbstractScopeGraphContext.writeContext(AbstractScopeGraphContext.java:209) [org.metaborg.spoofax.core_2.2.0.20170410-113731-master.jar:na]
	... 25 common frames omitted

It hasn’t given me any problems so far, but then again I’m not really using any NaBL2 features right now, so I don’t know if something is broken.


Eclipse: org.eclipse.platform.ide 4.6.2.M20161124-1400
Spoofax: org.metaborg.spoofax.eclipse 2.2.0.20170410-113731-master
System: Mac OS X x86_64 10.12.4

Submitted by Jeff Smits on 12 April 2017 at 11:06

On 12 April 2017 at 11:09 Jeff Smits commented:

Oops, looks like I entered a duplicate of http://yellowgrass.org/issue/NaBL2/35 :(
Sorry. However, looks like there is a regression if this is happening again.


On 12 April 2017 at 16:18 Jeff Smits commented:

The stacktrace with the version of today is:

16:18 | WARN  | .c.s.AbstractScopeGraphContext - Store context eclipse:///whilelang.lang/target/analysis/org.metaborg_meta.flowspec.lang_0.1.0-SNAPSHOT/scopegraph failed.
java.io.IOException: Context file could not be written.
	at org.metaborg.spoofax.core.context.scopegraph.AbstractScopeGraphContext.writeContext(AbstractScopeGraphContext.java:211) [org.metaborg.spoofax.core_2.2.0.20170412-141016-master.jar:na]
	at org.metaborg.spoofax.core.context.scopegraph.AbstractScopeGraphContext.persistState(AbstractScopeGraphContext.java:198) [org.metaborg.spoofax.core_2.2.0.20170412-141016-master.jar:na]
	at org.metaborg.spoofax.core.context.scopegraph.AbstractScopeGraphContext.persist(AbstractScopeGraphContext.java:109) [org.metaborg.spoofax.core_2.2.0.20170412-141016-master.jar:na]
	at org.metaborg.spoofax.core.context.scopegraph.MultiFileScopeGraphContext.persist(MultiFileScopeGraphContext.java:1) [org.metaborg.spoofax.core_2.2.0.20170412-141016-master.jar:na]
	at org.metaborg.core.build.Builder.analyze(Builder.java:407) [org.metaborg.core_2.2.0.20170412-141016-master.jar:na]
	at org.metaborg.core.build.Builder.updateLanguageResources(Builder.java:274) [org.metaborg.core_2.2.0.20170412-141016-master.jar:na]
	at org.metaborg.core.build.Builder.build(Builder.java:167) [org.metaborg.core_2.2.0.20170412-141016-master.jar:na]
	at org.metaborg.spoofax.core.build.SpoofaxBuilder.build(SpoofaxBuilder.java:48) [org.metaborg.spoofax.core_2.2.0.20170412-141016-master.jar:na]
	at org.metaborg.spoofax.core.build.SpoofaxBuilder.build(SpoofaxBuilder.java:1) [org.metaborg.spoofax.core_2.2.0.20170412-141016-master.jar:na]
	at org.metaborg.spoofax.eclipse.build.BuildRunnable.run(BuildRunnable.java:60) [org.metaborg.spoofax.eclipse_2.2.0.20170412-141016-master.jar:na]
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2240) [org.eclipse.core.resources_3.11.1.v20161107-2032.jar:na]
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2267) [org.eclipse.core.resources_3.11.1.v20161107-2032.jar:na]
	at org.metaborg.spoofax.eclipse.processing.RunnableTask.schedule(RunnableTask.java:45) [org.metaborg.spoofax.eclipse_2.2.0.20170412-141016-master.jar:na]
	at org.metaborg.spoofax.eclipse.build.ProjectBuilder.build(ProjectBuilder.java:121) [org.metaborg.spoofax.eclipse_2.2.0.20170412-141016-master.jar:na]
	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:735) [org.eclipse.core.resources_3.11.1.v20161107-2032.jar:na]
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) [org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:na]
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206) [org.eclipse.core.resources_3.11.1.v20161107-2032.jar:na]
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:246) [org.eclipse.core.resources_3.11.1.v20161107-2032.jar:na]
	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:301) [org.eclipse.core.resources_3.11.1.v20161107-2032.jar:na]
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) [org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:na]
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:304) [org.eclipse.core.resources_3.11.1.v20161107-2032.jar:na]
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:360) [org.eclipse.core.resources_3.11.1.v20161107-2032.jar:na]
	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:383) [org.eclipse.core.resources_3.11.1.v20161107-2032.jar:na]
	at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144) [org.eclipse.core.resources_3.11.1.v20161107-2032.jar:na]
	at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:235) [org.eclipse.core.resources_3.11.1.v20161107-2032.jar:na]
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [org.eclipse.core.jobs_3.8.0.v20160509-0411.jar:na]
Caused by: java.io.NotSerializableException: org.metaborg.meta.nabl2.util.tuples.ImmutableTuple2
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) ~[na:1.8.0_92]
	at java.util.ArrayList.writeObject(ArrayList.java:762) ~[na:1.8.0_92]
	at sun.reflect.GeneratedMethodAccessor108.invoke(Unknown Source) ~[na:na]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_92]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_92]
	at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1028) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) ~[na:1.8.0_92]
	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) ~[na:1.8.0_92]
	at org.metaborg.spoofax.core.context.scopegraph.AbstractScopeGraphContext.writeContext(AbstractScopeGraphContext.java:209) [org.metaborg.spoofax.core_2.2.0.20170412-141016-master.jar:na]
	... 25 common frames omitted

On 13 April 2017 at 16:36 Jeff Smits commented:

I can confirm that in the following version of nightly, I cannot trigger this kind of stack trace any more
So surely that must mean it’s fixed once and for all and will never be seen again ^^

Eclipse: org.eclipse.platform.ide 4.6.3.M20170301-0400
Spoofax: org.metaborg.spoofax.eclipse 2.2.0.20170412-163637-master
System: Mac OS X x86_64 10.12.4


On 13 April 2017 at 16:41 Hendrik van Antwerpen commented:

Thanks for verifying.


On 13 April 2017 at 16:41 Hendrik van Antwerpen closed this issue.

Log in to post comments