My Oracle Support Banner

Stuck Threads Caused by Use of CreateSession in Third-party Application AssistPlus (Doc ID 2797312.1)

Last updated on SEPTEMBER 28, 2021

Applies to:

Oracle Agile PLM Framework - Version 9.3.6.0 and later
Information in this document applies to any platform.

Symptoms

Weblogic server showed stuck threads with the following details:


"[STUCK] ExecuteThread: '20' for queue: 'weblogic.kernel.Default (self-tuning)'" (id = 145) RUNNABLE
----------------------------------------------------------------------------------------------------
CPU Time: 508293136233 nanoseconds User Time: 468940000000 nanoseconds
Number of times blocked: 474339
Blocked time: 318410 milliseconds
Number of times waited: 471583
Waited time: 219159264 milliseconds
Object monitors locked: sun.security.ssl.SSLSocketImpl$AppInputStream@475d2f27java.io.BufferedInputStream@3be6b61esun.net.www.protocol.https.DelegateHttpsURLConnection@2d10f8dasun.net.www.protocol.https.DelegateHttpsURLConnection@2d10f8da
Ownable synchronizers locked: none
Stack Trace:
   at java.net.SocketInputStream.socketRead0(Native Method)
   at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
   at java.net.SocketInputStream.read(SocketInputStream.java:171)
   at java.net.SocketInputStream.read(SocketInputStream.java:141)
   at sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:475)
   at sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:469)
   at sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:69)
   at sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1228)
   at sun.security.ssl.SSLSocketImpl.access$300(SSLSocketImpl.java:75)
   at sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:915)
   at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
   at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
   at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
   at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:735)
   at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678)
   at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1593)
   at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
   at sun.net.www.protocol.http.HttpURLConnection.getHeaderFieldKey(HttpURLConnection.java:3114)
   at sun.net.www.protocol.https.HttpsURLConnectionImpl.getHeaderFieldKey(HttpsURLConnectionImpl.java:321)
   at com.agile.common.HttpReader.readCookies(HttpReader.java:156)
   at com.agile.common.HttpReader.getInputStream(HttpReader.java:78)
   at com.agile.api.AgileSessionFactory.initServerPropertiesFromURL(AgileSessionFactory.java:935)
   at com.agile.api.AgileSessionFactory.init(AgileSessionFactory.java:889)
   at com.agile.api.AgileSessionFactory.createSession(AgileSessionFactory.java:1043)
   at com.xxxxx.plmxl.assist.Handler.AgileHandler.getRequestSession(AgileHandler.java:87)
   at com.xxxxx.plmxl.assist.Handler.AgileHandler.getUserIdFromSession(AgileHandler.java:63)
   at com.xxxxx.plmxl.assist.Servlet.AssistPlus.doPost(AssistPlus.java:66)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
   at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:286)
   at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:260)
   at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:137)
   at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:350)
   at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
   at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
   at oracle.security.jps.ee.http.JpsAbsFilter$3.run(JpsAbsFilter.java:172)
   at java.security.AccessController.doPrivileged(Native Method)
   at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
   at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:650)
   at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:110)
   at oracle.security.jps.ee.http.JpsAbsFilter.doFilterInternal(JpsAbsFilter.java:273)
   at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:147)
   at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:94)
   at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
   at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:248)
   at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
   at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3706)
   at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3672)
   at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:328)
   at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:197)
   at weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203)
   at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71)
   at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2443)
   at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2291)
   at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2269)
   at weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1705)
   at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1665)
   at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:272)
   at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352)
   at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337)
   at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57)
   at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
   at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:652)
   at weblogic.work.ExecuteThread.execute(ExecuteThread.java:420)
   at weblogic.work.ExecuteThread.run(ExecuteThread.java:360)

 

Steps to reproduce:

  1. AssistPlus is deployed and running.
  2. After running some time with user load, Weblogic warns about stuck threads with the stack trace as mentioned earlier.

Changes

 

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Changes
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.