Python: Curses Crashes and a Careful Revert
A cluster of curses fixes closes null-pointer crashes tied to terminal-less screens, while a reverted audit hook fix shows the project catching a reference leak before it hit a release branch. Backport traffic for the new subprocess test isolation decorator dominated the day's volume.
Duration: PT2M38S
Episode overview
This episode is a short developer briefing from Python.
It explains recent repository work in plain language.
- Show: Python
- Published: 2026-07-28T13:07:38Z
- Audio duration: PT2M38S
Transcript excerpt
This excerpt keeps the crawler page concise. Listen to the episode or use the RSS feed for the full update.
Good day, and welcome to Python for July 28th, 2026.
Today's biggest signal is reliability work in the curses module, alongside a notable safety catch on a concurrency fix that didn't hold up under testing.
Three separate curses fixes, from fedonman and Serhiy Storchaka, all trace back to the same root cause: screens created by new_prescr have no attached terminal, but nothing stopped them from becoming current or being returned from initscr. PR 154750 rejects a terminal-less screen in set_term, PR 154787 fixes crashes…
The second theme is process discipline. PR 154769, from encukou, reverted an earlier fix for a data race in sys dot audithook because it introduced a reference leak that broke a tier-one buildbot. That's the system working as intended: a landed change got caught by CI and pulled back out, with the revert itself…
Separately, Serhiy Storchaka's test dot support dot isolation dot run in subprocess decorator, originally PR 152551, saw heavy backport traffic today across 3.13, 3.14, and 3.15. It lets a test run in a fresh interpreter process so it can't leak state into the rest of the suite — useful for anyone writing tests that…
Smaller but noteworthy: PR 152913 tightened…
Nearby episodes from Python
- Curses, Concurrency, and a Reflog Revert
- Weekly Recap - Memory Safety and Backport Discipline
- Locale Encoding Bugs Take Center Stage
- Memory Safety Sweep Across the Interpreter
- A Day of Memory Safety Hunting
- Concurrency Bugs and Logging Hangs Get Cleaned Up
- Data Races, Backports, and BSD Portability
- Chasing Down the Long Tail of Platforms