We investigated a bug where CUBIC's congestion window became pinned at its minimum floor, causing a performance to plummet. The fix involved correctly measuring idle periods to distinguish RTT wait times from actual application idleness.
#debugging
25 posts
12 May
12 Mar
An out-of-band release of .NET 10.0.5 to fix a critical debugger crash affecting macOS users with Visual Studio Code. The post .NET 10.0.5 Out-of-Band Release – macOS Debugger Fix appeared first on .NET Blog.
9 Mar
Introducing the dotnet/skills repository and how .NET agent skills can improve coding agent workflows. The post Extend your coding agent with .NET Skills appeared first on .NET Blog.
20 Aug 2025
Debugging doesn’t have to be a grind. With Copilot woven into Visual Studio, you get AI-powered breakpoints, insights, exception fixes, and performance summaries all right where you work. The post Copilot Diagnostics toolset for .NET In Visual Studio appeared first on .NET Blog.
6 Aug 2025
Discover 5 practical GitHub Copilot Chat prompts to boost .NET development productivity, from code optimization to security reviews. The post 5 Copilot Chat Prompts .NET Devs Should Steal Today appeared first on .NET Blog.
15 Jun 2025
Since 2002, I have been keeping track of all the tricky bugs I have come across. Nine years ago, I wrote a blog post with the lessons learned from the bugs up till then. Now I have reviewed all the … Continue reading →
26 Apr 2022
By Laura Nolan, with contributions from Glen D. Sanford, Jamie Scheinblum, and Chris Sullivan. Assessing conditions Slack experienced a major incident on February 22 this year, during which time many users were unable to connect to Slack, including the author — which certainly made my role as Incident Commander more challenging! This incident was a…
15 Feb 2022
Chrome and Firefox will reach version 100 in a couple of months. This has the potential to cause breakage on sites that rely on identifying the browser version to perform business logic. This post covers the timeline of events, the strategies that Chrome and Firefox are taking to mitigate the impact, and how you can help. The post Version 100…
23 Jul 2020
To check if a program is doing what it should, you can inspect the output from a given input. But as the system grows, you also need logging to help you understand what is happening. Good log messages are crucial … Continue reading →
4 Mar 2020
Optimizing the integration of Firefox Developer Tools with the SpiderMonkey JavaScript engine has resulted in many benefits, including the new asynchronous call stack tracking now available in Firefox Developer Edition. In this post you can learn how that was done, down to detailed changes to memory management. The post Future-proofing Firefox’s JavaScript Debugger Implementation appeared first on Mozilla Hacks -…
4 Sept 2019
WebAssembly has begun to establish itself outside of the browser via dedicated runtimes like Mozilla’s Wasmtime and Fastly’s Lucet. While the promise of a new, universal format for programs is appealing, it also comes with new challenges. At Mozilla, we’ve been prototyping ways to enable source-level debugging of .wasm files using existing tools, like GDB and LLDB. The post Debugging…
6 Feb 2018
At Clever, one of our tenets is “Always a Student”, and in that spirit of learning we wanted to share the changes we made to fix memory allocation issues in AWS Elastic Container Service related to swappiness. Swappiness is a Linux Kernel setting that specifies how likely it is for a page in memory to be […] The post Swappiness…
27 Oct 2016
In the book club at work, we recently finished reading Release It! by Michael T. Nygard. It is a book I have been meaning to read for a long time, but somehow I never got around to it until now. … Continue reading →
16 Jun 2016
In Learning From Your Bugs, I wrote about how I have been keeping track of the most interesting bugs I have come across. I recently reviewed all 194 entries (going back 13 years), to see what lessons I have learned from them. … Continue reading →
28 Apr 2016
Bugs are great learning opportunities. So how do we make sure we learn as much as possible from the bugs we fix? A method I have used for more than 13 years now is to write down a short description of … Continue reading →
16 Apr 2015
Here is my list of heuristics and rules of thumb for software development that I have found useful over the years: Development 1. Start small, then extend. Whether creating a new system, or adding a feature to an existing system, I … Continue reading →
10 Dec 2014
Back To School is the busiest time for any education company. Students, teachers, schools, software companies, and the rest of the education world are all gearing up for a new school year. Unfortunately, during the most critical time of the year, Clever’s infrastructure was throwing a fit. At the time, Clever was adding over a […] The post When your…
28 Sept 2014
Build tags are part of the conditional compilation system provided by the go tool. This is a quick post to discuss using build tags to selectively enable debug printing in a package. This afternoon I merged a contribution to pkg/sftp which improved the packet encoding performance but introduced a bug where some packet types were incorrectly encoded. % […]
29 Aug 2014
For many PL/SQL developers, this might be common sense, but for one of our customers, this was an unknown PL/SQL feature: Backtraces. When your application raises an error somewhere deep down in the call stack, you don’t get immediate information about the exact source of the error. For large PL/SQL applications, this can be a … Continue reading PL/SQL backtraces…
27 Jan 2014
Here is the story of a bug that I caused, found, and fixed recently. It is not particularly hard or tricky, and it didn’t take long to find and fix. Nevertheless, it did teach me some good lessons. The Bug … Continue reading →
21 Jan 2014
To trouble-shoot software, logging of some kind is essential. But for most systems, it is simply not possible to log everything that happens. Many systems and logging frameworks let you limit the amount of data by giving a logging level (e.g. … Continue reading →
1 Jan 2014
One common reaction to my post on writing debuggable code was: you don’t need logging, just use a debugger. While there are cases where a debugger is the best option, there are many reasons why having proper logging in place … Continue reading →
9 Nov 2013
When there is a problem with your software, the first thing you usually ask for is a log showing what happened (provided you write debuggable code), and the version of the software that was running. But it is easy to … Continue reading →
5 May 2013
All programs need some form of logging built in to them, so we can observe what it is doing. This is especially important when things go wrong. One of the differences between a great programmer and a bad programmer is … Continue reading →
21 Oct 2012
Every once in a while I read something along the lines of: “most developers just want to write new features, they don’t want to work with maintenance and bug-fixing”. If that’s true, then most developers are missing out on the fun … Continue reading →