-
Recent Posts
Categories
- AltDevBlogADay
- Bugs
- Chromium
- Code analysis
- Code Reliability
- Commuting
- Computers and Internet
- Debugging
- Documentation
- Drinks
- Environment
- Floating Point
- Fractals
- Fun
- Gaming
- Investigative Reporting
- Linux
- Math
- memory
- Performance
- Programming
- Quadratic
- Rants
- Security
- Symbols
- Travel
- uiforetw
- Uncategorized
- Unicycling
- Visual Studio
- WLPG
- Xbox 360
- xperf
Follow me on Twitter
My TweetsMeta
Category Archives: Investigative Reporting
No Start Menu for You
I tend to launch most programs on my Windows 10 laptop by typing the <Win> key, then a few letters of the program name, and then hitting enter. On my powerful laptop (SSD and 32 GB of RAM) this process … Continue reading
Posted in Code Reliability, Debugging, Investigative Reporting, Performance, Programming, Rants, uiforetw, xperf
Tagged hangs, pageheap, Windows 10 abandonware
28 Comments
Compiler Tricks to Avoid ABI-Induced Crashes
Last month I wrote about an odd crash that was hitting a few Chrome users. Something was corrupting the XMM7 register and that was causing Chrome to crash. We fixed a couple of bugs in Chrome and we were able … Continue reading
Posted in Chromium, Debugging, Investigative Reporting, Symbols
Tagged ABI, asm, assembly, sse
2 Comments
Please Restore Our Registers When You’re Done With Them
“Hey, you. Yes you, that function over there. When you’re cleaning up please remember to restore all of my registers. Yes, that one too – what do you think this is, Linux?” That’s the problem I was dealing with in … Continue reading
Posted in Chromium, Debugging, Investigative Reporting, Symbols
Tagged ABI, assembly, sse
25 Comments
Why Modern Software is Slow–Windows Voice Recorder
I apologize for this title because there are many things that can make modern software slow. Blindly applying one explanation without a bit of investigation is the software equivalent of a cargo cult. That said, this post describes one example … Continue reading
Posted in Investigative Reporting, Performance, uiforetw, xperf
Tagged runtimebroker, voice recorder, winrt
33 Comments
Slower Memory Zeroing Through Parallelism
While investigating some performance mysteries in Chrome I discovered that Microsoft had parallelized how they zero memory, and in some cases this was making it a lot slower. This slowdown may be mitigated in Windows 11 but in the latest … Continue reading
Determinism Bugs, Part Two, Kernel32.dll
It was literally the day after I cracked the __FILE__ determinism bug that I hit a completely different build determinism issue. I was asked to investigate why the Chrome build number reported for Chrome crashes on Windows 11 was lagging … Continue reading
Posted in Bugs, Chromium, Computers and Internet, Investigative Reporting, Programming, Symbols
Tagged determinism, minidumps, symbol servers
19 Comments
Finding Windows HANDLE leaks, in Chromium and others
Three years ago I found a 32 GB memory leak caused by CcmExec.exe failing to close process handles. That bug is fixed, but ever since then I have had the handles column in Windows Task Manager enabled, just in case … Continue reading
Posted in Bugs, Code Reliability, Investigative Reporting, uiforetw, xperf
Tagged handles, leaks
20 Comments
Arranging Invisible Icons in Quadratic Time
Near the end of January I was pointed to a twitter thread where a Windows user with a powerful machine was hitting random hangs in explorer. Lots of unscientific theories were being proposed. I don’t generally do random analysis of … Continue reading
Posted in Investigative Reporting, Performance, Programming, Quadratic, Rants, Symbols
Tagged dawson's first law of computing, Quadratic
18 Comments
Windows Timer Resolution: The Great Rule Change
The behavior of the Windows scheduler changed significantly in Windows 10 2004 (aka, the April 2020 version of Windows), in a way that will break a few applications, and there appears to have been no announcement, and the documentation has … Continue reading
Posted in Environment, Investigative Reporting, Performance, Rants
Tagged time resolution, timebeginperiod
87 Comments
What Outranks Thread Priority?
This investigation started, as so many of mine do, with me minding my own business, not looking for trouble. In this case all I was doing was opening my laptop lid and trying to log on. The first few times … Continue reading
Posted in Investigative Reporting, Performance, uiforetw, xperf
Tagged laptops, standby, Windows
7 Comments