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
0The 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:
This hides the real exception from Camunda.
✅ Solution:
Always rethrow the exception:
🔴 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:
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:
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
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.
📧 Contact: ishikhanirankari@gmail.com | info@realtechnologiesindia.com
🌐 Website: IT Trainings | Digital metal podium
Comments
Post a Comment