Analysis failed with code completion in testing language (1)
In trunk, testing language files with code completion get an analysis failed error.
Message:
Internal error evaluating strategy editor-analyze editor_analyze_0_0 editor_analyze_0_0 scope_paths_1_2 dr_scope_1_1 dr_scope_1_1 collect_all_2_0 foldr_3_0 foldr_3_0 check_error_0_0 check_error_0_0_fragment_0 filter_1_0 check_expectation_0_3 get_completion_input_term_0_0 get_service_input_term_0_0 position_of_term_1_0
Stacktrace:
Submitted by Gabriël Konat on 4 October 2012 at 12:57org.spoofax.interpreter.core.InterpreterException: Exception during evaluation at org.spoofax.interpreter.core.Interpreter.evaluate(Interpreter.java:120) 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:701) at org.strategoxt.imp.runtime.services.StrategoObserver.invokeSilent(StrategoObserver.java:750) 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:54) Caused by: java.lang.NullPointerException at org.strategoxt.imp.runtime.stratego.StrategoTermPath$1TestOrigin.invoke(StrategoTermPath.java:137) at org.strategoxt.imp.generator.position_of_term_1_0.invoke(position_of_term_1_0.java:34) at org.strategoxt.imp.runtime.stratego.StrategoTermPath.getTermPathWithOrigin(StrategoTermPath.java:162) at org.strategoxt.imp.runtime.services.InputTermBuilder.makeInputTermResultingAst(InputTermBuilder.java:95) at org.strategoxt.imp.runtime.services.InputTermBuilder.makeInputTerm(InputTermBuilder.java:83) at org.strategoxt.imp.testing.strategies.get_service_input_term_0_1.invoke(get_service_input_term_0_1.java:30) at trans.get_service_input_term_0_0.invoke(get_service_input_term_0_0.java:33) at trans.get_completion_input_term_0_0.invoke(get_completion_input_term_0_0.java:84) at trans.check_expectation_0_3_fragment_2.invoke(check_expectation_0_3_fragment_2.java:90) at trans.check_expectation_0_3.invoke(check_expectation_0_3.java:107) at trans.lifted2819.invoke(lifted2819.java:31) at org.strategoxt.lang.SRTS_EXT_filter_1_0.filterMaintainAnnos(SRTS_EXT_filter_1_0.java:65) at org.strategoxt.lang.SRTS_EXT_filter_1_0.invoke(SRTS_EXT_filter_1_0.java:37) at org.strategoxt.lang.compat.override.performance_tweaks.filter_1_0_override.invoke(filter_1_0_override.java) at trans.check_error_0_0_fragment_0.invoke(check_error_0_0_fragment_0.java:706) at trans.check_error_0_0.invoke(check_error_0_0.java:28) at org.strategoxt.stratego_lib.k_154.invoke(k_154.java) at org.strategoxt.lang.SRTS_EXT_crush_3_0.invoke(SRTS_EXT_crush_3_0.java:28) at org.strategoxt.lang.compat.override.performance_tweaks.foldr_3_0_override.invoke(foldr_3_0_override.java) at org.strategoxt.stratego_lib.k_154.invoke(k_154.java) at org.strategoxt.lang.SRTS_EXT_crush_3_0.invoke(SRTS_EXT_crush_3_0.java:28) at org.strategoxt.lang.compat.override.performance_tweaks.foldr_3_0_override.invoke(foldr_3_0_override.java) at org.strategoxt.stratego_lib.k_154.invoke(k_154.java) at org.strategoxt.stratego_lib.collect_all_2_0.invoke(collect_all_2_0.java) at trans.lifted2892.invoke(lifted2892.java:143) at trans.lifted2804.invoke(lifted2804.java:75) at org.strategoxt.stratego_lib.dr_scope_1_1.invoke(dr_scope_1_1.java) at trans.lifted2803.invoke(lifted2803.java:40) at org.strategoxt.stratego_lib.dr_scope_1_1.invoke(dr_scope_1_1.java) at trans.scope_paths_1_2.invoke(scope_paths_1_2.java:39) at trans.editor_analyze_0_0.invoke(editor_analyze_0_0.java:170) at org.strategoxt.lang.Strategy.invokeDynamic(Strategy.java:30) at org.strategoxt.lang.InteropSDefT.evaluate(InteropSDefT.java:192) at org.strategoxt.lang.InteropSDefT.evaluate(InteropSDefT.java:183) at org.strategoxt.lang.InteropSDefT$StrategyBody.evaluate(InteropSDefT.java:245) at org.spoofax.interpreter.core.Interpreter.evaluate(Interpreter.java:109) ... 9 more
Issue Log
On 4 October 2012 at 12:57 Gabriël Konat tagged testing
On 4 October 2012 at 12:57 Gabriël Konat tagged completion
On 14 January 2013 at 11:54 Gabriël Konat tagged 1.1
On 18 January 2013 at 20:09 Guido Wachsmuth tagged @gohla
On 18 January 2013 at 20:09 Guido Wachsmuth tagged @guwac
On 22 January 2013 at 07:41 Gabriël Konat removed tag @gohla
On 30 January 2013 at 12:59 Vlad Vergu commented:
Two approaches are possible:
- Fix the problem for 1.1
- Turn off/disable completion tests for 1.1
On 30 January 2013 at 13:00 Vlad Vergu tagged !vvergu
On 6 February 2013 at 11:45 Gabriël Konat commented:
Analysis for the entire file doesn’t fail any more in r25890, but completion tests now always fail with
Unexpected result: [] (showing semantic errors in fragment while this test fails)
.
On 8 February 2013 at 16:53 Vlad Vergu commented:
@Maartje says this issue is caused a by difference in the way the input term is constructed in the Spoofax runtime and the testing language.
The issue will be postponed to v1.2. A workaround is being prepared for the v1.1 release (which will not be included in the nightly build):
- Upon failure of a completion test, the error message will inform that there exists known issues with the completion tests. The message will suggest adding “disable completion tests” somewhere in the header of the file.
- Adding “disable completion tests” in the header of the file disables all completion tests in the respective file. Notes are provided at the directive site and all completion tests informing that tests are disabled.
- When this issue is resolved, we will remove support for the disabling directive, mark it as syntactically deprecated and all completion tests will automatically be re-enabled.
On 8 February 2013 at 17:19 Vlad Vergu commented:
Workaround as described above implemented in r25908 in the release branch. Postponing issue.
On 8 February 2013 at 17:19 Vlad Vergu tagged 1.2
On 8 February 2013 at 17:19 Vlad Vergu removed tag 1.1
On 13 March 2014 at 08:52 Eelco Visser removed tag 1.2
Log in to post comments