[jboss-jira] [JBoss JIRA] (DROOLS-660) dead lock in fastFindClass method in PackageClassLoader extends ClassLoader implements FastClassLoader
chi chi (JIRA)
issues at jboss.org
Sun Dec 7 22:33:39 EST 2014
[ https://issues.jboss.org/browse/DROOLS-660?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13025739#comment-13025739 ]
chi chi commented on DROOLS-660:
--------------------------------
I'm sorry, this is the first time i report a question; i think this is a bug in 5.6.0Final;
this occurs when we down rule and at the same time we get 100 requests per seconds;
then we got a deadlock problem
Found one Java-level deadlock:
=============================
"http-8108-21":
waiting for ownable synchronizer 0x000000042fd7a3c8, (a java.util.concurrent.locks.ReentrantLock$NonfairSync),
which is held by "http-8108-2"
"http-8108-2":
waiting for ownable synchronizer 0x000000042fde6b70, (a java.util.concurrent.locks.ReentrantLock$NonfairSync),
which is held by "http-8108-21"
Java stack information for the threads listed above:
===================================================
"http-8108-21":
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x000000042fd7a3c8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:842)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1178)
at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
at org.drools.rule.JavaDialectRuntimeData$PackageClassLoader.fastFindClass(JavaDialectRuntimeData.java:605)
at org.drools.util.CompositeClassLoader$CachingLoader.load(CompositeClassLoader.java:254)
at org.drools.util.CompositeClassLoader.loadClass(CompositeClassLoader.java:105)
at org.drools.rule.JavaDialectRuntimeData$PackageClassLoader.loadClass(JavaDialectRuntimeData.java:592)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at org.drools.rule.JavaDialectRuntimeData$PackageClassLoader.fastFindClass(JavaDialectRuntimeData.java:624)
at org.drools.util.CompositeClassLoader$CachingLoader.load(CompositeClassLoader.java:254)
at org.drools.util.CompositeClassLoader$CachingLoader.load(CompositeClassLoader.java:237)
at org.drools.util.CompositeClassLoader.loadClass(CompositeClassLoader.java:88)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at org.drools.rule.JavaDialectRuntimeData.wire(JavaDialectRuntimeData.java:434)
at org.drools.rule.JavaDialectRuntimeData.reload(JavaDialectRuntimeData.java:482)
at org.drools.rule.JavaDialectRuntimeData.onBeforeExecute(JavaDialectRuntimeData.java:252)
at org.drools.rule.DialectRuntimeRegistry.onBeforeExecute(DialectRuntimeRegistry.java:139)
at org.drools.common.AbstractRuleBase.executeQueuedActions(AbstractRuleBase.java:1276)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:349)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:327)
at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:950)
at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:894)
at org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:269)
at com.risk.control.sync.rule.RuleEngineImpl.execute(RuleEngineImpl.java:44)
at sun.reflect.GeneratedMethodAccessor158.invoke(Unknown Source)
:
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at com.risk.common.aop.LogElapsedTimeHandler.invoke(LogElapsedTimeHandler.java:27)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at com.sun.proxy.$Proxy49.execute(Unknown Source)
at com.risk.control.sync.service.impl.ChkLegalServiceImpl.doCheckEvent(ChkLegalServiceImpl.java:136)
at com.risk.control.sync.service.impl.ChkLegalServiceImpl.checkEvent(ChkLegalServiceImpl.java:84)
at sun.reflect.GeneratedMethodAccessor153.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at com.risk.common.aop.LogElapsedTimeHandler.invoke(LogElapsedTimeHandler.java:27)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at com.sun.proxy.$Proxy59.checkEvent(Unknown Source)
at com.risk.control.sync.web.servlet.ChkLegalServlet.syncEventProcess(ChkLegalServlet.java:91)
at com.risk.control.sync.web.servlet.ChkLegalServlet.doPost(ChkLegalServlet.java:70)
at com.risk.control.sync.web.servlet.ChkLegalServlet.doGet(ChkLegalServlet.java:64)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.risk.common.web.filter.DefaultFilter.doFilter(DefaultFilter.java:20)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.valves.RequestFilterValve.process(RequestFilterValve.java:338)
at org.apache.catalina.valves.RemoteAddrValve.invoke(RemoteAddrValve.java:81)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
> dead lock in fastFindClass method in PackageClassLoader extends ClassLoader implements FastClassLoader
> -------------------------------------------------------------------------------------------------------
>
> Key: DROOLS-660
> URL: https://issues.jboss.org/browse/DROOLS-660
> Project: Drools
> Issue Type: Feature Request
> Reporter: chi chi
> Assignee: Mark Proctor
>
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)
More information about the jboss-jira
mailing list