sqlmapproject/sqlmap · error · OracleUndecided

host code failed final equality

Error message

host code failed final equality

What it means

Error "host code failed final equality" thrown in sqlmapproject/sqlmap.

Source

Thrown at extra/esperanto/engine.py:161

        def read(pos):
            mode = strategy.compare_mode
            if mode == "code":
                code = strategy.renderCode(expr, pos)
                top = 0x10FFFF
                for cap in (127, 255, 0xFFFF, 0x10FFFF):
                    if not ask(strategy.renderGt(code, cap, HUGE)):
                        top = cap
                        break
                a, b = 0, top
                while a < b:
                    m = (a + b) // 2
                    a, b = (m + 1, b) if ask(strategy.renderGt(code, m, HUGE)) else (a, m)
                # FINAL EQUALITY on the code: comparator semantics are INDEPENDENT of the code
                # fn's semantics, so a '>'->'>=' rewrite on the code expression converges off-by-
                # one even when the code fn is codepoint-faithful. Confirm directly, else fail.
                if not ask("(%s)=%d" % (code, a)):
                    raise OracleUndecided("host code failed final equality")
                return _unichr(a)
            if mode in ("collation", "ordinal"):
                cs = _PRINTABLE_SORTED
                a, b = 0, len(cs) - 1
                while a < b:
                    m = (a + b) // 2
                    a, b = (m + 1, b) if ask(strategy.renderCharCmp(expr, pos, cs[m], ">")) else (a, m)
                return cs[a]
            for ch in _FREQ_ORDER:                          # equality scan
                if ask(strategy.renderCharCmp(expr, pos, ch, "=")):
                    return ch
            return _REPL

        value = "".join(read(i) for i in range(1, length + 1))
        warns = ["contains unresolved char"] if _REPL in value else []
        if strategy.compare_mode == "equality-ci":
            warns.append("lossy equality collation: case/accents ambiguous")
        # WHOLE-VALUE verification: mirrors the native verify. Run it regardless of code-point

View on GitHub (pinned to 0a35b20e39)

When it happens

Trigger: Thrown at extra/esperanto/engine.py:161 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of sqlmapproject/sqlmap@0a35b20e39 (2026-08-26). Data as JSON: /api/errors/e5bf1ef7e42441c7. Report an issue: GitHub.