Important Notice - Forums is archived
To simplify things and help our users to be more productive, we have archived the current forum and focus our efforts on helping developers on Stack Overflow. You can post new questions on Stack Overflow or join our Discord channel.

Vaadin lets you build secure, UX-first PWAs entirely in Java.
Free ebook & tutorial.
NullPointerException server push 7.7.7 with IE11/Edge
It seems that my Windows IE11 and Edge browsers are regularly reporting this exception since we updated to Vaadin 7.7.7 (we run on Tomcat 8 with Java 8).
2017-02-15 13:52:17,286 ERROR (com.esignforms.open.vaadin.EsfVaadinUI) init().VaadinSession.ErrorHandler.error()
java.lang.NullPointerException
at com.vaadin.server.communication.ServerRpcHandler.parseServerRpcInvocation(ServerRpcHandler.java:571)
at com.vaadin.server.communication.ServerRpcHandler.parseInvocation(ServerRpcHandler.java:534)
at com.vaadin.server.communication.ServerRpcHandler.parseInvocations(ServerRpcHandler.java:500)
at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:336)
at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:273)
at com.vaadin.server.communication.PushHandler$2.run(PushHandler.java:148)
at com.vaadin.server.communication.PushHandler.callWithUi(PushHandler.java:240)
at com.vaadin.server.communication.PushHandler.onMessage(PushHandler.java:494)
at com.vaadin.server.communication.PushAtmosphereHandler.onMessage(PushAtmosphereHandler.java:87)
at com.vaadin.server.communication.PushAtmosphereHandler.onRequest(PushAtmosphereHandler.java:77)
at org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:199)
at org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:107)
at org.atmosphere.container.Servlet30CometSupport.service(Servlet30CometSupport.java:66)
at org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:2075)
at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:571)
at org.atmosphere.websocket.DefaultWebSocketProcessor$3.run(DefaultWebSocketProcessor.java:333)
at org.atmosphere.util.VoidExecutorService.execute(VoidExecutorService.java:101)
at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:328)
at org.atmosphere.websocket.DefaultWebSocketProcessor.invokeWebSocketProtocol(DefaultWebSocketProcessor.java:425)
at org.atmosphere.container.JSR356Endpoint$1.onMessage(JSR356Endpoint.java:214)
at org.atmosphere.container.JSR356Endpoint$1.onMessage(JSR356Endpoint.java:211)
at org.apache.tomcat.websocket.WsFrameBase.sendMessageText(WsFrameBase.java:399)
at org.apache.tomcat.websocket.WsFrameBase.processDataText(WsFrameBase.java:500)
at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:295)
at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:131)
at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:71)
at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListener.onDataAvailable(WsHttpUpgradeHandler.java:185)
at org.apache.coyote.http11.upgrade.AbstractServletInputStream.onDataAvailable(AbstractServletInputStream.java:198)
at org.apache.coyote.http11.upgrade.AbstractProcessor.upgradeDispatch(AbstractProcessor.java:96)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:647)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
We don't see it with other browser types. That is, when using Chrome and Firefox at least, no such exception occurs.
It appears related to when we have a button that opens up a popup window with downloaded content (.../APP/connector/... URL). The popup opens and shows the content as expected, but gets this exception as well.
A bit more info: The routine on our end is making use of the BrowserWindowOpener.
Also, we were able to confirm that this error doesn't occur under 7.7.6, so it seems to have been introduced in 7.7.7 and only seems to affect IE11/Edge browsers.
First thing that pops into my mind that could be related this is this one
https://github.com/vaadin/framework/issues/7748
I.e. we fixed far greater problem.
@Tatu Not sure what that means as I cannot tell from that issue how it would impact things.
My code has been working since Vaadin 6, so when it breaks from 7.7.6 to 7.7.7, I think there's something going on. There's no such thing as a fix that causes communications errors in IE11/Edge alone unless they are known to be broken browsers that are not supported.
We don't use much PUSH at all, but have it enabled to deal with some events that otherwise get stuck until the next user interaction. That is, we don't queue up a bunch of stuff for PUSH specifically.
For now, we've reverted to 7.7.6 as a stopgap until hopefully Team Vaadin can restore so it doesn't crash the UI on an NPE.
Looks like 7.7.8 has resolved this again. At least, I've failed to see it reproduced and the UI doesn't hang on Edge. Thanks!