Other articles


  1. Debug Hybrid Graphics issues on Linux

    Hybrid Graphics is a complex hardware and software solution to achieve longer laptop battery life: an integrated graphics device is used by default, and a discrete graphics device with higher graphics performances is enabled on demand.

    Hybrid Graphics

    If it is designed and implemented carefully, users should not notice that a laptop …

    read more
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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

Page 1 / 6 »

links

social