-
Notifications
You must be signed in to change notification settings - Fork 25
Open
Description
The current version of duo_universal_java (1.1.3) is using OkHttp 3.14.9 under the hood. This version of OkHttp has a known issue with Tomcat applications where its internal thread pool cannot be shut down cleanly because it does not provide an API to signal OkHttp to shut them down. This was supposedly fixed in version 4.3.
We have been mandated to Duo as our corporate MFA solution, which we have successfully implemented and deployed to production. However, we are now seeing evidence of the OkHttp thread pool issue in our server logs:
03-Aug-2023 06:38:26.643 WARNING [Thread-290707] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [XXXXXXX] appears to have started a thread named [OkHttp ConnectionPool] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
java.base@11.0.18/java.lang.Object.wait(Native Method)
java.base@11.0.18/java.lang.Object.wait(Object.java:462)
okhttp3.internal.connection.RealConnectionPool.lambda$new$0(RealConnectionPool.java:62)
okhttp3.internal.connection.RealConnectionPool$$Lambda$1771/0x00000008002bd440.run(Unknown Source)
java.base@11.0.18/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
java.base@11.0.18/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
java.base@11.0.18/java.lang.Thread.run(Thread.java:829)
This isn't causing any critical issues for our apps, but it is a nuisance when we need to shutdown or restart an app.
Please investigate updating the OkHttp dependency to 4.3 or later to resolve this issue.
zepernick
Metadata
Metadata
Assignees
Labels
No labels