sqlmapproject/sqlmap · error · SqlmapThreadException

something unexpected happened inside the threads

Error message

something unexpected happened inside the threads

What it means

Error "something unexpected happened inside the threads" thrown in sqlmapproject/sqlmap.

Source

Thrown at lib/techniques/blind/inference.py:1253

                    and 0 < len(finalValue) <= PREDICTION_FEEDBACK_MAX_LENGTH
                    and len(kb.commonOutputs.get(kb.partRun) or ()) < PREDICTION_FEEDBACK_MAX_ITEMS):
                kb.commonOutputs.setdefault(kb.partRun, set()).add(finalValue)
        elif partialValue:
            hashDBWrite(expression, "%s%s" % (PARTIAL_VALUE_MARKER if not conf.hexConvert else PARTIAL_HEX_VALUE_MARKER, partialValue))

    if conf.hexConvert and not any((abortedFlag, conf.api, kb.bruteMode)):
        infoMsg = "\r[%s] [INFO] retrieved: %s  %s\n" % (time.strftime("%X"), filterControlChars(finalValue), " " * retrievedLength)
        dataToStdout(infoMsg)
    else:
        if conf.verbose in (1, 2) and not any((showEta, conf.api, kb.bruteMode)):
            dataToStdout("\n")

        if (conf.verbose in (1, 2) and showEta) or conf.verbose >= 3:
            infoMsg = "retrieved: %s" % filterControlChars(finalValue)
            logger.info(infoMsg)

    if kb.threadException:
        raise SqlmapThreadException("something unexpected happened inside the threads")

    if abortedFlag:
        raise KeyboardInterrupt

    _ = finalValue or partialValue

    # Record this cell for the column's low-cardinality guessing cache (frequency-tracked so the most
    # common values are probed first; bounded so a clearly high-cardinality column stops accumulating).
    if columnKey is not None and finalValue:
        # Track the column's low-cardinality cache and observed character set. Guarded by the prediction
        # lock because value-parallel dump workers update these concurrently.
        ordinals = set(ord(_c) for _c in finalValue if ord(_c) < 128)
        with kb.locks.prediction:
            seen = kb.lowCardCache.setdefault(columnKey, {})
            if finalValue in seen or len(seen) <= LOW_CARDINALITY_THRESHOLD + 2:
                seen[finalValue] = seen.get(finalValue, 0) + 1

            if ordinals:

View on GitHub (pinned to 0a35b20e39)

When it happens

Trigger: Thrown at lib/techniques/blind/inference.py:1253 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/8ff3dde95d9ddf83. Report an issue: GitHub.