Other articles


  1. asyncio WSASend() memory leak

    I fixed multiple bugs in asyncio ProactorEventLoop previously. But test_asyncio still failed sometimes. I noticed a memory leak in test_asyncio which will haunt me for 1 year in 2018...

    Yet another example of a test failure which looks harmless but hides a critical bug. The bug is that sending a …

    read more
  2. asyncio: WSARecv() cancellation causing data loss

    In December 2017, Yury Selivanov pushed the long awaited start_tls() function.

    A newly added test failed on Windows. Later, the test started to fail randomly on Linux as well. In fact, it was a well hidden race condition in the asynchronous handshake of SSLProtocol which will take 5 months of …

    read more
  3. Asyncio: Proactor Cancellation From Hell

    Between 2014 and 2015, I was working on the new shiny asyncio module (module added to Python 3.4 released in March 2014). I helped to stabilize the Windows implementation because... well, nobody else was paying attention to it, and I was worried that test_asyncio randomly crashed on Windows.

    One …

    read more
  4. Locale Bugfixes in Python 3

    This article describes a few locales bugs that I fixed in Python 3 between 2012 (Python 3.3) and 2018 (Python 3.7):

    • Support non-ASCII decimal point and thousands separator
    • Crash with non-ASCII decimal point
    • LC_NUMERIC encoding different than LC_CTYPE encoding
    • LC_MONETARY encoding different than LC_CTYPE encoding
    • Tests non-ASCII locales …
    read more
  5. Python 3, locales and encodings

    Recently, I worked on a change which looked simple: move the code to initialize the sys.stdout encoding before Py_Initialize(). While I was on it, I also decided to move the code which selects the Python "filesystem encoding". I didn't expect that I would spend 2 weeks on these issues …

    read more
  6. Python 3.7 UTF-8 Mode

    Since Python 3.0 was released in 2008, each time an user reported an encoding issue, someone showed up and asked why Python does not "simply" always use UTF-8. Well, it's not that easy. UTF-8 is the best encoding in most cases, but it is still not the best encoding …

    read more

Page 1 / 6 »

links

social