Doing a transformation on Windows gives non-deterministic results.
Sometimes it works fine, sometimes it give the following stack trace.
Ratio is about 50-50.
I haven't encountered this issue on OSX.

21:32 | ERROR | o.m.s.e.t.TransformJob         - Transformation failed for eclipse:///icedustWebDSL/icedustWebDSL.ice
org.metaborg.core.transform.TransformException: Invoking Stratego strategy failed unexpectedly: at index 0
Stratego trace:
	generate_webdsl_eventual_newcrudui_0_0
	build_1_4
	build_1_6
	generate_webdsl_code_1_0
	modulename_to_webdsl_application_1_0
	modulename_get_attributenames_default_derivation_0_0
	filter_1_0
	get_derivation_type_0_0
	get_property_0_1
	try_1_0
	task_result_combinations_single_0_0
	task_api_result_combinations_2_2
	g_973
	replace_results_4_0
	replace_results_noannos_4_0
	i_980

	at org.metaborg.spoofax.core.transform.StrategoTransformer.transform(StrategoTransformer.java:139) ~[org.metaborg.spoofax.core_2.0.0.jar:na]
	at org.metaborg.spoofax.core.transform.StrategoTransformer.transform(StrategoTransformer.java:75) ~[org.metaborg.spoofax.core_2.0.0.jar:na]
	at org.metaborg.spoofax.core.transform.StrategoTransformer.transform(StrategoTransformer.java:1) ~[org.metaborg.spoofax.core_2.0.0.jar:na]
	at org.metaborg.core.transform.TransformService.transform(TransformService.java:90) ~[org.metaborg.core_2.0.0.jar:na]
	at org.metaborg.core.transform.TransformService.transform(TransformService.java:78) ~[org.metaborg.core_2.0.0.jar:na]
	at org.metaborg.spoofax.eclipse.transform.TransformJob.transform(TransformJob.java:132) [org.metaborg.spoofax.eclipse_2.0.0.jar:na]
	at org.metaborg.spoofax.eclipse.transform.TransformJob.transformAll(TransformJob.java:108) [org.metaborg.spoofax.eclipse_2.0.0.jar:na]
	at org.metaborg.spoofax.eclipse.transform.TransformJob.run(TransformJob.java:70) [org.metaborg.spoofax.eclipse_2.0.0.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.lang.NullPointerException: at index 0
	at com.google.common.collect.ObjectArrays.checkElementNotNull(ObjectArrays.java:240) ~[guava-17.0.jar:na]
	at com.google.common.collect.ObjectArrays.checkElementsNotNull(ObjectArrays.java:231) ~[guava-17.0.jar:na]
	at com.google.common.collect.ObjectArrays.checkElementsNotNull(ObjectArrays.java:226) ~[guava-17.0.jar:na]
	at com.google.common.collect.ImmutableList.construct(ImmutableList.java:303) ~[guava-17.0.jar:na]
	at com.google.common.collect.ImmutableList.copyOf(ImmutableList.java:258) ~[guava-17.0.jar:na]
	at com.google.common.collect.ImmutableList.copyOf(ImmutableList.java:226) ~[guava-17.0.jar:na]
	at org.metaborg.runtime.task.util.TermTools.makeList(TermTools.java:13) ~[org.metaborg.runtime.task_2.0.0.jar:na]
	at org.metaborg.runtime.task.primitives.task_api_result_combinations_2_2.call(task_api_result_combinations_2_2.java:37) ~[org.metaborg.runtime.task_2.0.0.jar:na]
	at org.metaborg.runtime.task.primitives.TaskEnginePrimitive.call(TaskEnginePrimitive.java:27) ~[org.metaborg.runtime.task_2.0.0.jar:na]
	at org.spoofax.interpreter.stratego.PrimT.eval(PrimT.java:63) ~[org.spoofax.interpreter.core_2.0.0.jar:na]
	at org.spoofax.interpreter.stratego.Strategy.evaluate(Strategy.java:76) ~[org.spoofax.interpreter.core_2.0.0.jar:na]
	at org.spoofax.interpreter.stratego.SDefT.evaluate(SDefT.java:213) ~[org.spoofax.interpreter.core_2.0.0.jar:na]
	at org.strategoxt.lang.InteropStrategy.invokeDynamic(InteropStrategy.java:57) ~[org.strategoxt.strj_2.0.0/:na]
	at org.strategoxt.lang.DynamicStrategy.invoke(DynamicStrategy.java:22) ~[org.strategoxt.strj_2.0.0/:na]
	at org.strategoxt.stratego_lib.try_1_0.invoke(try_1_0.java:28) ~[strategoxt-min-jar-2.0.0.jar:na]
	at org.strategoxt.lang.Strategy.invokeDynamic(Strategy.java:40) ~[org.strategoxt.strj_2.0.0/:na]
	at org.strategoxt.lang.InteropSDefT.evaluate(InteropSDefT.java:192) ~[org.strategoxt.strj_2.0.0/:na]
	at org.strategoxt.lang.InteropSDefT.evaluate(InteropSDefT.java:183) ~[org.strategoxt.strj_2.0.0/:na]
	at org.strategoxt.lang.InteropSDefT$StrategyBody.evaluate(InteropSDefT.java:245) ~[org.strategoxt.strj_2.0.0/:na]
	at org.strategoxt.lang.InteropSDefT$StrategyBody.eval(InteropSDefT.java:238) ~[org.strategoxt.strj_2.0.0/:na]
	at org.spoofax.interpreter.stratego.Strategy.evaluate(Strategy.java:76) ~[org.spoofax.interpreter.core_2.0.0.jar:na]
	at org.spoofax.interpreter.stratego.SDefT.evaluate(SDefT.java:213) ~[org.spoofax.interpreter.core_2.0.0.jar:na]
	at org.strategoxt.lang.InteropStrategy.invokeDynamic(InteropStrategy.java:57) ~[org.strategoxt.strj_2.0.0/:na]
	at org.strategoxt.lang.DynamicStrategy.invoke(DynamicStrategy.java:22) ~[org.strategoxt.strj_2.0.0/:na]
	at org.strategoxt.lang.SRTS_EXT_filter_1_0.filterIgnoreAnnos(SRTS_EXT_filter_1_0.java:83) ~[org.strategoxt.strj_2.0.0/:na]
	at org.strategoxt.lang.SRTS_EXT_filter_1_0.invoke(SRTS_EXT_filter_1_0.java:34) ~[org.strategoxt.strj_2.0.0/:na]
	at org.strategoxt.lang.compat.override.performance_tweaks.filter_1_0_override.invoke(filter_1_0_override.java:21) ~[strategoxt-min-jar-2.0.0.jar:na]
	at org.strategoxt.lang.Strategy.invokeDynamic(Strategy.java:40) ~[org.strategoxt.strj_2.0.0/:na]
	at org.strategoxt.lang.InteropSDefT.evaluate(InteropSDefT.java:192) ~[org.strategoxt.strj_2.0.0/:na]
	at org.strategoxt.lang.InteropSDefT.evaluate(InteropSDefT.java:183) ~[org.strategoxt.strj_2.0.0/:na]
	at org.strategoxt.lang.InteropSDefT$StrategyBody.evaluate(InteropSDefT.java:245) ~[org.strategoxt.strj_2.0.0/:na]
	at org.strategoxt.lang.InteropSDefT$StrategyBody.eval(InteropSDefT.java:238) ~[org.strategoxt.strj_2.0.0/:na]
	at org.spoofax.interpreter.stratego.Strategy.evaluate(Strategy.java:76) ~[org.spoofax.interpreter.core_2.0.0.jar:na]
	at org.spoofax.interpreter.core.Interpreter.evaluate(Interpreter.java:109) ~[org.spoofax.interpreter.core_2.0.0.jar:na]
	at org.spoofax.interpreter.core.Interpreter.invoke(Interpreter.java:82) ~[org.spoofax.interpreter.core_2.0.0.jar:na]
	at org.strategoxt.HybridInterpreter.invoke(HybridInterpreter.java:442) ~[org.strategoxt.strj_2.0.0/:na]
	at org.metaborg.spoofax.core.stratego.StrategoCommon.invoke(StrategoCommon.java:78) ~[org.metaborg.spoofax.core_2.0.0.jar:na]
	at org.metaborg.spoofax.core.transform.StrategoTransformer.transform(StrategoTransformer.java:137) ~[org.metaborg.spoofax.core_2.0.0.jar:na]
	... 8 common frames omitted
Eclipse: org.eclipse.platform.ide 4.6.0.I20160606-1100
Spoofax: org.metaborg.spoofax.eclipse 2.0.0
System: Windows 10 amd64 10.0
Submitted by Daco Harkes on 26 August 2016 at 21:33

On 26 August 2016 at 21:36 Daco Harkes commented:

Issue seems to be timing related: the transformation on a small file always succeeds, the transformation on a large file fails 50% of the time.


On 26 August 2016 at 21:43 Daco Harkes commented:

Same error (non-deterministic transformation failing), different transformation, different stack-trace

21:41 | ERROR | o.m.s.e.t.TransformJob         - Transformation failed for eclipse:///icedustWebDSL/icedustWebDSL.ice
org.metaborg.core.transform.TransformException: Invoking Stratego strategy failed unexpectedly: null
Stratego trace:

	at org.metaborg.spoofax.core.transform.StrategoTransformer.transform(StrategoTransformer.java:139) ~[org.metaborg.spoofax.core_2.0.0.jar:na]
	at org.metaborg.spoofax.core.transform.StrategoTransformer.transform(StrategoTransformer.java:75) ~[org.metaborg.spoofax.core_2.0.0.jar:na]
	at org.metaborg.spoofax.core.transform.StrategoTransformer.transform(StrategoTransformer.java:1) ~[org.metaborg.spoofax.core_2.0.0.jar:na]
	at org.metaborg.core.transform.TransformService.transform(TransformService.java:90) ~[org.metaborg.core_2.0.0.jar:na]
	at org.metaborg.core.transform.TransformService.transform(TransformService.java:78) ~[org.metaborg.core_2.0.0.jar:na]
	at org.metaborg.spoofax.eclipse.transform.TransformJob.transform(TransformJob.java:132) [org.metaborg.spoofax.eclipse_2.0.0.jar:na]
	at org.metaborg.spoofax.eclipse.transform.TransformJob.transformAll(TransformJob.java:108) [org.metaborg.spoofax.eclipse_2.0.0.jar:na]
	at org.metaborg.spoofax.eclipse.transform.TransformJob.run(TransformJob.java:70) [org.metaborg.spoofax.eclipse_2.0.0.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.lang.ArrayIndexOutOfBoundsException: null
21:41 | INFO  | stderr                         - [ identity crisis | error ] No pp entry found for: (1,["ModelSection"])
21:41 | INFO  | stderr                         - [ identity crisis | error ] Cannot rewrite to box: 

On 13 September 2016 at 13:06 Gabriël Konat tagged error

On 13 September 2016 at 13:10 Gabriël Konat commented:

Does this also happen when you don't do anything during the transformation (i.e. you press transform and stop touching your laptop)?


On 14 September 2016 at 19:25 Daco Harkes commented:

I can't reproduce this anymore in the latest build. (Note that this was a Windows only problem, no laptop.)

Eclipse: org.eclipse.platform.ide 4.6.0.I20160606-1100
Spoofax: org.metaborg.spoofax.eclipse 2.1.0.20160914-142021-master
System: Windows 10 amd64 10.0

I can let the hover job fail during transformation, but not the transformation job itself.

19:23 | ERROR | o.m.s.e.e.t.SpoofaxTextHover   - Getting hover tooltip information for eclipse:///debug/debug.ice failed unexpectedly
org.metaborg.core.MetaborgException: Getting hover tooltip information failed unexpectedly
	at org.metaborg.spoofax.core.tracing.HoverService.hover(HoverService.java:128) ~[org.metaborg.spoofax.core_2.1.0.20160914-142021-master.jar:na]
	at org.metaborg.spoofax.core.tracing.HoverService.hover(HoverService.java:1) ~[org.metaborg.spoofax.core_2.1.0.20160914-142021-master.jar:na]
	at org.metaborg.spoofax.eclipse.editor.tracing.SpoofaxTextHover.fromAnalyzed(SpoofaxTextHover.java:94) [org.metaborg.spoofax.eclipse_2.1.0.20160914-142021-master.jar:na]
	at org.metaborg.spoofax.eclipse.editor.tracing.SpoofaxTextHover.getHoverInfo(SpoofaxTextHover.java:59) [org.metaborg.spoofax.eclipse_2.1.0.20160914-142021-master.jar:na]
	at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:167) [org.eclipse.jface.text_3.11.0.v20160505-1301.jar:na]
Caused by: org.metaborg.core.MetaborgException: Invoking Stratego strategy editor-hover failed at term
	"debug"{ Def(
           URI(
             Language("IceDust")
           , [ID(NablNsModule(), "debug", Unique("eclipse:///debug/debug.ice/0"))]
           )
         )
       }
Stratego trace:
	editor_hover_0_0
	editor_service_properties_0_1
	report_with_failure_0_1
	report_failure_0_2
	SRTS_EXT_fatal_err_0_2

	at org.metaborg.spoofax.core.stratego.StrategoCommon.handleException(StrategoCommon.java:140) ~[org.metaborg.spoofax.core_2.1.0.20160914-142021-master.jar:na]
	at org.metaborg.spoofax.core.stratego.StrategoCommon.handleException(StrategoCommon.java:152) ~[org.metaborg.spoofax.core_2.1.0.20160914-142021-master.jar:na]
	at org.metaborg.spoofax.core.stratego.StrategoCommon.invoke(StrategoCommon.java:99) ~[org.metaborg.spoofax.core_2.1.0.20160914-142021-master.jar:na]
	at org.metaborg.spoofax.core.tracing.TracingCommon.outputs(TracingCommon.java:68) ~[org.metaborg.spoofax.core_2.1.0.20160914-142021-master.jar:na]
	at org.metaborg.spoofax.core.tracing.HoverService.hover(HoverService.java:124) ~[org.metaborg.spoofax.core_2.1.0.20160914-142021-master.jar:na]
	... 4 common frames omitted
Caused by: org.spoofax.interpreter.core.InterpreterErrorExit: Internal error: with clause failed unexpectedly in 'generate-webdsl-java-code'
	"debug"{Def(URI(Language("IceDust"),[ID(NablNsModule,"debug",Unique("eclipse:///debug/debug.ice/0"))]))}
	at org.strategoxt.lang.InteropSDefT.evaluate(InteropSDefT.java:194) ~[org.strategoxt.strj_2.1.0.20160914-142021-master/:na]
	at org.strategoxt.lang.InteropSDefT.evaluate(InteropSDefT.java:183) ~[org.strategoxt.strj_2.1.0.20160914-142021-master/:na]
	at org.strategoxt.lang.InteropSDefT$StrategyBody.evaluate(InteropSDefT.java:245) ~[org.strategoxt.strj_2.1.0.20160914-142021-master/:na]
	at org.strategoxt.lang.InteropSDefT$StrategyBody.eval(InteropSDefT.java:238) ~[org.strategoxt.strj_2.1.0.20160914-142021-master/:na]
	at org.spoofax.interpreter.stratego.Strategy.evaluate(Strategy.java:76) ~[org.spoofax.interpreter.core_2.1.0.20160914-142021-master.jar:na]
	at org.spoofax.interpreter.core.Interpreter.evaluate(Interpreter.java:109) ~[org.spoofax.interpreter.core_2.1.0.20160914-142021-master.jar:na]
	at org.spoofax.interpreter.core.Interpreter.invoke(Interpreter.java:82) ~[org.spoofax.interpreter.core_2.1.0.20160914-142021-master.jar:na]
	at org.strategoxt.HybridInterpreter.invoke(HybridInterpreter.java:442) ~[org.strategoxt.strj_2.1.0.20160914-142021-master/:na]
	at org.metaborg.spoofax.core.stratego.StrategoCommon.invoke(StrategoCommon.java:93) ~[org.metaborg.spoofax.core_2.1.0.20160914-142021-master.jar:na]
	... 6 common frames omitted
Caused by: org.strategoxt.lang.StrategoErrorExit: Internal error: with clause failed unexpectedly in 'generate-webdsl-java-code'
	at org.strategoxt.lang.SRTS_EXT_fatal_err_0_3.invoke(SRTS_EXT_fatal_err_0_3.java:28) ~[org.strategoxt.strj_2.1.0.20160914-142021-master/:na]
	at org.strategoxt.lang.compat.override.java_integration.SRTS_EXT_fatal_err_0_2.invoke(SRTS_EXT_fatal_err_0_2.java:33) ~[strategoxt-min-jar-2.1.0-SNAPSHOT.jar:na]
	at org.strategoxt.lang.compat.override.java_integration.report_failure_0_2_override.invoke(report_failure_0_2_override.java:27) ~[strategoxt-min-jar-2.1.0-SNAPSHOT.jar:na]
	at org.strategoxt.stratego_lib.report_with_failure_0_1.invoke(report_with_failure_0_1.java:32) ~[strategoxt-min-jar-2.1.0-SNAPSHOT.jar:na]
	at org.strategoxt.lang.Strategy.invokeDynamic(Strategy.java:31) ~[org.strategoxt.strj_2.1.0.20160914-142021-master/:na]
	at org.strategoxt.lang.InteropSDefT.evaluate(InteropSDefT.java:192) ~[org.strategoxt.strj_2.1.0.20160914-142021-master/:na]
	... 14 common frames omitted
19:23 | ERROR | o.m.s.e.t.TransformJob         - Transformation failed for eclipse:///debug/debug.ice
org.metaborg.core.transform.TransformException: Invoking Stratego strategy generate-webdsl-eventual-explorerui failed
	at org.metaborg.spoofax.core.transform.StrategoTransformer.transform(StrategoTransformer.java:145) ~[org.metaborg.spoofax.core_2.1.0.20160914-142021-master.jar:na]
	at org.metaborg.spoofax.core.transform.StrategoTransformer.transform(StrategoTransformer.java:76) ~[org.metaborg.spoofax.core_2.1.0.20160914-142021-master.jar:na]
	at org.metaborg.spoofax.core.transform.StrategoTransformer.transform(StrategoTransformer.java:1) ~[org.metaborg.spoofax.core_2.1.0.20160914-142021-master.jar:na]
	at org.metaborg.core.transform.TransformService.transform(TransformService.java:90) ~[org.metaborg.core_2.1.0.20160914-142021-master.jar:na]
	at org.metaborg.core.transform.TransformService.transform(TransformService.java:78) ~[org.metaborg.core_2.1.0.20160914-142021-master.jar:na]
	at org.metaborg.spoofax.eclipse.transform.TransformJob.transform(TransformJob.java:132) [org.metaborg.spoofax.eclipse_2.1.0.20160914-142021-master.jar:na]
	at org.metaborg.spoofax.eclipse.transform.TransformJob.transformAll(TransformJob.java:108) [org.metaborg.spoofax.eclipse_2.1.0.20160914-142021-master.jar:na]
	at org.metaborg.spoofax.eclipse.transform.TransformJob.run(TransformJob.java:70) [org.metaborg.spoofax.eclipse_2.1.0.20160914-142021-master.jar:na]
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [org.eclipse.core.jobs_3.8.0.v20160509-0411.jar:na]

On 11 October 2016 at 09:43 Gabriël Konat closed this issue.

Log in to post comments