Title: JIT executors are not properly freed · Issue #139540 · python/cpython · GitHub
Open Graph Title: JIT executors are not properly freed · Issue #139540 · python/cpython
X Title: JIT executors are not properly freed · Issue #139540 · python/cpython
Description: Bug report Bug description: PoC: import bdb code = 'a = 1\nb = 2\nc = a + b' globals_dict = {} locals_dict = {} debugger = bdb.Bdb() debugger.runctx(code, globals_dict, locals_dict) for i in range(10): pass with tempfile.NamedTemporaryFi...
Open Graph Description: Bug report Bug description: PoC: import bdb code = 'a = 1\nb = 2\nc = a + b' globals_dict = {} locals_dict = {} debugger = bdb.Bdb() debugger.runctx(code, globals_dict, locals_dict) for i in range(...
X Description: Bug report Bug description: PoC: import bdb code = 'a = 1\nb = 2\nc = a + b' globals_dict = {} locals_dict = {} debugger = bdb.Bdb() debugger.runctx(code, globals_dict, locals_dict) for i i...
Opengraph URL: https://github.com/python/cpython/issues/139540
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"JIT executors are not properly freed","articleBody":"# Bug report\n\n### Bug description:\n\nPoC:\n```python\nimport bdb\ncode = 'a = 1\\nb = 2\\nc = a + b'\nglobals_dict = {}\nlocals_dict = {}\ndebugger = bdb.Bdb()\ndebugger.runctx(code, globals_dict, locals_dict)\nfor i in range(10):\n pass\nwith tempfile.NamedTemporaryFile() as tmpfile:\n tmpfile.seek(0)\n```\n\nConfig: `--enable-experimental-jit=yes --with-address-sanitizer`\n\nASan:\n```\nTraceback (most recent call last):\n File \"min.py\", line 9, in \u003cmodule\u003e\n with tempfile.NamedTemporaryFile() as tmpfile:\n ^^^^^^^^\nNameError: name 'tempfile' is not defined. Did you mean: 'compile'? Or did you forget to import 'tempfile'?\n\n==3445760==ERROR: LeakSanitizer: detected memory leaks\n\nDirect leak of 600 byte(s) in 1 object(s) allocated from:\n #0 0x7ab0b95889c7 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69\n #1 0x5cc52547f6b7 in _PyObject_MallocWithType ../Include/internal/pycore_object_alloc.h:46\n #2 0x5cc52547f6b7 in gc_alloc ../Python/gc.c:2327\n #3 0x5cc52547f6b7 in _PyObject_GC_NewVar ../Python/gc.c:2369\n #4 0x5cc52555de54 in make_executor_from_uops ../Python/optimizer.c:1120\n #5 0x5cc52555de54 in uop_optimize ../Python/optimizer.c:1341\n #6 0x5cc52555de54 in _PyOptimizer_Optimize ../Python/optimizer.c:136\n #7 0x5cc524f27940 in _PyEval_EvalFrameDefault ../Python/generated_cases.c.h:7656\n #8 0x5cc5253e9686 in _PyEval_EvalFrame ../Include/internal/pycore_ceval.h:121\n #9 0x5cc5253e9686 in _PyEval_Vector ../Python/ceval.c:1997\n #10 0x5cc5253e9686 in PyEval_EvalCode ../Python/ceval.c:880\n #11 0x5cc5255a6b0e in run_eval_code_obj ../Python/pythonrun.c:1365\n #12 0x5cc5255a6b0e in run_mod ../Python/pythonrun.c:1459\n #13 0x5cc5255ab7b7 in pyrun_file ../Python/pythonrun.c:1293\n #14 0x5cc5255ab7b7 in _PyRun_SimpleFileObject ../Python/pythonrun.c:521\n #15 0x5cc5255ac2dc in _PyRun_AnyFileObject ../Python/pythonrun.c:81\n #16 0x5cc525628bdc in pymain_run_file_obj ../Modules/main.c:410\n #17 0x5cc525628bdc in pymain_run_file ../Modules/main.c:429\n #18 0x5cc525628bdc in pymain_run_python ../Modules/main.c:691\n #19 0x5cc52562a4be in Py_RunMain ../Modules/main.c:772\n #20 0x5cc52562a4be in pymain_main ../Modules/main.c:802\n #21 0x5cc52562a4be in Py_BytesMain ../Modules/main.c:826\n #22 0x7ab0b91ba1c9 (/lib/x86_64-linux-gnu/libc.so.6+0x2a1c9) (BuildId: 282c2c16e7b6600b0b22ea0c99010d2795752b5f)\n #23 0x7ab0b91ba28a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2a28a) (BuildId: 282c2c16e7b6600b0b22ea0c99010d2795752b5f)\n #24 0x5cc524f4cf54 in _start (cpython/build/python+0x218f54) (BuildId: 3087b1f6c97d85c049f8eaa36e3ac5b15eccf317)\n\nSUMMARY: AddressSanitizer: 600 byte(s) leaked in 1 allocation(s).\n```\n\n### CPython versions tested on:\n\nCPython main branch\n\n### Operating systems tested on:\n\n_No response_\n\n\u003c!-- gh-linked-prs --\u003e\n### Linked PRs\n* gh-139952\n\u003c!-- /gh-linked-prs --\u003e\n","author":{"url":"https://github.com/YuanchengJiang","@type":"Person","name":"YuanchengJiang"},"datePublished":"2025-10-03T08:40:38.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":25},"url":"https://github.com/139540/cpython/issues/139540"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:d6a3263c-9d62-50f3-f8c0-41df1efce8f2 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | C10E:388B78:15A532D:1C16A7D:696B21C2 |
| html-safe-nonce | 7adca555f1d0c8b018ac856f4dbdf9c3a3aa1d2dccde6df33a1a133097d4e65c |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDMTBFOjM4OEI3ODoxNUE1MzJEOjFDMTZBN0Q6Njk2QjIxQzIiLCJ2aXNpdG9yX2lkIjoiMTQ3ODc5NjA4OTc2MDYyMDk5NCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 74ef58eb7f3a581905003a64a5e4bf7b100f43b0480bf905e34631cf517fab70 |
| hovercard-subject-tag | issue:3480295967 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/python/cpython/139540/issue_layout |
| twitter:image | https://opengraph.githubassets.com/3ef81deaf3074c2ef0ced8b8f0a24bdb713e9212ea2bab049adc207b16c87313/python/cpython/issues/139540 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/3ef81deaf3074c2ef0ced8b8f0a24bdb713e9212ea2bab049adc207b16c87313/python/cpython/issues/139540 |
| og:image:alt | Bug report Bug description: PoC: import bdb code = 'a = 1\nb = 2\nc = a + b' globals_dict = {} locals_dict = {} debugger = bdb.Bdb() debugger.runctx(code, globals_dict, locals_dict) for i in range(... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | YuanchengJiang |
| hostname | github.com |
| expected-hostname | github.com |
| None | 5f99f7c1d70f01da5b93e5ca90303359738944d8ab470e396496262c66e60b8d |
| turbo-cache-control | no-preview |
| go-import | github.com/python/cpython git https://github.com/python/cpython.git |
| octolytics-dimension-user_id | 1525981 |
| octolytics-dimension-user_login | python |
| octolytics-dimension-repository_id | 81598961 |
| octolytics-dimension-repository_nwo | python/cpython |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 81598961 |
| octolytics-dimension-repository_network_root_nwo | python/cpython |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 82560a55c6b2054555076f46e683151ee28a19bc |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width