Non-deterministic transformation failing (Windows)
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
Submitted by Daco Harkes on 26 August 2016 at 21:33Eclipse: org.eclipse.platform.ide 4.6.0.I20160606-1100 Spoofax: org.metaborg.spoofax.eclipse 2.0.0 System: Windows 10 amd64 10.0
Issue Log
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.
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:
Does this also happen when you don’t do anything during the transformation (i.e. you press transform and stop touching your laptop)?
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]
Log in to post comments