| Previous | Next |
| ERROR_NO_MORE_MATCHES | ERROR_SERVER_SID_MISMATCH |
ERROR_RANGE_LIST_CONFLICT
What this result means
ERROR_RANGE_LIST_CONFLICT is a Windows system result. Range lists are used to track resources such as addresses, ports, memory, or device allocations. The requested interval violates the list policy, usually because it intersects an already reserved interval or duplicates ownership.
Likely causes
- the new start/end values overlap an existing entry
- inclusive and exclusive boundary conventions were mixed
- integer overflow wrapped the computed end of the range
- concurrent allocation checked and inserted without one atomic synchronization boundary
Where this code is usually encountered
- A driver or resource manager inserts a range overlapping an existing incompatible range.
- Removal or split logic leaves stale intervals in an internal range list.
- Concurrent updates occur without the lock required by the range-list contract.
Useful evidence
- the new start/end range and conflicting existing range
- range attributes and owner identifiers
- the add, delete, merge, and split operation sequence
- locking, IRQL, and concurrent caller stacks
Troubleshooting steps
- Log ranges in one consistent inclusive/exclusive convention to avoid off-by-one confusion.
- Validate that the conflict is not an intentional shared range allowed by attributes.
- Replay the operation sequence in a checked diagnostic build with invariant validation after each mutation.
- Audit teardown for entries that survive after their device, mapping, or transaction owner is gone.
Guidance for developers
Use overflow-safe arithmetic when computing end addresses. Serialize mutations, make ownership explicit, and reject malformed or reversed ranges before touching the list.
Guidance for administrators
This is usually a component defect, not a setting to tune. Update the responsible driver and collect a kernel dump when the conflict affects device start or memory mapping.
How to interpret it correctly
A resource shortage means no suitable range exists; a conflict means the requested range intersects an already represented incompatible interval.
Example failure pattern
Suppose a driver reserves [0x1000,0x1fff] and later attempts to add [0x1800,0x27ff]. Logging only lengths hides the overlap; logging normalized endpoints, owner, flags, and the mutation sequence immediately exposes it. Also verify arithmetic does not wrap when start plus length is converted to an end address.
Retry and recovery policy
A retry with the same interval is unsafe and pointless. Recalculate or release the conflicting ownership under the proper lock, then perform a new validated insertion.
References
Looking for a different code? Search another status or error code.
