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

NullPointerException Bug/regression in Jetty 9.4.33 #5649

Closed
vmassol opened this issue Nov 13, 2020 · 11 comments
Closed

NullPointerException Bug/regression in Jetty 9.4.33 #5649

vmassol opened this issue Nov 13, 2020 · 11 comments
Assignees

Comments

@vmassol
Copy link

vmassol commented Nov 13, 2020

Jetty version
9.4.33

Java version
Any

Description

In the XWiki project (https://xwiki.org), we run functional tests using the official jetty docker image. We use tag 9 and suddenly a day ago (or maybe a few days ago), our tests started to fail with:

01:38:42.126 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: java.lang.NullPointerException
01:38:42.127 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.servlet.ServletHandler.getFilterChain(ServletHandler.java:617)
01:38:42.127 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:527)
01:38:42.127 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
01:38:42.127 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:602)
01:38:42.127 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
01:38:42.127 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
01:38:42.127 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1612)
01:38:42.127 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
01:38:42.127 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1434)
01:38:42.127 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
01:38:42.127 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
01:38:42.127 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1582)
01:38:42.127 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
01:38:42.127 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1349)
01:38:42.128 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
01:38:42.128 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:191)
01:38:42.128 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
01:38:42.128 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
01:38:42.128 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.server.Server.handle(Server.java:516)
01:38:42.128 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
01:38:42.128 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556)
01:38:42.128 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
01:38:42.128 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)
01:38:42.128 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
01:38:42.128 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
01:38:42.128 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
01:38:42.128 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
01:38:42.128 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
01:38:42.128 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
01:38:42.128 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
01:38:42.129 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
01:38:42.129 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773)
01:38:42.129 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)
01:38:42.129 [tc-okhttp-stream-1376035460] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDERR: 	at java.base/java.lang.Thread.run(Thread.java:832)

After analysing we've found that when using version 9.4.32 it works fine and thus we assume that there's been a bug or regression introduced in version 9.4.33. Thus reporting it here ;)

Thanks a lot!
-Vincent

@vmassol vmassol changed the title Bug/regression in Jetty 9.4.33 NullPointerException Bug/regression in Jetty 9.4.33 Nov 13, 2020
@joakime
Copy link
Contributor

joakime commented Nov 13, 2020

Duplicate of #5555

Fixed in release 9.4.34.v20201102

@joakime
Copy link
Contributor

joakime commented Nov 13, 2020

xwiki is on github, you might want to turn on dependabot on those projects, that would have told you about the updated dependencies (including the Jetty 9.4.34 release with it's changelog).

@joakime joakime self-assigned this Nov 13, 2020
@vmassol
Copy link
Author

vmassol commented Nov 13, 2020

@joakime thanks for the fast answer. So I guess the issue is that it's not been released under dockerhub yet since I only get 9.4.33 there: https://hub.docker.com/_/jetty?tab=tags

@vmassol
Copy link
Author

vmassol commented Nov 13, 2020

xwiki is on github, you might want to turn on dependabot on those projects, that would have told you about the updated dependencies (including the Jetty 9.4.34 release with it's changelog).

Thanks for the suggestion. We do have dependabot turned on. Now I don't see how that could help since we use dockerhub tag 9 in our CI pipeline groovy script (see https://github.com/xwiki/xwiki-jenkins-pipeline/blob/2d391a96c5f5e32d046ceccc83016e9611e20782/vars/dockerConfigurations.groovy#L45). Are you sure that dependabot would be that smart?

@vmassol
Copy link
Author

vmassol commented Nov 13, 2020

Thanks for the suggestion. We do have dependabot turned on.

I have a doubt. Dependabot is only for security issues, right? This is what we see at https://github.com/xwiki/xwiki-platform/network/alerts I guess (and we get an email too). How is this issue related to security? BTW the alert dashboard is empty for XWiki (no mention of Jetty 9.4.34 there).

@joakime
Copy link
Contributor

joakime commented Nov 13, 2020

Dependabot is for all dependencies, across a large variety of package eco systems (including docker).

https://docs.github.com/en/free-pro-team@latest/github/administering-a-repository/about-dependabot-version-updates

Your project, https://github.com/xwiki/xwiki-jenkins-pipeline/tree/master, does not have the normal dependabot configuration present (the .github/dependabot.yml) in it's default branch.

Example: https://github.com/jetty-project/embedded-jetty-live-war/blob/master/.github/dependabot.yml

@vmassol
Copy link
Author

vmassol commented Nov 13, 2020

Thanks @joakime I wasn't aware of that, we were just using the security part of dependabot. I still don't see how it would have warned us but I'm proposing to the xwiki project to start using it :)

@joakime
Copy link
Contributor

joakime commented Nov 13, 2020

Also, the Eclipse Jetty docker images are managed at https://github.com/eclipse/jetty.docker

I opened an issue about the missing 9.4.34 release at jetty/jetty.docker#32

@joakime
Copy link
Contributor

joakime commented Nov 18, 2020

@vmassol the hub.docker images for jetty have been updated.
Close this issue if it's working for you.

@vmassol
Copy link
Author

vmassol commented Nov 19, 2020

Thanks a lot @joakime . I'll check that today

@vmassol
Copy link
Author

vmassol commented Nov 19, 2020

Closing for now (will take some time for our CI to run all our func tests on Jetty 9.4.34 but I'm sure it'll work). Thanks again.

@vmassol vmassol closed this as completed Nov 19, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants