René's URL Explorer Experiment


Title: JIT: `executor->vm_data.valid` assertion failure in `unlink_executor` · Issue #136996 · python/cpython · GitHub

Open Graph Title: JIT: `executor->vm_data.valid` assertion failure in `unlink_executor` · Issue #136996 · python/cpython

X Title: JIT: `executor->vm_data.valid` assertion failure in `unlink_executor` · Issue #136996 · python/cpython

Description: Crash report What happened? Sorry about the messy and convoluted bug report, I hope something interesting might be gleaned from it. It's possible to non-deterministically abort a special debug JIT build by running the code below, running...

Open Graph Description: Crash report What happened? Sorry about the messy and convoluted bug report, I hope something interesting might be gleaned from it. It's possible to non-deterministically abort a special debug JIT ...

X Description: Crash report What happened? Sorry about the messy and convoluted bug report, I hope something interesting might be gleaned from it. It's possible to non-deterministically abort a special debug ...

Opengraph URL: https://github.com/python/cpython/issues/136996

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"JIT: `executor-\u003evm_data.valid` assertion failure in `unlink_executor`","articleBody":"# Crash report\n\n### What happened?\n\nSorry about the messy and convoluted bug report, I hope something interesting might be gleaned from it.\n\nIt's possible to non-deterministically abort a special debug JIT build by running the code below, **running from a Python executable from a venv where you installed a package in editable mode**. This darn requirement for an install in editable mode stumped me for hours! \n\nFor this special build, apply this diff (couldn't get it to work in a normal build by changing loop lengths):\n```diff\nindex 454c8dde031..9e21c41421a 100644\n--- a/Include/internal/pycore_backoff.h\n+++ b/Include/internal/pycore_backoff.h\n@@ -99,8 +99,8 @@ backoff_counter_triggers(_Py_BackoffCounter counter)\n // Must be larger than ADAPTIVE_COOLDOWN_VALUE, otherwise when JIT code is\n // invalidated we may construct a new trace before the bytecode has properly\n // re-specialized:\n-#define JUMP_BACKWARD_INITIAL_VALUE 4095\n-#define JUMP_BACKWARD_INITIAL_BACKOFF 12\n+#define JUMP_BACKWARD_INITIAL_VALUE 63\n+#define JUMP_BACKWARD_INITIAL_BACKOFF 6\n static inline _Py_BackoffCounter\n initial_jump_backoff_counter(void)\n {\n@@ -112,8 +112,8 @@ initial_jump_backoff_counter(void)\n  * Must be larger than ADAPTIVE_COOLDOWN_VALUE,\n  * otherwise when a side exit warms up we may construct\n  * a new trace before the Tier 1 code has properly re-specialized. */\n-#define SIDE_EXIT_INITIAL_VALUE 4095\n-#define SIDE_EXIT_INITIAL_BACKOFF 12\n+#define SIDE_EXIT_INITIAL_VALUE 63\n+#define SIDE_EXIT_INITIAL_BACKOFF 6\n\n static inline _Py_BackoffCounter\n initial_temperature_backoff_counter(void)\n```\n\nThis MRE must be invoked like this:\n```bash\n/path/to/venv/with/editable/install/bin/python mre.py\n```\n\nSorry about the long MRE, this code seems stubbornly hard to reduce. MRE:\n```python\nfrom random import random\n\nclass C_object_v1:\n\n    def __getitem__(self, item):\n        return 5\nobject_v1 = C_object_v1()\n\n\nint_v4 = -51452741571812374\nfloat_v6 = 46.1\nfloat_v7 = 77.26\n\nclass StatefulLen_stateful_len_object_v12:\n    def __init__(self):\n        self.len_count = 0\n\n    def __len__(self):\n        _len = 0 if self.len_count \u003c 70 else 99\n        self.len_count += 1\n        return _len\nstateful_len_object_v12 = StatefulLen_stateful_len_object_v12()\n\ndef uop_harness_f1():\n    class StatefulIter_uop_harness_f1_6059:\n\n        def __init__(self):\n            self._iter_count = 0\n            self._iterable = {1, 2, 3}\n\n        def __iter__(self):\n            self._iter_count += 1\n            if self._iter_count \u003c= 67:\n                return iter((None,))\n            return iter(self._iterable)\n    uop_harness_f1_6059 = StatefulIter_uop_harness_f1_6059()\n    evil_iterable = StatefulIter_uop_harness_f1_6059()\n    for _ in range(100):\n        tuple(evil_iterable)\n    object_v1 = globals()['object_v1']\n\n    class SwappedClass_2950:\n        pass\n    object_v1.__class__ = SwappedClass_2950\n    if object_v1:\n        pass\n    for i_loop_9595 in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] * 50:\n        res_compareopint = int_v4 \u003e int_v4\n    if random() \u003c 0.01:\n        object_v1.__class__.get_value = lambda *a, **kw: 'patched!'\nfor i_f1 in range(500):\n    try:\n        uop_harness_f1()\n    except Exception:\n        break\n```\n\nBacktrace:\n```\npython: Python/optimizer.c:1436: unlink_executor: Assertion `executor-\u003evm_data.valid' failed.\n\nProgram received signal SIGABRT, Aborted.\nDownload failed: Invalid argument.  Continuing without source file ./nptl/./nptl/pthread_kill.c.\n__pthread_kill_implementation (threadid=\u003coptimized out\u003e, signo=6, no_tid=0)\n    at ./nptl/pthread_kill.c:44\nwarning: 44     ./nptl/pthread_kill.c: No such file or directory\n(gdb) bt\n#0  __pthread_kill_implementation (threadid=\u003coptimized out\u003e, signo=6, no_tid=0)\n    at ./nptl/pthread_kill.c:44\n#1  __pthread_kill_internal (threadid=\u003coptimized out\u003e, signo=6) at ./nptl/pthread_kill.c:89\n#2  __GI___pthread_kill (threadid=\u003coptimized out\u003e, signo=signo@entry=6)\n    at ./nptl/pthread_kill.c:100\n#3  0x00007ffff7c4579e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26\n#4  0x00007ffff7c288cd in __GI_abort () at ./stdlib/abort.c:73\n#5  0x00007ffff7c28830 in __assert_fail_base (fmt=\u003coptimized out\u003e, assertion=\u003coptimized out\u003e,\n    file=\u003coptimized out\u003e, line=\u003coptimized out\u003e, function=\u003coptimized out\u003e) at ./assert/assert.c:118\n#6  0x00007ffff7c3be1f in __assert_fail (assertion=\u003coptimized out\u003e, file=\u003coptimized out\u003e,\n    line=\u003coptimized out\u003e, function=\u003coptimized out\u003e) at ./assert/assert.c:127\n#7  0x00005555558a2603 in unlink_executor (executor=executor@entry=0x555555f44480)\n    at Python/optimizer.c:1436\n#8  0x00005555558a31a7 in uop_dealloc (op=op@entry=0x555555f44480) at Python/optimizer.c:271\n#9  0x00005555556dc978 in _Py_Dealloc (op=0x555555f44480) at Objects/object.c:3206\n#10 0x00007ffff71d59f7 in ?? ()\n#11 0x00007fffffffd470 in ?? ()\n#12 0x00007ffff71d522b in ?? ()\n#13 0x00007fffffffd470 in ?? ()\n#14 0x00007ffff71d4017 in ?? ()\n#15 0x0000555555e60c70 in ?? ()\n#16 0x00007ffff71d4000 in ?? ()\n#17 0x0000555555cca298 in _PyRuntime ()\n#18 0x00007ffff7fac0b8 in ?? ()\n#19 0x00007ffff7fac160 in ?? ()\n#20 0x00005555557ca1c0 in _PyEval_EvalFrameDefault (tstate=0xcdcdcdcdcdcdcdcd, frame=0x555555cca298 \u003c_PyRuntime+331064\u003e, throwflag=-842150451)\n    at Python/generated_cases.c.h:5598\nBacktrace stopped: previous frame inner to this frame (corrupt stack?)\n```\n\nHere are the outputs from running with `PYTHON_OPT_DEBUG=4` and `PYTHON_LLTRACE=4`, since they are too long I've attached them as files:\n[opt_debug2.txt](https://github.com/user-attachments/files/21367144/opt_debug2.txt)\n[lltrace2.txt](https://github.com/user-attachments/files/21367143/lltrace2.txt)\n\nFound using [lafleur](https://github.com/devdanzin/lafleur/).\n\n### CPython versions tested on:\n\nCPython main branch\n\n### Operating systems tested on:\n\nLinux\n\n### Output from running 'python -VV' on the command line:\n\nPython 3.15.0a0 (heads/main-dirty:6bf1c0ab349, Jul 21 2025, 20:28:08) [GCC 14.2.0]","author":{"url":"https://github.com/devdanzin","@type":"Person","name":"devdanzin"},"datePublished":"2025-07-22T12:46:27.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":15},"url":"https://github.com/136996/cpython/issues/136996"}

route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:02336c55-834f-1414-fa9b-98bbbe8cbdce
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-idBE16:700EC:3809A5:4AFDA2:6A56DADF
html-safe-noncedda6561e33849e0b6680bcf8ec1a47f2cfe4d710f8cde7e8eeadedaef0663014
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCRTE2OjcwMEVDOjM4MDlBNTo0QUZEQTI6NkE1NkRBREYiLCJ2aXNpdG9yX2lkIjoiODIwMTMwMDYxNjgyOTkxNzkxOSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac1511eecf4e0e9c08fa3dfc7748bb952dfc7965cef2dfa5f05844cdd7e7a49f57
hovercard-subject-tagissue:3252552268
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/python/cpython/136996/issue_layout
twitter:imagehttps://opengraph.githubassets.com/05f90d227ab9b3586d5baec84394cc4bf1ed350785bb11390227edc4e658ef52/python/cpython/issues/136996
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/05f90d227ab9b3586d5baec84394cc4bf1ed350785bb11390227edc4e658ef52/python/cpython/issues/136996
og:image:altCrash report What happened? Sorry about the messy and convoluted bug report, I hope something interesting might be gleaned from it. It's possible to non-deterministically abort a special debug JIT ...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamedevdanzin
hostnamegithub.com
expected-hostnamegithub.com
None5220a278731283038daf0ed00b41f06ef7ff9539020ecc806c5c5a0fb6bda25a
turbo-cache-controlno-preview
go-importgithub.com/python/cpython git https://github.com/python/cpython.git
octolytics-dimension-user_id1525981
octolytics-dimension-user_loginpython
octolytics-dimension-repository_id81598961
octolytics-dimension-repository_nwopython/cpython
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id81598961
octolytics-dimension-repository_network_root_nwopython/cpython
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release8684ae1a81cd3e4ef219b241179982bbda1a5b1f
ui-targetcanary-1
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python/cpython/issues/136996#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fissues%2F136996
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fissues%2F136996
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=python%2Fcpython
Reloadhttps://github.com/python/cpython/issues/136996
Reloadhttps://github.com/python/cpython/issues/136996
Reloadhttps://github.com/python/cpython/issues/136996
Please reload this pagehttps://github.com/python/cpython/issues/136996
python https://github.com/python
cpythonhttps://github.com/python/cpython
Please reload this pagehttps://github.com/python/cpython/issues/136996
Notifications https://github.com/login?return_to=%2Fpython%2Fcpython
Fork 35k https://github.com/login?return_to=%2Fpython%2Fcpython
Star 73.8k https://github.com/login?return_to=%2Fpython%2Fcpython
Code https://github.com/python/cpython
Issues 5k+ https://github.com/python/cpython/issues
Pull requests 2.3k https://github.com/python/cpython/pulls
Actions https://github.com/python/cpython/actions
Projects https://github.com/python/cpython/projects
Security and quality 0 https://github.com/python/cpython/security
Insights https://github.com/python/cpython/pulse
Code https://github.com/python/cpython
Issues https://github.com/python/cpython/issues
Pull requests https://github.com/python/cpython/pulls
Actions https://github.com/python/cpython/actions
Projects https://github.com/python/cpython/projects
Security and quality https://github.com/python/cpython/security
Insights https://github.com/python/cpython/pulse
JIT: executor->vm_data.valid assertion failure in unlink_executorhttps://github.com/python/cpython/issues/136996#top
https://github.com/Fidget-Spinner
3.14bugs and security fixeshttps://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%223.14%22
interpreter-core(Objects, Python, Grammar, and Parser dirs)https://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22interpreter-core%22
topic-JIThttps://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22topic-JIT%22
type-crashA hard crash of the interpreter, possibly with a core dumphttps://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22type-crash%22
https://github.com/devdanzin
devdanzinhttps://github.com/devdanzin
on Jul 22, 2025https://github.com/python/cpython/issues/136996#issue-3252552268
opt_debug2.txthttps://github.com/user-attachments/files/21367144/opt_debug2.txt
lltrace2.txthttps://github.com/user-attachments/files/21367143/lltrace2.txt
lafleurhttps://github.com/devdanzin/lafleur/
Fidget-Spinnerhttps://github.com/Fidget-Spinner
3.14bugs and security fixeshttps://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%223.14%22
interpreter-core(Objects, Python, Grammar, and Parser dirs)https://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22interpreter-core%22
topic-JIThttps://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22topic-JIT%22
type-crashA hard crash of the interpreter, possibly with a core dumphttps://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22type-crash%22
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.