Bug Hunt
The Enum Case Nobody Handled and the Compiler Did Not Catch
A new status was added to the model and the match statement had no default, so the new value fell through to the fallback branch, and the order was silently…
Tracebacks, imports, packaging, asyncio and the runtime behaviour behind the most common Python failures.
Bug Hunt
A new status was added to the model and the match statement had no default, so the new value fell through to the fallback branch, and the order was silently…
Code Review
The cache lived at import scope, so it survived across requests and across users, and one user's entry was served to another, and the leak stopped only when…
Bug Hunt
The cleanup removed expired entries while iterating the mapping, and the interpreter raised the size-changed error, and on the runs that did not raise it…
Bug Hunt
The helper sorted the array in place and returned it, so the caller's original was reordered too, and the second consumer saw a list nobody had touched, and…
Bug Hunt
The pattern matched as much as it could instead of as little as it needed, so one capture group ate the delimiter and the two fields after it, and the parse…
Code Review
The batch loop awaited every item concurrently with no semaphore, so the first burst rate limited itself, and the retry storm that followed turned a…
Code Review
The loop fetched every page except the last, and the omission was invisible because the page count was right and the total was right, and the only wrong…
Bug Hunt
The report listed tomorrow's events before today's, and the comparison never raised an error, only returned the wrong order, because aware and naive…
Code Review
The shared list default is the famous one, and reviewers catch it on sight. The module level cache, the captured dict and the class attribute list are its…
Python
Your async service handles ten requests a second and pegs one core. Somewhere a synchronous call is blocking the event loop.
Bug Hunt
A weekly export failed every Tuesday and worked every other day. Three wrong hypotheses later, the cause was a date format string nobody had looked at in…
Python
The last line tells you what broke. The middle tells you why. Here is how to get a working hypothesis out of a traceback in about ten seconds.