| Previous | Next |
| UTC_E_RPC_WAIT_FAILED | UTC_E_TRACE_MIN_DURATION_REQUIREMENT_NOT_MET |
UTC_E_API_BUSY
Where the UTC workflow stopped: serialized UTC API manager slot
The code UTC_E_API_BUSY (0x87C5102B) belongs to Universal Telemetry Client API coordination, inside the Universal Telemetry Client/DiagTrack workflow. The key question is which UTC object rejected the request. It identifies serialized UTC API manager slot and reports that another request currently owns a resource that the API exposes as single-operation-at-a-time; it does not by itself prove that all Windows diagnostic data collection is unavailable.
UTC API requests may cross an RPC boundary and complete asynchronously even when exposed through a synchronous wrapper. Request submission, waiting, cancellation and result retrieval are separate stages, so one request ID should tie the evidence together.
Evidence to preserve
| UTC diagnostic field | Value |
|---|---|
| Producing layer | Universal Telemetry Client API coordination |
| Owning state or object | serialized UTC API manager slot |
| Evidence to collect | active and rejected request IDs, operation types, start times, completion callback and caller threads |
| Narrow comparison | wait for the first request to finish and submit the second exactly once |
| Do not confuse with | UTC_E_ESCALATION_ALREADY_RUNNING is scenario-level concurrency, not general API-manager occupancy |
Controlled reproduction
- Export the relevant
Microsoft-Windows-UniversalTelemetryClient/Operationalevents and preserve their ActivityId or request correlation alongside this result. - Capture active and rejected request IDs, operation types, start times, completion callback and caller threads. Do this before restarting the service or deleting any working directory.
- Perform this one-variable comparison: wait for the first request to finish and submit the second exactly once.
- After the comparison, record the next HRESULT and whether the requested session, action, trigger or output object was actually created.
Nearby result: UTC_E_ESCALATION_ALREADY_RUNNING — is scenario-level concurrency, not general API-manager occupancy.
Request-lifetime note
Assign a correlation identifier before submission and retain it through wait, callback, cancellation and result retrieval. This prevents a late completion from being mistaken for the response to a newer request.
Correction and verification
Serialize calls at the client boundary or use an asynchronous queue with cancellation.
Technical references
- Microsoft Open Specifications: Windows error-code registry — reference for Universal Telemetry Client API coordination while interpreting this result.
- Microsoft: Universal Telemetry Client configuration diagnosis — reference for Universal Telemetry Client API coordination while interpreting this result.
- Microsoft: Remote Procedure Call documentation — reference for Universal Telemetry Client API coordination while interpreting it.
- Microsoft: WaitForSingleObject
Looking for a different code? Search another status or error code.