Uploaded image for project: 'JBoss BPMS Platform'
  1. JBoss BPMS Platform
  2. RHBPMS-4860

[GSS](6.4.z) Insufficient synchronization in ObjectModelResolverProvider

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 6.4.6
    • 6.4.1
    • jBPM Core
    • None
    • kie-server 6.4.0.Final-redhat-13 (BPMS 6.3.4)

      Immediately after server startup with parallel clients, the following error appeared in the logs, suggesting insufficient synchronization in ObjectModelResolverProvider initialization:

      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]
      

      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... )

              swiderski.maciej Maciej Swiderski (Inactive)
              djeremiah David Murphy (Inactive)
              Marian Macik Marian Macik
              Marian Macik Marian Macik
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: