- Home
- Blog
- Troubleshooting
- Several Anomaly Checks Fired on One Job: Which One…
Several Anomaly Checks Fired on One Job: Which One to Fix First
When one job trips several anomaly checks at once, most of the rows are usually symptoms of a single root cause, and the way to find it is to sort by severity and work the critical rows top down. EDGEBIC by User Solutions runs its checks independently, so a single scheduling problem can light up four chips at the same time. Fixing them in display order wastes passes, because several of them will clear on their own once the cause is corrected.
This post covers the documented pairings that share a root cause, the order to work them in, and the combinations that are genuinely unrelated. It is the triage entry in the EDGEBIC troubleshooting guide. For the report itself see how to run the scheduler anomalies report, and for the definition of a check see what is a scheduling anomaly check.
What You Are Seeing
You filter the anomaly report to one job and the chip strip lights up in several places at once: an over-utilization row, an instance collision, an hours mismatch, and a consistency drift row, all naming the same work center and often the same date. Nothing in the display says which one came first.
Why It Happens
The checks are deliberately independent. Each one asks a narrow question about the stored schedule and reports what it sees, without knowing what the others found. That independence is what makes the report trustworthy, and it is also why one defect produces a cluster of rows rather than a single verdict.
A machine unit that ends up carrying two jobs at the same time, for example, is simultaneously a collision, an over-utilization, and, once the hours are summed, a consistency problem. Three checks, one defect.
The Pairings That Share a Root Cause
| What you see together | The usual single cause | Fix this first |
|---|---|---|
| Physical over-utilization, a per-unit overload, and an instance collision | A synchronized parallel machine mirrored a booking onto a unit that was already taken | The parallel configuration, then re-run |
| Mirror drift plus an hours mismatch between the two hour stores | The mirrored operation's window diverged from its parent | The mirror, and the hours mismatch clears with it |
| A zero-length operation plus an hours mismatch | A routing step with no run hours and no setup | The routing step's hours |
| A missing machine unit plus over-utilization | Bookings still point at a machine unit that was deleted | Restore the unit or re-run so the engine picks a live one |
Each row in that table is a documented cascade. In every case the second and third findings are consequences: correct the first and re-run, and they stop reporting.
How to Fix It
- Sort by severity first. Critical before warning, every time. The critical rows are the ones that describe a defect rather than an observation.
- Match the cluster against the pairings above. If it matches, you already know the root cause and can skip the exploration.
- Fix one thing, then re-run scheduling. Do not fix four things in one pass, because you will not learn which fix mattered.
- Re-open the report after the run. The report reads current stored state at load time, so a pane left open across a run shows the old picture.
- Read what survives. Rows that persist after a clean re-run were never part of the cascade.
How to Diagnose It, in Order
- Filter to the job so the schedule-shaped checks report on it alone.
- Sort by severity, then by check identifier, so related rows group together.
- Read the detail column on the critical rows. It carries the concrete values: booked hours against the cap, the two jobs in a collision, the drift in minutes.
- Name one root cause using the pairings table or the description itself.
- Fix it, re-run scheduling, re-open the report, and compare the row count.
- Repeat for whatever is left, and stop when only acceptable warnings remain.
The Combinations That Are Not Related
Not every cluster has a single cause. A booking on a holiday and an ambiguous overlap configuration can appear on the same job and share nothing: one is a calendar entered after the run, the other is a routing setting. Treat the pairings table as a set of known shortcuts rather than a rule that every cluster collapses.
The reliable test is the re-run. Whatever disappears was part of a cascade. Whatever stays was always separate.
How to Prevent It
- Clear critical rows before you publish a plan, which is the discipline described in clearing scheduler anomalies before publishing.
- Watch for a check that reappears on different jobs. That pattern points at shared configuration, usually a work center or a routing, rather than at any one job.
- Get the instance count right on every machine, because an understated count turns normal loading into an over-utilization report and drags other checks along with it. See a work center shows more hours than it has.
- Do not treat warnings as a queue to empty. Idle gaps and hours differences often describe reality, and chasing them hides the critical rows that matter.
Sort by severity and work the critical rows top down. Critical findings usually describe the cause and warning findings usually describe its consequences, so fixing one critical row often clears several others on the next run. Fix one root cause, re-run scheduling, then re-open the report before deciding what remains. Working the list in the order it happens to be displayed leads to fixing symptoms and leaving the cause in place.
Four pairings recur. Physical over-utilization with a per-unit overload and an instance collision points to synchronized parallel machines double-booking a unit. Mirror drift with an hours mismatch means the mirrored operation diverged from its parent. A zero-length operation with an hours mismatch means a routing step has no hours. A missing machine unit with over-utilization means a deleted unit is still carrying bookings.
No. Some combinations are genuinely independent. A booking on a holiday and an ambiguous overlap setting on the same job have nothing to do with each other, and fixing one will not touch the other. Read each row's description before assuming a cascade. The reliable test is to fix the strongest candidate, re-run scheduling, and see which rows disappear: whatever remains was always a separate problem.
Expert Q&A: Deep Dive
Q: One job came back with six rows across four checks and I do not know where to start. What is the fastest path?
A: Sort by severity, then look for one of the known pairings. If you see over-utilization together with an instance collision, start there: a synchronized parallel machine double-booking a unit produces both. Fix that one thing, re-run scheduling for the job, and re-open the report. In most cases the six rows collapse to one or two, and those survivors are the real second problem. Fixing them one at a time in display order would have taken four passes to reach the same place.
Q: I fixed the critical row, re-ran, and now a different check fires that was not there before. Is that normal?
A: It can be. Correcting a booking moves work, and work that moves lands somewhere new, so a check that was quiet can start reporting on the new placement. Read the new row on its own terms rather than assuming your fix broke something. If the new row is a warning describing an idle gap or an hours difference, it may simply be the honest consequence of the corrected plan. If it is critical, treat it as the next root cause and repeat the cycle.
Frequently Asked Questions
Ready to Transform Your Production Scheduling?
User Solutions has been helping manufacturers optimize their production schedules for over 35 years. One-time license, 5-day implementation.

User Solutions Team
Manufacturing Software Experts
User Solutions has been developing production planning and scheduling software for manufacturers since 1991. Our team combines 35+ years of manufacturing software expertise with deep industry knowledge to help factories optimize their operations.
Share this article
Related Articles
An Operation Moved and the Machine Was Free: Finding the Hidden Cause
A job slid and every machine shows open hours. Tooling is the cause the Gantt cannot draw. How to rule it in or out in two minutes before you chase calendars.
An Operation Shows Running Forever Though All Hours Are Logged
A step stays in progress after every hour is logged because completion is an explicit stamp, not an hours threshold. How to close it and stop it recurring.
Another User Changed This Record: Causes and Fixes
EDGEBIC refuses a save when the record moved after you loaded it. The usual cause is a colleague, but the message also appears when you are alone. How to read it and what to do.
