Site icon EfmSoft

What does HRESULT 0x80220023 (WCM_E_CYCLICREFERENCE) mean?

 
Previous Next
WCM_E_MANIFESTCOMPILATIONFAILED WCM_E_MIXTYPEASSERTION

WCM_E_CYCLICREFERENCE

WCM_E_CYCLICREFERENCE is the failure HRESULT 0x80220023 (signed decimal -2145255389, unsigned decimal 2149711907). Its severity bit is 1, facility is 34 (FACILITY_STATE_MANAGEMENT), and the facility-specific code field is 0x0023.

AllStat records the Windows SDK description as “Cyclic reference detected.”

Exact meaning and contract boundary

The metadata reference graph contains a cycle. The operation reached resolution of expressions, substitutions, settings dependencies, or metadata references during compilation/validation. The first branch to test is whether expression A references B while B references A; keep that separate from the possibility that substitutions expand recursively.

Where the result appears

At this boundary, capture the reference chain reported near the failure, then correlate it with all definitions and source files participating in the cycle. Assign ownership only after checking merge/include order.

Likely cause branches

Evidence that resolves the ambiguity

Diagnostic sequence

Retry and recovery

Retry only after changing the reference graph. Evaluation order cannot make a true cycle safe.

Difference from nearby WCM results

WCM_E_CONFLICTINGASSERTION describes incompatible rules without requiring a reference loop. CYCLICREFERENCE specifically identifies recursive dependency.

Practical scenario

Two substitutions each expand to text containing the other substitution. Neither can be resolved to a terminal value.

Logging and engineering guidance

For operational telemetry, retain merge/include order; also record a graph of symbol dependencies. Preserve a redacted summary of the shortest cycle obtained by removing unrelated metadata; use a cryptographic hash when that evidence is a file, stream, or generated artifact.

Verify the shortest loop

A long manifest can hide a small cycle. Report the minimal closed chain of symbols or settings; unrelated dependency edges only make the correction harder to review.

Official Microsoft references.


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

Exit mobile version