| Previous | Next |
| ERROR_RELOC_CHAIN_XEEDS_SEGLIM | ERROR_ENVVAR_NOT_FOUND |
ERROR_INFLOOP_IN_RELOC_CHAIN
What ERROR_INFLOOP_IN_RELOC_CHAIN means
ERROR_INFLOOP_IN_RELOC_CHAIN is Win32 system error code associated with the documented message: “The operating system cannot run %1.” The significant condition is that the loader found a cycle while following relocation entries in a legacy executable.
Relocation processing adjusts addresses when the image is placed in memory. With this result, a malformed chain is an image-integrity problem: the loader cannot safely guess which fixups were intended.
Likely causes
- a relocation entry points back to an earlier entry
- binary corruption changed a next-link offset
- a custom packer or patch generator emitted an invalid relocation graph
Troubleshooting steps
- walk the relocation chain while tracking visited offsets
- Identify the first repeated relocation record
- Restore or rebuild the image rather than attempting to skip the malformed fixup
Code-specific investigation notes
A relocation chain must terminate. Recording visited offsets distinguishes a true cycle from a merely long but valid sequence.
The first repeated offset and the record that points to it are the key evidence for the build or packaging tool owner.
Skipping the repeated entry is unsafe because the loader cannot know whether subsequent fixups were omitted or intentionally shared.
Example
A post-build packer rewrites a legacy executable. The packaged file copies successfully, but its relocation data is inconsistent and startup stops with it.
Difference from related errors
ERROR_RELOC_CHAIN_XEEDS_SEGLIM reports an out-of-bounds chain; it reports a chain that loops without terminating.
References
Looking for a different code? Search another status or error code.