Site icon EfmSoft

What does HRESULT 0x80670010 (STATEREPOSITORY_E_SERVICE_STOP_IN_PROGRESS) mean?

 
Previous Next
STATEREPOSITORY_E_LOCKED_SHAREDCACHE_TIMEOUT_EXCEEDED STATEREPOSTORY_E_NESTED_TRANSACTION_NOT_SUPPORTED

STATEREPOSITORY_E_SERVICE_STOP_IN_PROGRESS

Within Windows StateRepository, STATEREPOSITORY_E_SERVICE_STOP_IN_PROGRESS reports that the request arrived while the StateRepository service was stopping. Diagnosis of this result should follow the original owner and generation rather than treating the visible symptom as the cause.

Mechanism behind the code

During a this result investigation, 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., these are not interchangeable reasons to delete the repository.

Service stop is a lifecycle boundary: new work should be rejected while in-flight transactions and database resources drain., a caller that immediately restarts work can create a stop/start race.

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

High-value telemetry

CaptureDiagnostic value
Service state and stop trigger for it.This places the failure on the lifecycle or transaction timeline and helps test the Windows StateRepository boundary.
Caller request time for it.This separates caller input from environment and service state and helps test the Windows StateRepository boundary.
In-flight transaction count for it.This provides a stable comparison across retries or another machine and helps test the Windows StateRepository boundary.
Retry or restart owner for it.This identifies the exact object or resource generation involved and helps test the Windows StateRepository boundary.

Decision table

Safe reduction procedure

When it is returned, use a disposable control object, repository copy, file, or device association where the subsystem permits it.

  1. First: Stop issuing new requests after stop notification.
  2. Next: Let in-flight work resolve according to contract.
  3. Then: Wait for a new service generation before retrying.
  4. Finally: Tag connections and requests by generation.

Do not erase the distinction

During a it investigation, STATEREPOSITORY_E_BLOCKED can occur during other internal phases; SERVICE_STOP_IN_PROGRESS is specifically teardown.

Do not force-start another service instance or reuse connections from the stopping generation.

Successful outcome

Verify it with the original scenario, one boundary case, and one deliberate failure; success means all old-generation work drains or fails deterministically and new work begins only after a confirmed start.

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.

Exit mobile version