| Previous | Next |
| SQLITE_E_IOERR_CONVPATH | UTC_E_ALTERNATIVE_TRACE_CANNOT_PREEMPT |
UTC_E_TOGGLE_TRACE_STARTED
Where the UTC workflow stopped: alternative trace request
UTC_E_TOGGLE_TRACE_STARTED (0x87C51001) is a Universal Telemetry Client result from the ETW trace-session control layer for it. The decisive question is which UTC object rejected the request for it. Here the relevant owner is alternative trace request: the toggle request started an alternative trace rather than reporting an unsuccessful start for it. This is narrower than a generic failure of Connected User Experiences and Telemetry for it.
The Universal Telemetry Client controls ETW sessions on behalf of diagnostic scenarios for it. ETW sessions have controller-owned names, in-memory buffers, providers, logging modes and lifetimes; a status at this layer should be correlated with the actual session list rather than inferred from the presence of an ETL file for it. Record the configuration package or scenario generation together with the Windows build; otherwise a repaired file can be tested against a stale in-memory graph and appear to fail for the same reason for it.
Evidence to preserve
| UTC diagnostic field | Value |
|---|---|
| Producing layer | ETW trace-session control |
| Owning state or object | alternative trace request |
| Decisive evidence | requested profile, prior session name, trace priority, start timestamp and returned session identity |
| Narrow comparison | issue the same toggle with no active matching session, then with the alternative session already active |
| Do not confuse with | UTC_E_TRACE_NOT_RUNNING concerns a stop or update request for a session that is absent |
The AllStat message names the immediate condition as “Toggle (alternative) trace started” for it. In practice, the useful extension is to ask whether the request was rejected before any side effect, after partial setup, or during cleanup for it. Verify the existence and ownership of the expected output—session, directory, process, result object or emitted event—rather than assuming the message describes the final system state for it.
Controlled reproduction
- Export the relevant
Microsoft-Windows-UniversalTelemetryClient/Operationalevents and preserve their ActivityId or request correlation alongside this result. - Capture requested profile, prior session name, trace priority, start timestamp and returned session identity for it. Do this before restarting the service or deleting any working directory for it.
- Perform this one-variable comparison: issue the same toggle with no active matching session, then with the alternative session already active for it.
- After the comparison, record the next HRESULT and whether the requested session, action, trigger or output object was actually created for it.
The most informative neighbor is UTC_E_TRACE_NOT_RUNNING. The distinction is concrete: UTC_E_TRACE_NOT_RUNNING concerns a stop or update request for a session that is absent for it. Keeping both symbolic names in logs prevents a broad “DiagTrack error” bucket from hiding whether the failure occurred during parsing, authorization, resource acquisition, execution or teardown for it.
Trace-session note
Use an ETW controller view to list session name, GUID, mode, buffers and enabled providers while this result is active. The presence of an ETL file from an earlier run is not proof that the required in-memory session currently exists or is owned by UTC for it.
Correction and verification
Treat the result as state feedback, retain the returned session identity and avoid starting a duplicate controller for it. Apply that change only to the owning boundary for it. A successful repair must make the controlled case cross this boundary while retaining the intended policy, trace providers, destination and security context for it.
Restarting Windows, clearing every ETL file or disabling diagnostic policy is not a justified first response to this result. Those actions destroy evidence and can change several independent UTC gates at once for it.
- the same request now produces its documented success or nonfatal status without a second hidden retry
- the operational log shows one coherent request lifetime and no orphaned action, timer, process or trace session
- teardown followed by a second run does not reuse stale state or recreate alternative trace request
- the nearby condition remains distinguishable: UTC_E_TRACE_NOT_RUNNING concerns a stop or update request for a session that is absent
Technical references
- Microsoft Open Specifications: Windows error-code registry — reference for ETW trace-session control while interpreting this result.
- Microsoft: Universal Telemetry Client configuration diagnosis — reference for ETW trace-session control while interpreting it.
- Microsoft: Event Tracing for Windows
- Microsoft: WPR and ETW sessions
Looking for a different code? Search another status or error code.