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

Modifications to UndertowXhrTransport for Undertow 1.3 introduce breaking changes [SPR-13551] #18127

Closed
spring-projects-issues opened this issue Oct 8, 2015 · 1 comment
Assignees
Labels
type: bug
Milestone

Comments

@spring-projects-issues
Copy link
Collaborator

@spring-projects-issues spring-projects-issues commented Oct 8, 2015

Sam Brannen opened SPR-13551 and commented

The changes made to UndertowXhrTransport in #17950 broke UndertowSockJsIntegrationTests. For example, when executing the AbstractSockJsIntegrationTests.echoXhr() test, we see the following exception:

java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: argument type mismatch
	at java.util.concurrent.FutureTask.report(FutureTask.java:122)
	at java.util.concurrent.FutureTask.get(FutureTask.java:192)
	at org.springframework.util.concurrent.SettableListenableFuture.get(SettableListenableFuture.java:122)
	at org.springframework.web.socket.sockjs.client.AbstractSockJsIntegrationTests.testEcho(AbstractSockJsIntegrationTests.java:277)
	at org.springframework.web.socket.sockjs.client.AbstractSockJsIntegrationTests.echoXhr(AbstractSockJsIntegrationTests.java:182)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
	at org.junit.rules.RunRules.evaluate(RunRules.java:20)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: java.lang.IllegalArgumentException: argument type mismatch
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:211)
	at org.springframework.web.socket.sockjs.client.UndertowXhrTransport$Undertow13BufferSupport.httpClientConnect(UndertowXhrTransport.java:592)
	at org.springframework.web.socket.sockjs.client.UndertowXhrTransport.executeReceiveRequest(UndertowXhrTransport.java:179)
	at org.springframework.web.socket.sockjs.client.UndertowXhrTransport.connectInternal(UndertowXhrTransport.java:150)
	at org.springframework.web.socket.sockjs.client.AbstractXhrTransport.connect(AbstractXhrTransport.java:132)
	at org.springframework.web.socket.sockjs.client.DefaultTransportRequest.connect(DefaultTransportRequest.java:149)
	at org.springframework.web.socket.sockjs.client.SockJsClient.doHandshake(SockJsClient.java:255)
	... 30 more

Furthermore, executing the AbstractSockJsIntegrationTests.fallbackAfterTransportFailure() test hangs the build completely, as can be seen in all recent Performance build failures, beginning with build 600.


Affects: 4.2.2

Issue Links:

  • #17950 Make UndertowXhrTransport compatible with Undertow 1.3
  • #18072 Make UndertowRequestUpgradeStrategy compatible with Undertow 1.3

Referenced from: commits 6b34fe3

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

No branches or pull requests

2 participants