What does HRESULT 0x80670005 (STATEREPOSITORY_ERROR_DICTIONARY_CORRUPTED) mean?

 
Previous Next
STATEREPOSITORY_E_UNKNOWN_SCHEMA_VERSION STATEREPOSITORY_E_BLOCKED

STATEREPOSITORY_ERROR_DICTIONARY_CORRUPTED

STATEREPOSITORY_ERROR_DICTIONARY_CORRUPTED belongs to Windows StateRepository. It marks StateRepository detected invalid dictionary data rather than ordinary lock contention. The useful starting point is the exact API, object and state transition that returned 0x80670005, because a shell or application message can hide that boundary.

Where this result is raised

StateRepository is infrastructure for the Windows application model., the HRESULTs expose distinctions familiar from transactional stores: optimistic concurrency, an unfinished prepared statement, database-versus-table locking, shared-cache contention, recovery, schema compatibility, corruption, and service shutdown. During a this result investigation, these are not interchangeable reasons to delete the repository.

When it is returned, dictionary structures map identifiers and metadata used by higher-level repository records. During a this result investigation, corruption may be localized even when the database file opens, so evidence should distinguish logical dictionary validation from generic file-system damage.

The first owner to inspect is the StateRepository request, database connection, prepared statement, transaction, schema generation, or service lifecycle that rejected the operation.

Evidence worth collecting

  • Validation error and dictionary identity. for it, this pins the event to an object or resource generation within the Windows StateRepository boundary.
  • Database integrity-check output on a copy. for it, this places the event on the lifecycle or transaction timeline within the Windows StateRepository boundary.
  • Storage or servicing events. for it, this separates caller input from environment and service state within the Windows StateRepository boundary.
  • Last successful write and shutdown. for it, this creates a stable comparison across retries or another machine within the Windows StateRepository boundary.

A controlled diagnostic sequence

During a this result investigation, reduce the case while preserving the condition described by the HRESULT.

  1. First: Stop mutation and preserve the original file.
  2. Next: Run supported integrity checks on a copy.
  3. Then: Correlate with disk, update, and abrupt-power events.
  4. Finally: Prefer supported rebuild or repair paths over row editing.

How to interpret comparison tests

ControlInterpretationHold constant
Same database copy, isolated connectionsA change points to connection/statement/transaction ownership rather than stored content.While diagnosing this result, use a copy and preserve schema plus repository generation.
Same object, reduced operationIf the result follows one specific transition, statement, file, or ceremony step, the failure is localized.While diagnosing it, remove only unrelated work and keep the first failing boundary visible.
Same operation, controlled environmentIf the result follows one machine, account, volume, network, or device, environment matters.While diagnosing it, keep versions and identity explicit rather than comparing only the final message.

What this code does not justify

CACHE_CORRUPTED affects derived cache data; DICTIONARY_CORRUPTED identifies repository dictionary structures.

Do not use broad registry cleaners or delete arbitrary AppRepository files while services are running.

Verification after correction

Treat it as corrected only when the repaired or rebuilt repository passes validation and repeated application-model operations without recreating corruption; retain the original negative case so fallback cannot be mistaken for repair.

Technical references

The references below define the API family or storage/protocol behavior used to interpret it.


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