From 94f8cf81364499561781e565215d638de61217d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20=C5=A0tampar?= Date: Tue, 27 Oct 2026 09:34:04 +0100 Subject: [PATCH] Minor update --- lib/core/common.py | 17 +++++++++++++++-- lib/core/settings.py | 2 +- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/lib/core/common.py b/lib/core/common.py index 477498853..6aa6bb8b2 100644 --- a/lib/core/common.py +++ b/lib/core/common.py @@ -4116,11 +4116,15 @@ def pythonBuildInfo(): True """ + import sysconfig + retVal = [] + # Note: free-threading builds compile in their own GC and deferred reference counting (e.g. https://github.com/python/cpython/issues/160682, where a still + # running function gets collected), both of which stay in play even when the GIL itself got re-enabled in runtime, hence checking the build and not only the state try: - if not sys._is_gil_enabled(): # Note: free-threading has been behind reports where a still running function gets collected (e.g. https://github.com/python/cpython/issues/160682) - retVal.append("free-threading") + if sysconfig.get_config_var("Py_GIL_DISABLED"): + retVal.append("free-threading" if not sys._is_gil_enabled() else "free-threading with GIL") except: pass @@ -4214,6 +4218,15 @@ def createGithubIssue(errMsg, excMsg): Automatically create a Github issue with unhandled exception information """ + # Note: free-threading builds collect still running functions (https://github.com/python/cpython/issues/160682), where the reused memory shows up as an + # unrelated object bound to a known name (e.g. "'str' object is not callable"). Those are interpreter bugs, hence not worth a report of their own + if "free-threading" in pythonBuildInfo(): + warnMsg = "the used interpreter is a free-threading build, known for collecting still running " + warnMsg += "functions and producing unrelated exceptions like this one. Please rerun with a " + warnMsg += "regular (non free-threading) build, as skipping the automatic issue creation in here" + logger.warning(warnMsg) + return + try: issues = getFileItems(paths.GITHUB_HISTORY, unique=True) except: diff --git a/lib/core/settings.py b/lib/core/settings.py index ec21d6119..85b1b6267 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -19,7 +19,7 @@ from lib.core.enums import OS from thirdparty import six # sqlmap version (...) -VERSION = "1.10.10.22" +VERSION = "1.10.10.23" TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable" TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34} VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE)