Camunda Cockpit Shows Incident but No Error – Root Cause & Solution

 In Camunda 7, Cockpit incidents are meant to help operators quickly identify failures in running processes.

However, a confusing and very common production issue is:

Camunda Cockpit shows an Incident, but no clear error message or stack trace is visible.

This blog explains why this happens, how to trace the real root cause, and practical solutions used in enterprise projects.


1️⃣ What Is an Incident in Camunda?

An incident is created when:

  • A job execution fails

  • Retries reach 0

  • The engine cannot continue process execution

Incidents are typically linked to:

  • Failed service tasks

  • External tasks

  • Timers

  • Asynchronous continuations


2️⃣ Why Cockpit Shows Incident but No Error

🔴 Root Cause 1: Exception Occurred Earlier, Not in Current Step

Camunda only displays the last known failure, not always the original exception.

📌 The real error may have occurred:

  • In a previous async step

  • In an earlier delegate execution

  • During a retry attempt

Solution:

  • Check History → Incidents

  • Review engine logs around the first failure timestamp


🔴 Root Cause 2: Exception Is Swallowed in Custom Code

Custom Java Delegates often catch exceptions like this:

try { // business logic } catch (Exception e) { log.error("Error occurred"); }

This hides the real exception from Camunda.

Solution:
Always rethrow the exception:

catch (Exception e) { throw new RuntimeException(e); }

🔴 Root Cause 3: Incident Linked to Async Job, Not BPMN Element

Incidents are tied to jobs, not directly to BPMN elements.

So Cockpit may show:

  • Incident at process level

  • No visible error on the task

Solution:

  • Open Cockpit → Jobs

  • Locate the failed job ID

  • Match it with logs using the job execution time


🔴 Root Cause 4: Logs Are Not in DEBUG Mode

By default, Camunda logs may be insufficient.

Solution:
Enable DEBUG logging for job execution:

org.camunda.bpm.engine.jobexecutor=DEBUG org.camunda.bpm.engine.impl.persistence.entity=DEBUG

This reveals:

  • Job acquisition

  • Execution failures

  • Retry handling


🔴 Root Cause 5: External Task Worker Failure

If you use External Tasks:

  • Worker crashes

  • Business error not reported

  • Timeout exceeded

Cockpit shows an incident, but no stack trace exists in the engine.

Solution:

  • Check external worker logs

  • Verify handleFailure() is called with error details


🔴 Root Cause 6: Transaction Rollback Without Exception

Failures like:

  • Database deadlocks

  • Constraint violations

  • Timeout rollbacks

may trigger incidents without clear messages in Cockpit.

Solution:

  • Inspect database logs

  • Enable SQL debug logging

  • Check application server logs


🔴 Root Cause 7: History Level Too Low

If history level is none or activity, Camunda cannot store full error details.

Solution:
Set history to full:

<property name="history">full</property>

3️⃣ How to Find the Real Error (Step-by-Step)

✔ Open Cockpit → Incidents
✔ Note Process Instance ID
✔ Check Engine logs by timestamp
✔ Inspect ACT_RU_JOB and ACT_RU_INCIDENT
✔ Review external worker logs (if applicable)


4️⃣ SQL Queries for Debugging

SELECT * FROM ACT_RU_INCIDENT;
SELECT ID_, EXCEPTION_STACK_ID_ FROM ACT_RU_JOB WHERE RETRIES_ = 0;

Use EXCEPTION_STACK_ID_ to locate stack traces.


5️⃣ Production Best Practices

✅ Never swallow exceptions
✅ Always log full stack traces
✅ Enable DEBUG logs in production temporarily
✅ Monitor retries and incidents
✅ Keep history level = full


6️⃣ When to Ask for Expert Help

If:

  • Incidents appear without explanation

  • Production debugging is slow

  • Failures happen only under load

Then expert investigation is required.


💼 Professional Support Available

If you are facing issues in real production projects related to Camunda incidents, job failures, or missing error details, I provide paid consulting, production debugging, project support, and focused trainings.

📧 Contactishikhanirankari@gmail.com | info@realtechnologiesindia.com

🌐 WebsiteIT Trainings | Digital metal podium

Comments

Popular posts from this blog

jBPM Installation Guide: Step by Step Setup

Scopes of Signal in jBPM

OOPs Concepts in Java | English | Object Oriented Programming Explained