{"action":"opened","issue":{"url":"https://api.github.com/repos/Atmosphere/atmosphere/issues/2154","repository_url":"https://api.github.com/repos/Atmosphere/atmosphere","labels_url":"https://api.github.com/repos/Atmosphere/atmosphere/issues/2154/labels{/name}","comments_url":"https://api.github.com/repos/Atmosphere/atmosphere/issues/2154/comments","events_url":"https://api.github.com/repos/Atmosphere/atmosphere/issues/2154/events","html_url":"https://github.com/Atmosphere/atmosphere/issues/2154","id":152606559,"number":2154,"title":"NPE with Jetty 9.3 ","user":{"login":"Artur-","id":260340,"avatar_url":"https://avatars.githubusercontent.com/u/260340?v=3","gravatar_id":"","url":"https://api.github.com/users/Artur-","html_url":"https://github.com/Artur-","followers_url":"https://api.github.com/users/Artur-/followers","following_url":"https://api.github.com/users/Artur-/following{/other_user}","gists_url":"https://api.github.com/users/Artur-/gists{/gist_id}","starred_url":"https://api.github.com/users/Artur-/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Artur-/subscriptions","organizations_url":"https://api.github.com/users/Artur-/orgs","repos_url":"https://api.github.com/users/Artur-/repos","events_url":"https://api.github.com/users/Artur-/events{/privacy}","received_events_url":"https://api.github.com/users/Artur-/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-05-02T17:57:19Z","updated_at":"2016-05-02T17:57:19Z","closed_at":null,"body":"This is a followup of #1998. I am unable to get Vaadin + Atmosphere 2.4.3 + Jetty 9.3 websockets to work properly together. Before #1998 was fixed, there was an NPE in getContentType. Now I see that initially the app works as expected, including websockets (both JSR-356 and native). However, after refreshing not one but two times, I see the following NPE\r\n\r\n```\r\njavax.servlet.ServletException: com.vaadin.server.ServiceException: java.lang.NullPointerException\r\n\tat com.vaadin.server.VaadinServlet.service(VaadinServlet.java:366)\r\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:790)\r\n\tat org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:845)\r\n\tat org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1689)\r\n\tat org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:225)\r\n\tat org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1676)\r\n\tat org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)\r\n\tat org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)\r\n\tat org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)\r\n\tat org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)\r\n\tat org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1174)\r\n\tat org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)\r\n\tat org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)\r\n\tat org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1106)\r\n\tat org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)\r\n\tat org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)\r\n\tat org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)\r\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)\r\n\tat org.eclipse.jetty.server.Server.handle(Server.java:518)\r\n\tat org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:314)\r\n\tat org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:253)\r\n\tat org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)\r\n\tat org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)\r\n\tat org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)\r\n\tat org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:246)\r\n\tat org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:156)\r\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)\r\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)\r\n\tat java.lang.Thread.run(Thread.java:744)\r\nCaused by: com.vaadin.server.ServiceException: java.lang.NullPointerException\r\n\tat com.vaadin.server.VaadinService.handleExceptionDuringRequest(VaadinService.java:1464)\r\n\tat com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1421)\r\n\tat com.vaadin.server.VaadinServlet.service(VaadinServlet.java:364)\r\n\t... 28 more\r\nCaused by: java.lang.NullPointerException\r\n\tat org.eclipse.jetty.server.HttpConnection$Content.succeeded(HttpConnection.java:586)\r\n\tat org.eclipse.jetty.server.HttpInput.pollContent(HttpInput.java:205)\r\n\tat org.eclipse.jetty.server.HttpInput.nextContent(HttpInput.java:183)\r\n\tat org.eclipse.jetty.server.HttpInput.read(HttpInput.java:145)\r\n\tat org.eclipse.jetty.server.HttpInput.read(HttpInput.java:129)\r\n\tat org.eclipse.jetty.util.UrlEncoded.decodeUtf8To(UrlEncoded.java:538)\r\n\tat org.eclipse.jetty.util.UrlEncoded.decodeTo(UrlEncoded.java:674)\r\n\tat org.eclipse.jetty.server.Request.extractFormParameters(Request.java:480)\r\n\tat org.eclipse.jetty.server.Request.extractContentParameters(Request.java:412)\r\n\tat org.eclipse.jetty.server.Request.extractParameters(Request.java:364)\r\n\tat org.eclipse.jetty.server.Request.getParameter(Request.java:958)\r\n\tat javax.servlet.ServletRequestWrapper.getParameter(ServletRequestWrapper.java:194)\r\n\tat com.vaadin.server.communication.ServletUIInitHandler.isUIInitRequest(ServletUIInitHandler.java:30)\r\n\tat com.vaadin.server.VaadinServletService.requestCanCreateSession(VaadinServletService.java:152)\r\n\tat com.vaadin.server.VaadinService.findOrCreateVaadinSession(VaadinService.java:657)\r\n\tat com.vaadin.server.VaadinService.findVaadinSession(VaadinService.java:527)\r\n\tat com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1403)\r\n\t... 29 more\r\n```\r\n\r\nThe same NPE then occurrs on all following refreshes. The exception is that if you open the same URL rapidly in multiple tabs, in that case one or a few tabs will open the app. Seems a bit like the request object somehow ends up in an invalid state and is reused for the following connections.\r\n\r\nTest project: https://github.com/Artur-/push-jetty93 (mvn clean install jetty:run)\r\n"}}