All Business Processes are stuck
Possible causes of issues related to no visible progress in running Business Processes (BP) can be as follows:
Process code itself
Infrastructure problems
Faulty Business Process design
Probable root causes related to the BP design include:
Improper conditions in loops, leading to infinite execution or non-limited requests for external resources and a long wait for their availability. Since all Workers are busy with such tasks, there is no visible progress for other processes.
Documents stuck on the intake stage, like in the example below. A document with a missed value in one of the fields causes
NullPointerException, and the process tries to take it many times with no luck. Fixing it requires changing or removing faulty data.org.webharvest.exception.ScriptException
Config line 4: script block
com.workfusion.idp.common.exceptions.ProcessingException: Cannot process transaction
at org.webharvest.runtime.scripting.GroovyScriptEngine.eval(GroovyScriptEngine.java:141)
Caused by: com.workfusion.idp.common.exceptions.ProcessingException: Cannot process transaction
at com.workfusion.idp.usecase.app.AppWithExceptions.processTransaction(AppWithExceptions.java:134)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:237)
... 25 more
Caused by: java.lang.NullPointerException
at java.lang.String.contains(String.java:2133)
at com.workfusion.idp.usecase.utils.HtmlUtils.pageContains(HtmlUtils.java:42)
... 31 more
To investigate the issues in detail, refer to Verify symptoms of non-operational Business Process.
Service failures and connectivity issues
Worker memory issue
The issue causes continuous termination due to java.lang.OutOfMemoryError: Java heap space.
For details, see Issues related to execution failures on Worker side.
RabbitMQ connection issues
These issues can leave traces in the logs:
RabbitMQ log
** ERROR ** mnesia_event got {inconsistent_database, running_partitioned_network, 'rabbit@int3-workfusion.com'}Task Dispatcher Service (TDS) log
"message": "Queue not present, scheduling consumer SimpleConsumer [queue=exec.workfusion.com.task.17e2cae4-436f-4150-aa98-7b05f63fc650-4069, consumerTag=null identity=63d4af6e] for restart",
"logger_name": "org.springframework.amqp.rabbit.listener.DirectMessageListenerContainer",
"stack_trace": "java.io.IOException: null
at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:126)
at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:122)
at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:144)
at com.rabbitmq.client.impl.ChannelN.queueDeclarePassive(ChannelN.java:1006)
... 43 common frames omitted
Caused by: com.rabbitmq.client.ShutdownSignalException: channel error; protocol method: #method<channel.close>(reply-code=404, reply-text=NOT_FOUND - no queue 'exec.workfusion.com.task.17e2cae4-436f-4150-aa98-7b05f63fc650-4069' in vhost 'bep', class-id=50, method-id=10)
\tat com.rabbitmq.client.impl.ChannelN.asyncShutdown(ChannelN.java:516)
These messages mean that those were network connectivity issues that led to the RabbitMQ cluster inconsistency. The solution is to restart the service.
Task Dispatcher Service issues
The following issues are possible:
The service configuration is incorrect.
BP executions are stopped due to the exception in the TDS:
com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalStateException: Failed to check status node for BP instance '495b3814-aca0-4e59-b3a7-959c0c88b6e0'
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2050)The described issue was caused by the error below:
Failed to start connector [Connector[HTTP/1.1-9090]]","logger_name":"org.apache.catalina.core.StandardService","thread_name":"main","level":"ERROR","level_value":40000,"stack_trace":"org.apache.catalina.LifecycleException: Failed to start component [Connector[HTTP/1.1-9090]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
at org.apache.catalina.core.StandardService.addConnector(StandardService.java:225)Based on this message, the embedded Tomcat failed to start due to the port issue at the TDS startup. In this case, an infrastructure fix and service restart should help resolve the problem.
TDS is not subscribed to any RabbitMQ queue.
In the TDS logs, you can see the following error:
"message":"There is some exception on process scheduler task.",
"logger_name":"com.workfusion.spa.core.service.task.dispatcher.configuration.TaskSchedulerErrorHandler",
"stack_trace":"java.lang.IllegalStateException: Failed to retrieve status node for BP instance '69071138-1748-40aa-aa5e-4943441f70b0'
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)Check if the mentioned BP UUIDs are present on the ZooKeeper path:
/control-tower/execution/active-instances.The solution is to remove all records from the path via the
deleteallcommand in the ZooKeeper console:"deleteall /control-tower/execution/active-instances".After that, Workers should start to scale, and BPs—to move forward.
BEP Agent, BEP, and RPA Worker issues
Other issues include those caused by hanging of particular steps, like OCR processing. This is related to the service unavailability or connection to RabbitMQ for task consumption. For detailed instructions, refer to the Troubleshoot infrastructure article.
View also: