What does Windows error code 559 (ERROR_BAD_FUNCTION_TABLE) mean?

 
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

  1. Capture the failing instruction, module base, runtime-function entry, and unwind record bytes
  2. Verify digital signatures and image integrity
  3. Inspect JIT calls to RtlAddFunctionTable or RtlInstallFunctionTableCallback
  4. 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.