| Previous | Next |
| ERROR_DRIVER_CANCEL_TIMEOUT | ERROR_LOST_WRITEBEHIND_DATA |
ERROR_REPLY_MESSAGE_MISMATCH
What ERROR_REPLY_MESSAGE_MISMATCH means
The code indicates loss of protocol correlation. The reply may carry an unexpected identifier, belong to an older request, target a different client, or arrive after the original request was canceled and its slot reused.
Where it commonly appears
- Local RPC or LPC/ALPC-style communication
- Service brokers and subsystem processes
- Client libraries that multiplex several outstanding calls
- Custom transports that wrap native request/reply facilities
Likely causes
- Request identifiers were reused too early
- A stale reply arrived after timeout or reconnect
- Message framing or structure versions differ between client and server
- Concurrent access corrupted correlation state
- A server replied on the wrong channel or to the wrong caller context
Troubleshooting checklist
- Capture request and reply identifiers, connection generation, process IDs, and message sizes
- Check whether the mismatch follows a timeout, cancellation, service restart, or reconnect
- Verify that both sides use the same structure packing and protocol version
- Reproduce with one outstanding request to distinguish concurrency from format problems
Guidance for developers
Reject the mismatched reply rather than delivering it to the current caller. Never solve the issue by accepting any available response. Use monotonically increasing correlation IDs combined with a connection-generation value, and retire IDs only after late replies can no longer arrive.
Guidance for administrators
Restarting the client and server may clear stale state, but repeated mismatches require protocol logs from both sides. Check that mixed software versions were not deployed.
Example
A client times out request 42, reconnects, and resets its counter to 42. A delayed reply from the previous connection arrives and is mistaken for the new request. Including the connection generation in the correlation key prevents the collision.
Related conditions
This is more specific than ERROR_INVALID_DATA. The message can be structurally valid while still being the wrong reply for the outstanding request.
References
Looking for a different code? Search another status or error code.
