Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-11419

Fetch And Lock Fail with "NullReferenceExcption" after increasing retries of failed external task

    XMLWordPrintable

Details

    • Bug Report
    • Resolution: Duplicate
    • L3 - Default
    • None
    • None
    • engine
    • None

    Description

      Hi,

      we have some issues with calling "engine-rest/external-task/fetchAndLock":

      1. We have on external task that failed. That's why the task is set to incident state. Import: The incident has an error message but no error details.
      2.  First problem: If we click on the error message in camunda cockpit, we get the following message: "Server Error : The server reported an internal error. Try to refresh the page or login and out of the application."
      3. If we now increase the retries in Camunda cockpit and we call "engine-rest/external-task/fetchAndLock" the we get the following result via REST-API:

      {
          "type""NullPointerException",
          "message"null
      }
      In our log we find the following stack trace

       

      17-Feb-2020 10:22:51.127 SEVERE [http-nio-8080-exec-11] org.camunda.commons.logging.BaseLogger.logError ENGINE-16004 Exception while closing command context: null

                      java.lang.NullPointerException

                                     at java.base/java.lang.String.<init>(String.java:561)

                                     at org.camunda.bpm.engine.impl.util.StringUtil.fromBytes(StringUtil.java:126)

                                     at org.camunda.bpm.engine.impl.util.StringUtil.fromBytes(StringUtil.java:112)

                                     at org.camunda.bpm.engine.impl.util.ExceptionUtil.getExceptionStacktrace(ExceptionUtil.java:46)

                                     at org.camunda.bpm.engine.impl.persistence.entity.ExternalTaskEntity.getErrorDetails(ExternalTaskEntity.java:278)

                                     at org.camunda.bpm.engine.impl.externaltask.LockedExternalTaskImpl.fromEntity(LockedExternalTaskImpl.java:150)

                                     at org.camunda.bpm.engine.impl.cmd.FetchExternalTasksCmd.execute(FetchExternalTasksCmd.java:79)

                                     at org.camunda.bpm.engine.impl.cmd.FetchExternalTasksCmd.execute(FetchExternalTasksCmd.java:40)

                                     at org.camunda.bpm.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:28)

                                     at org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:110)

                                     at org.camunda.bpm.engine.impl.interceptor.ProcessApplicationContextInterceptor.execute(ProcessApplicationContextInterceptor.java:70)

                                     at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:33)

                                     at org.camunda.bpm.engine.impl.externaltask.ExternalTaskQueryTopicBuilderImpl.execute(ExternalTaskQueryTopicBuilderImpl.java:60)

                                     at org.camunda.bpm.engine.rest.impl.FetchAndLockHandlerImpl.executeFetchAndLock(FetchAndLockHandlerImpl.java:268)

                                     at org.camunda.bpm.engine.rest.impl.FetchAndLockHandlerImpl.tryFetchAndLock(FetchAndLockHandlerImpl.java:251)

                                     at org.camunda.bpm.engine.rest.impl.FetchAndLockHandlerImpl.addPendingRequest(FetchAndLockHandlerImpl.java:316)

                                     at org.camunda.bpm.engine.rest.impl.FetchAndLockRestServiceImpl.fetchAndLock(FetchAndLockRestServiceImpl.java:38)

                                     at jdk.internal.reflect.GeneratedMethodAccessor2155.invoke(Unknown Source)

                                     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

                                     at java.base/java.lang.reflect.Method.invoke(Method.java:566)

                                     at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:140)

                                     at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295)

                                     at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249)

                                     at org.jboss.resteasy.core.ResourceLocatorInvoker.invokeOnTargetObject(ResourceLocatorInvoker.java:138)

                                     at org.jboss.resteasy.core.ResourceLocatorInvoker.invoke(ResourceLocatorInvoker.java:101)

                                     at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:406)

                                     at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:213)

                                     at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:228)

                                     at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)

                                     at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)

                                     at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)

                                     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)

                                     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

                                     at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

                                     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

                                     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

                                     at org.camunda.bpm.engine.rest.filter.CacheControlFilter.doFilter(CacheControlFilter.java:45)

                                     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

                                     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

                                     at org.camunda.bpm.engine.rest.filter.EmptyBodyFilter.doFilter(EmptyBodyFilter.java:99)

                                     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

                                     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

                                     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)

                                     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)

                                     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:526)

                                     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)

                                     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)

                                     at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678)

                                     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)

                                     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)

                                     at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)

                                     at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)

                                     at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:860)

                                     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587)

                                     at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)

                                     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)

                                     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)

                                     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

                                     at java.base/java.lang.Thread.run(Thread.java:834)

      Problem seems that the field "bytes_" in CAMUNDA.ACT_GE_BYTEARRAY is null because we do not provide error details.

      We are using version 7.12-ee.

      Can you please check this.

       

      BR

      Christian

       

      mgm-controller-panel

        This is the controller panel for Smart Panels app

        Attachments

          Activity

            People

              Unassigned Unassigned
              christian.kittel@komsa.de Christian Kittel
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Salesforce