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

Jetty 12 - AbstractConnectionPool.toString() can trigger NPE #9240

Closed
joakime opened this issue Jan 31, 2023 · 1 comment · Fixed by #9278
Closed

Jetty 12 - AbstractConnectionPool.toString() can trigger NPE #9240

joakime opened this issue Jan 31, 2023 · 1 comment · Fixed by #9278
Assignees
Labels
Bug For general bugs on Jetty side

Comments

@joakime
Copy link
Contributor

joakime commented Jan 31, 2023

Jetty version(s)
Jetty 12

Description
Seems the AbstractConnectionPool.toString() can trigger a NPE when attempting to get the Pool.size() during a logging operation.

How to reproduce?
Run the jetty-ee10-demo-proxy-webapp with DEBUG turned on.
Hit the URL http://localhost:8080/proxy/current and see the output.

2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: 2023-01-31 15:35:51.821:DEBUG:oejuc.ContainerLifeCycle:qtp1333592072-46: [FAILED toString()] added [FAILED toString()]
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: SLF4J: Failed toString() invocation on an object of type [org.eclipse.jetty.client.MultiplexConnectionPool]
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: Reported exception:
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: java.lang.NullPointerException: Cannot invoke "org.eclipse.jetty.util.Pool.size()" because "this.pool" is null
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: 	at org.eclipse.jetty.client.AbstractConnectionPool.getConnectionCount(AbstractConnectionPool.java:174)
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: 	at org.eclipse.jetty.client.AbstractConnectionPool.toString(AbstractConnectionPool.java:531)
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: 	at org.slf4j.helpers.MessageFormatter.safeObjectAppend(MessageFormatter.java:291)
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: 	at org.slf4j.helpers.MessageFormatter.deeplyAppendParameter(MessageFormatter.java:263)
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: 	at org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:225)
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: 	at org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:160)
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: 	at org.eclipse.jetty.logging.StdErrAppender.format(StdErrAppender.java:162)
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: 	at org.eclipse.jetty.logging.StdErrAppender.emit(StdErrAppender.java:93)
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: 	at org.eclipse.jetty.logging.JettyLogger.emit(JettyLogger.java:623)
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: 	at org.eclipse.jetty.logging.JettyLogger.debug(JettyLogger.java:163)
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: 	at org.eclipse.jetty.util.component.AbstractLifeCycle.setStarting(AbstractLifeCycle.java:260)
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: 	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:92)
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: 	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:171)
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: 	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: 	at org.eclipse.jetty.client.internal.HttpDestination.doStart(HttpDestination.java:163)
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: 	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: 	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:171)
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: 	at org.eclipse.jetty.util.component.ContainerLifeCycle.addManaged(ContainerLifeCycle.java:439)
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: 	at org.eclipse.jetty.client.HttpClient.lambda$resolveDestination$0(HttpClient.java:557)
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: 	at java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1916)
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: 	at org.eclipse.jetty.client.HttpClient.resolveDestination(HttpClient.java:551)
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: 	at org.eclipse.jetty.client.HttpClient.resolveDestination(HttpClient.java:523)
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: 	at org.eclipse.jetty.client.internal.HttpRequest.send(HttpRequest.java:738)
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: 	at org.eclipse.jetty.ee10.proxy.AbstractProxyServlet.sendProxyRequest(AbstractProxyServlet.java:634)
2023-01-31 15:35:51.822:INFO :oejth.JettyHomeTester:ConsoleStreamer/STDERR: 	at org.eclipse.jetty.ee10.proxy.ProxyServlet.service(ProxyServlet.java:108)

@sbordet
Copy link
Contributor

sbordet commented Feb 1, 2023

Fixed by #9278.

@sbordet sbordet closed this as completed Feb 1, 2023
@github-project-automation github-project-automation bot moved this from 👀 In review to ✅ Done in Jetty 12.0.0.beta0 - FROZEN Feb 1, 2023
gregpoulos pushed a commit to gregpoulos/jetty.project that referenced this issue Feb 1, 2023
…x-documentation-operations-logging

* upstream/jetty-12.0.x: (83 commits)
  Fix connection pool's forcible stop (jetty#9280)
  jetty#9240 add null checks to methods that can be used on a stopped pool
  retry failing tests one more time (jetty#9274)
  suppress stack
  Jetty 12.0.x reenable jetty ee9 tests (jetty#9224)
  Jetty 12.0.x silence tests' stacktraces (jetty#9225)
  More narrowly focused DEBUG logging for JavadocTransparentProxy flaky test
  Revert "More DEBUG on CI build/test"
  More DEBUG on CI build/test
  Adding debug to failing test to see what is causing it to fail.
  Removing unused / old deps
  Remove duplicate dependency declarations.
  Jetty 12 - New HTTP Cookie interface (jetty#9205)
  Converted PathMappings to be an AbstractMap (jetty#9213)
  Removing jetty-unixsocket-* references (doesn't exist in Jetty 12)
  Bump versions.maven.plugin.version to 2.14.2
  Bump apache.directory.api.version to 2.1.2
  Bump hazelcast.version to 4.2.6
  Bump slf4j.version to 2.0.6
  Bump osgi-service-component-version to 1.5.1
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug For general bugs on Jetty side
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants