Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spurious incremental CompilerTest failure #9947

Open
niloc132 opened this issue Mar 29, 2024 · 0 comments
Open

Spurious incremental CompilerTest failure #9947

niloc132 opened this issue Mar 29, 2024 · 0 comments

Comments

@niloc132
Copy link
Contributor

https://github.com/gwtproject/gwt/actions/runs/8483890223/attempts/1

I believe I've seen this at least once before - something is going wrong either in the compiler or in the test code, causing com.google.gwt.dev.CompilerTest to fail "randomly". Every test method that validates incremental changes ends up failing with a stack trace something like this:

  <testcase classname="com.google.gwt.dev.CompilerTest" name="testChangeJsType" time="2.888">
    <failure message="expected:&lt;[com.foo.Bar, com.foo.Foo]&gt; but was:&lt;[java.util.Map, com.foo.Bar, java.util.Set, com.foo.Foo, java.util.List]&gt;" type="junit.framework.AssertionFailedError">junit.framework.AssertionFailedError: expected:&lt;[com.foo.Bar, com.foo.Foo]&gt; but was:&lt;[java.util.Map, com.foo.Bar, java.util.Set, com.foo.Foo, java.util.List]&gt;
	at com.google.gwt.dev.CompilerTest.compileToJs(CompilerTest.java:2739)
	at com.google.gwt.dev.CompilerTest.compileToJs(CompilerTest.java:2677)
	at com.google.gwt.dev.CompilerTest.checkRecompiledModifiedApp(CompilerTest.java:2637)
	at com.google.gwt.dev.CompilerTest.testChangeJsType(CompilerTest.java:1252)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
</failure>
  </testcase>

Every failure looks like this - as if Set, Map, and List had somehow also changed through simulated user actions.

Every failure included those three classes (I didn't see any others, but didn't exhaustively search), and every failure was specific to recompilation. Not all recompilation tests failed in this way though, for example testIncrementalRecompile_bridgeMethodOverrideChain and testIncrementalRecompile_jsPropertyConsistencyCheck did not fail in this way.

Failing CompilerTest.xml attached (but renamed with .txt suffix).
TEST-com.google.gwt.dev.CompilerTest.xml.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant