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:

org.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
Submitted by Gabriël Konat on 4 October 2012 at 12:57

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 13 November 2012 at 13:28 Maartje tagged @maartje

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:

  1. Fix the problem for 1.1
  2. 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):

  1. 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.
  2. 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.
  3. 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