sqlmapproject/sqlmap · error · OracleUndecided
oracle could not decide: %s
Error message
oracle could not decide: %s
What it means
Error "oracle could not decide: %s" thrown in sqlmapproject/sqlmap.
Source
Thrown at extra/esperanto/oracle.py:88
def _ask(self, condition):
# decided boolean, or raise OracleUndecided - NEVER manufacture False from an
# unobservable probe (that would silently corrupt blind bisection). the oracle
# must itself return False for unsupported/rejected SQL; a raised probe means
# "could not observe" and, absent a quorum, is fatal.
if self.quorum <= 1:
r = self._probe(condition)
if self.verbose:
print(" [%s] %s" % ("T" if r else ("E" if r is None else "f"), condition))
if r is None:
# while laddering CANDIDATE rungs an undecidable/erroring probe (oracle
# returned None OR raised - both surface here as None) means "this rung is
# unusable", so read it as False and let the ladder move on; only OUTSIDE
# probing (reading committed data) is it fatal, so a flaky read never
# silently coerces to a definite bit
if self._probing:
return False
self._errors += 1
raise OracleUndecided("oracle could not decide: %s" % condition)
return r
samples = 2 * self.quorum - 1
yes = no = tries = 0
while (yes + no) < samples and tries < samples + self.quorum + 2:
tries += 1
r = self._probe(condition)
if r is None:
self._errors += 1
continue
yes, no = (yes + 1, no) if r else (yes, no + 1)
if yes >= self.quorum or no >= self.quorum:
break
if self.verbose:
state = "T" if yes >= self.quorum else ("f" if no >= self.quorum else "E")
print(" [%s %d:%d] %s" % (state, yes, no, condition))
if yes >= self.quorum:
return TrueView on GitHub (pinned to 0a35b20e39)
When it happens
Trigger: Thrown at extra/esperanto/oracle.py:88 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/af73d69677b63c34.
Report an issue: GitHub.