What does HRESULT 0x87C51030 (UTC_E_TIME_TRIGGER_ON_START_INVALID) mean?

 
Previous Next
UTC_E_ESCALATION_DIRECTORY_ALREADY_EXISTS UTC_E_TIME_TRIGGER_ONLY_VALID_ON_SINGLE_TRANSITION

UTC_E_TIME_TRIGGER_ON_START_INVALID

Map the code to the scenario graph: transition from the reserved _start state

UTC_E_TIME_TRIGGER_ON_START_INVALID has the unsigned value 0x87C51030. In UTC it comes from scenario state-machine trigger validation, where transition from the reserved _start state owns the decision. A reliable investigation preserves the producing action before any cleanup runs. The immediate contract failed because a time trigger was attached to a transition whose source is the initial _start state, so diagnosis should remain at that boundary until a controlled comparison crosses it.

Time, event and forwarded triggers participate in a scenario state machine. Their type, ownership, source state and transition cardinality are configuration contracts; changing the observed event cannot repair an invalid graph.

Data needed for triage

UTC diagnostic fieldValue
Owning state or objecttransition from the reserved _start state
Producing layerscenario state-machine trigger validation
Do not confuse withUTC_E_TIME_TRIGGER_ONLY_VALID_ON_SINGLE_TRANSITION concerns one timer shared by multiple transitions
Evidence to collectstate graph, source/target states, trigger type, scenario schema and authoring-tool validation
Narrow comparisonmove the same duration to a transition from a real runtime state

Reproduce without collateral changes

  1. Associate this result with one request, one scenario version and one service process ID.
  2. Save state graph, source/target states, trigger type, scenario schema and authoring-tool validation and the first lower-level HRESULT if one exists.
  3. Change no policy, provider set or destination except for this test: move the same duration to a transition from a real runtime state.
  4. Compare the produced artifacts and operational events, not only the top-level return value.

Nearby result: UTC_E_TIME_TRIGGER_ONLY_VALID_ON_SINGLE_TRANSITION — concerns one timer shared by multiple transitions.

Platform-state note

Capture capability and identity state at the moment this result is returned. Session, container, service and destination state can change asynchronously, so a later successful query does not describe the state at failure.

Fix the contract

Model initial entry as an immediate transition and start timing only after the scenario enters a concrete state.

Technical references


Looking for a different code? Search another status or error code.