| Previous | Next |
| E_SYNCENGINE_UNKNOWN_SERVICE_ERROR | E_SYNCENGINE_REQUEST_BLOCKED_BY_SERVICE |
E_SYNCENGINE_SERVICE_RETURNED_UNEXPECTED_SIZE
The scope of E_SYNCENGINE_SERVICE_RETURNED_UNEXPECTED_SIZE is Windows cloud-file and sync-engine infrastructure: downloaded content length did not match the size promised by the service or metadata. Preserve 0x8802C005 beside the returning call before cleanup or retry creates a more generic secondary failure.
Read the condition first
A size mismatch can indicate truncated transfer, stale metadata, wrong range handling, content transformation, or the item changing during download. Integrity should be checked before replacing a valid local version.
Inspect the local sync root, placeholder state, file-system operation, provider request, network exchange, account policy, or remote storage operation that produced the HRESULT.
Keep neighboring conditions separate
REQUEST_BLOCKED is a policy result; UNEXPECTED_SIZE means data arrived but violated transfer metadata.
Do not pad, truncate, or publish the staging file to make lengths match.
Incident record
- Expected and received byte counts.
- Range request and response headers.
- Remote version/ETag.
- Content hash when available.
Reproduce without destroying evidence
The investigation should change one variable at a time and keep the original failing sample.
- First: Discard the incomplete staging file.
- Next: Repeat against the same immutable remote version.
- Then: Validate range and compression handling.
- Finally: Commit locally only after size and integrity checks.
Three useful controls
- Second supported path for the same stable item: a changed result separates retained object, connection, path, host, or device state from the original input. Hold constant: keep account, remote item version, and client build fixed.
- Reduced failing operation: If this result follows the reduced step, the rejecting transition is localized. Hold constant: retain expected and received byte counts and remove only unrelated work.
- Targeted corrective control: Use this as a diagnostic branch rather than a blanket workaround: discard the incomplete staging file. Hold constant: keep the original failing sample available for the final regression test.
Definition of done
Closure requires the immutable-version download matches size and integrity across full and ranged transfers; then repeat the next lifecycle operation to detect stale state.
Technical references
The references below define the API family or storage/protocol behavior used to interpret this result.
Looking for a different code? Search another status or error code.
