[jboss-jira] [JBoss JIRA] (DROOLS-1440) Insufficient synchronization in ObjectModelResolverProvider

Maciej Swiderski (JIRA) issues at jboss.org
Tue Feb 14 07:43:01 EST 2017


     [ https://issues.jboss.org/browse/DROOLS-1440?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Maciej Swiderski reassigned DROOLS-1440:
----------------------------------------

    Assignee: Maciej Swiderski  (was: Edson Tirelli)


> Insufficient synchronization in ObjectModelResolverProvider
> -----------------------------------------------------------
>
>                 Key: DROOLS-1440
>                 URL: https://issues.jboss.org/browse/DROOLS-1440
>             Project: Drools
>          Issue Type: Bug
>          Components: kie server
>    Affects Versions: 6.4.0.Final
>         Environment: kie-server 6.4.0.Final-redhat-13 (BPMS 6.3.4)
>            Reporter: Marek Schmidt
>            Assignee: Maciej Swiderski
>
> Immediately after server startup with parallel clients, the following error appeared in the logs, suggesting insufficient synchronization in ObjectModelResolverProvider initialization:
> {noformat}
> 11:59:17,735 WARN  [org.jbpm.runtime.manager.impl.DefaultRegisterableItemsFactory] (http-10.1.3.249:8080-5) Unable to find ObjectModelResolver for mvel
> 11:59:17,736 ERROR [org.kie.server.remote.rest.jbpm.ProcessResource] (http-10.1.3.249:8080-5) Unexpected error during processing null: java.lang.NullPointerException
> 	at org.jbpm.runtime.manager.impl.DefaultRegisterableItemsFactory.getInstanceFromModel(DefaultRegisterableItemsFactory.java:213)
> 	at org.jbpm.runtime.manager.impl.DefaultRegisterableItemsFactory.getWorkItemHandlersFromDescriptor(DefaultRegisterableItemsFactory.java:260)
> 	at org.jbpm.runtime.manager.impl.DefaultRegisterableItemsFactory.getWorkItemHandlers(DefaultRegisterableItemsFactory.java:84)
> 	at org.jbpm.runtime.manager.impl.KModuleRegisterableItemsFactory.getWorkItemHandlers(KModuleRegisterableItemsFactory.java:98)
> 	at org.jbpm.runtime.manager.impl.AbstractRuntimeManager.registerItems(AbstractRuntimeManager.java:119)
> 	at org.jbpm.runtime.manager.impl.PerProcessInstanceRuntimeManager$PerProcessInstanceInitializer.initKieSession(PerProcessInstanceRuntimeManager.java:514)
> 	at org.jbpm.runtime.manager.impl.RuntimeEngineImpl.getKieSession(RuntimeEngineImpl.java:70)
> 	at org.jbpm.kie.services.impl.ProcessServiceImpl.signalProcessInstance(ProcessServiceImpl.java:173)
> 	at org.kie.server.services.jbpm.ProcessServiceBase.signalProcessInstance(ProcessServiceBase.java:153)
> 	at org.kie.server.remote.rest.jbpm.ProcessResource.signalProcessInstance(ProcessResource.java:185)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_121]
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_121]
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_121]
> 	at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_121]
> 	at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:168)
> 	at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269)
> 	at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227)
> 	at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216)
> 	at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:583)
> 	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:565)
> 	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:130)
> 	at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)
> 	at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
> 	at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
> 	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:832)
> 	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:620)
> 	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:553)
> 	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:482)
> 	at org.openshift.kieserver.web.redirect.RedirectFilter.doFilter(RedirectFilter.java:150)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
> 	at org.openshift.kieserver.web.security.SecurityFilter.doFilter(SecurityFilter.java:73)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149)
> 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:512)
> 	at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:150)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:854)
> 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:656)
> 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926)
> 	at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_121]
> 11:59:17,736 WARN  [org.jbpm.runtime.manager.impl.DefaultRegisterableItemsFactory] (http-10.1.3.249:8080-1) Unable to find ObjectModelResolver for mvel
> 11:59:17,738 ERROR [org.kie.server.remote.rest.jbpm.ProcessResource] (http-10.1.3.249:8080-1) Unexpected error during processing null: java.lang.NullPointerException
> 	at org.jbpm.runtime.manager.impl.DefaultRegisterableItemsFactory.getInstanceFromModel(DefaultRegisterableItemsFactory.java:213)
> 	at org.jbpm.runtime.manager.impl.DefaultRegisterableItemsFactory.getWorkItemHandlersFromDescriptor(DefaultRegisterableItemsFactory.java:260)
> 	at org.jbpm.runtime.manager.impl.DefaultRegisterableItemsFactory.getWorkItemHandlers(DefaultRegisterableItemsFactory.java:84)
> 	at org.jbpm.runtime.manager.impl.KModuleRegisterableItemsFactory.getWorkItemHandlers(KModuleRegisterableItemsFactory.java:98)
> 	at org.jbpm.runtime.manager.impl.AbstractRuntimeManager.registerItems(AbstractRuntimeManager.java:119)
> 	at org.jbpm.runtime.manager.impl.PerProcessInstanceRuntimeManager$PerProcessInstanceInitializer.initKieSession(PerProcessInstanceRuntimeManager.java:514)
> 	at org.jbpm.runtime.manager.impl.RuntimeEngineImpl.getKieSession(RuntimeEngineImpl.java:70)
> 	at org.jbpm.kie.services.impl.ProcessServiceImpl.signalProcessInstance(ProcessServiceImpl.java:173)
> 	at org.kie.server.services.jbpm.ProcessServiceBase.signalProcessInstance(ProcessServiceBase.java:153)
> 	at org.kie.server.remote.rest.jbpm.ProcessResource.signalProcessInstance(ProcessResource.java:185)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_121]
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_121]
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_121]
> 	at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_121]
> 	at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:168)
> 	at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269)
> 	at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227)
> 	at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216)
> 	at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:583)
> 	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:565)
> 	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:130)
> 	at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)
> 	at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
> 	at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
> 	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:832)
> 	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:620)
> 	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:553)
> 	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:482)
> 	at org.openshift.kieserver.web.redirect.RedirectFilter.doFilter(RedirectFilter.java:150)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
> 	at org.openshift.kieserver.web.security.SecurityFilter.doFilter(SecurityFilter.java:73)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149)
> 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:512)
> 	at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:150)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:854)
> 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:656)
> 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926)
> 	at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_121]
> {noformat}
> see https://github.com/droolsjbpm/jbpm/blob/6.4.x/jbpm-runtime-manager/src/main/java/org/jbpm/runtime/manager/impl/DefaultRegisterableItemsFactory.java#L210
> and https://github.com/droolsjbpm/droolsjbpm-knowledge/blob/6.4.x/kie-internal/src/main/java/org/kie/internal/runtime/conf/ObjectModelResolverProvider.java#L37
> (seems like resolvers could be an non-null empty array still for the second thread, as it would not go into the synchronized block... )



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the jboss-jira mailing list