| Previous | Next |
| ERROR_UNEXPECTED_MM_EXTEND_ERR | ERROR_NO_GUID_TRANSLATION |
ERROR_BAD_FUNCTION_TABLE
What this result means
ERROR_BAD_FUNCTION_TABLE is a Windows system result. The exception unwinder found malformed or inconsistent function-table metadata. On 64-bit Windows this metadata describes nonleaf stack frames and is essential for exceptions, stack walking, and debugging.
Why it can appear
- a module or JIT registered incorrect runtime-function entries
- executable memory was freed or modified while unwind metadata remained registered
- binary corruption or unsupported patching damaged.pdata or unwind information
- the wrong architecture or image layout was used when interpreting addresses
Troubleshooting steps
- Capture the failing instruction, module base, runtime-function entry, and unwind record bytes
- Verify digital signatures and image integrity
- Inspect JIT calls to RtlAddFunctionTable or RtlInstallFunctionTableCallback
- Check that executable ranges and metadata lifetimes match exactly
Correct recovery and handling
Repair or update the module that owns the function table. JITs must unregister tables before releasing code and must publish fully initialized metadata before execution. Avoid continuing after unwind metadata corruption.
Related and easily confused conditions
A bad function table can make an otherwise recoverable exception fatal because Windows cannot safely locate caller frames or cleanup handlers.
References
Looking for a different code? Search another status or error code.