[ https://issues.apache.org/jira/browse/POOL-247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13872148#comment-13872148 ]
Phil Steitz commented on POOL-247: ---------------------------------- I see no evidence of a pool bug here. The right place to ask for help debugging usage problems is the commons user list. I will wait a bit on closing this in case someone else sees evidence of an actual bug. >From the stack traces, it looks like what is hanging is your factory's >makeObject method. The different behavior between pool 1.3 and 1.6 may be due >to threadsafety issues in the factory. Factory methods must be threadsafe >(i.e., must function properly when accessed concurrently by multiple threads). > In pool 1.3, factory methods were executed within pool sync blocks, >effectively synchronizing access to them. In 1.5/1.6, this is not the case, >so the first thing to check is threadsafety of the factory's makeObject. > Threads stuck for an hour or more > --------------------------------- > > Key: POOL-247 > URL: https://issues.apache.org/jira/browse/POOL-247 > Project: Commons Pool > Issue Type: Bug > Affects Versions: 1.6 > Reporter: samjna > Priority: Critical > Attachments: AppLog.txt, Server Log.txt > > > Hello, > Our both the servers had to be restarted because of this. We have noticed it > 3-4 times since we upgraded the commons pool jar from 1.3 to 1.6(latest). We > communicate with NetProvision, originally a Subex product, via Corba. > I have attached the logs. All times are in UTC. Please review it. > Thanks. > ======= > ####<13-Jan-2014 12:24:13 o'clock AM UTC> <Error> <WebLogicServer> > <sedm3219.ent.agt.ab.ca> <xxxxxxxxxSrv2> <[ACTIVE] ExecuteThread: '34' for > queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> > <1389572653400> <BEA-000337> <[STUCK] ExecuteThread: '57' for queue: 'web > logic.kernel.Default (self-tuning)' has been busy for "612" seconds working > on the request "com.xxxx.services.xxxxxxxxx.service.ProxyBean_l5 > xrcw_EOImpl", which is more than the configured time (StuckThreadMaxTime) of > "600" seconds. Stack trace: > java.lang.Object.wait(Native Method) > > weblogic.iiop.SequencedRequestMessage.waitForData(SequencedRequestMessage.java:37) > weblogic.iiop.EndPointImpl.sendReceive(EndPointImpl.java:1171) > weblogic.iiop.EndPointImpl.sendReceive(EndPointImpl.java:1186) > > weblogic.corba.idl.RemoteDelegateImpl.invoke(RemoteDelegateImpl.java:383) > > weblogic.corba.idl.RemoteDelegateImpl.invoke(RemoteDelegateImpl.java:341) > org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:457) > > com.syndesis.SYcrbAV._SessionFactoryStub.createMaster(_SessionFactoryStub.java:131) > > com.xxxx.services.xxxxxxxxx.service.impl.netprovision.NPSession.<init>(NPSession.java:122) > > com.xxxx.services.xxxxxxxxx.service.impl.netprovision.NPSessionPoolFactory.makeObject(NPSessionPoolFactory.java:50) > > org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1188) > > com.xxxx.services.xxxxxxxxx.service.impl.netprovision.ConnectionPool.getSession(ConnectionPool.java:63) > > com.xxxx.services.xxxxxxxxx.service.impl.netprovision.NPProxyImpl.searchCurrentOrPendingServices(NPProxyImpl.java:1211) > > com.xxxx.services.xxxxxxxxx.service.impl.xxxxxxxxxxxSvcImpl.searchCurrentOrPendingServices(xxxxxxxxxxxSvcImpl.java:2644) > > com.xxxx.services.xxxxxxxxx.service.impl.xxxxxxxxxxxSvcImpl.getAssignmentInformation(xxxxxxxxxxxSvcImpl.java:2578) > sun.reflect.GeneratedMethodAccessor203.invoke(Unknown Source) > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > java.lang.reflect.Method.invoke(Method.java:597) > > org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) > > org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) > > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) > > com.xxxx.framework.monitor.CreateArtifactAdvice.invoke(CreateArtifactAdvice.java:172) > > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) > > com.xxxx.services.xxxxxxxxx.common.util.LoggingMethodInterceptor.invoke(LoggingMethodInterceptor.java:39) > > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) > > org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) > $Proxy110.getAssignmentInformation(Unknown Source) > > com.xxxx.services.xxxxxxxxx.service.impl.xxxxxxxxxxxSvcEjb.getAssignmentInformation(xxxxxxxxxxxSvcEjb.java:94) > > com.xxxx.services.xxxxxxxxx.service.impl.xxxxxxxxxxxEJB_ck0gva_EOImpl.getAssignmentInformation(xxxxxxxxxxxEJB_ck0gva_EOImpl.ja > va:653) > > com.xxxx.services.xxxxxxxxx.service.impl.xxxxxxxxxxxEJB_ck0gva_EOImpl_WLSkel.invoke(Unknown > Source) > > weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:174) > > weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:345) > > weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259) > > com.xxxx.services.xxxxxxxxx.service.impl.xxxxxxxxxxxEJB_ck0gva_EOImpl_1030_WLStub.getAssignmentInformation(Unknown > Source) > > com.xxxx.services.xxxxxxxxx.service.ProxyBean.getAssignmentInformation(ProxyBean.java:761) > > com.xxxx.services.xxxxxxxxx.service.ProxyBean_l5xrcw_EOImpl.getAssignmentInformation(ProxyBean_l5xrcw_EOImpl.java:581) > > com.xxxx.services.xxxxxxxxx.service.ProxyBean_l5xrcw_EOImpl_WLSkel.invoke(Unknown > Source) > weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589) > > weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230) > weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477) > > weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363) > weblogic.security.service.SecurityManager.runAs(Unknown Source) > > weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473) > > weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118) > weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) > weblogic.work.ExecuteThread.run(ExecuteThread.java:173) > ====== -- This message was sent by Atlassian JIRA (v6.1.5#6160)