{"record":{"id":"b14b1d9a04bb2885","repo":"sqlmapproject/sqlmap","slug":"oracle-vote-undecided-s-d-true-d-false","errorCode":null,"errorMessage":"oracle vote undecided: %s (%d true / %d false)","messagePattern":"oracle vote undecided: (.+?) \\((.+?) true / (.+?) false\\)","errorType":"exception","errorClass":"OracleUndecided","httpStatus":null,"severity":"error","filePath":"extra/esperanto/oracle.py","lineNumber":111,"sourceCode":"        while (yes + no) < samples and tries < samples + self.quorum + 2:\n            tries += 1\n            r = self._probe(condition)\n            if r is None:\n                self._errors += 1\n                continue\n            yes, no = (yes + 1, no) if r else (yes, no + 1)\n            if yes >= self.quorum or no >= self.quorum:\n                break\n        if self.verbose:\n            state = \"T\" if yes >= self.quorum else (\"f\" if no >= self.quorum else \"E\")\n            print(\"  [%s %d:%d] %s\" % (state, yes, no, condition))\n        if yes >= self.quorum:\n            return True\n        if no >= self.quorum:\n            return False\n        if self._probing:               # candidate rung the vote couldn't settle -> unusable, not fatal\n            return False\n        raise OracleUndecided(\"oracle vote undecided: %s (%d true / %d false)\" % (condition, yes, no))\n\n    def _sub(self, expr, pos, length):\n        # pos is always passed 1-based; adjust for a 0-based dialect if discovered\n        p = pos if self.dialect.substring.get(\"index_base\", 1) == 1 else pos - 1\n        return self.dialect.substring[1].format(expr=expr, pos=p, len=length)\n\n    def _len(self, expr):\n        return self.dialect.length[1].format(expr=expr)\n\n    def _sanity(self):\n        return self._ask(\"1=1\") and not self._ask(\"1=2\") and \\\n               self._ask(\"'a'='a'\") and not self._ask(\"'a'='b'\")\n\n    def _exists(self, source, column=\"1\", alias=None):\n        # does `source` (a table/catalog) - and optionally `column` in it - resolve?\n        # WITHOUT COUNT (which a WAF may filter): a scalar subquery over it is NULL when\n        # it resolves (WHERE 1=0 -> 0 rows) and ERRORS -> False when it doesn't. Works\n        # for empty tables too. `column` is passed BARE so a nonexistent one errors,","sourceCodeStart":93,"sourceCodeEnd":129,"githubUrl":"https://github.com/sqlmapproject/sqlmap/blob/0a35b20e3953d341be6c7ac75ccb0b3362540c8d/extra/esperanto/oracle.py#L93-L129","documentation":"Error \"oracle vote undecided: %s (%d true / %d false)\" thrown in sqlmapproject/sqlmap.","triggerScenarios":"Thrown at extra/esperanto/oracle.py:111 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"0a35b20e3953d341be6c7ac75ccb0b3362540c8d","analyzedAt":"2026-08-26T23:02:52.002Z","schemaVersion":2},"datasetVersion":"2026-08-27T03:17:27.898Z"}