Hacker News new | ask | show | jobs
by marcosdumay 523 days ago
Windows used to have that habit of making the processes CPU starved, and yet claiming the CPU was idle all the time.

Since the Microsoft response to the bug was denying and gaslighting the affected people, we can't tell for sure what caused it. But several people were in a situation where their computer couldn't finish any work, and the task-manager claimed all of the CPU time was spent on that line item.

3 comments

As a former Windows OS engineer, based on the short statement here, my assumption would be that your programs are IO-bound, not CPU-bound, and that the next step would be to gather data (using a profiler) to investigate the bottlenecks. This is something any Win32 developer should learn how to do.

Although I can understand how "Please provide data to demonstrate that this is an OS scheduling issue since app bottlenecks are much more likely in our experience" could come across as "denying and gaslighting" to less experienced engineers and layfolk

I'm not the original poster, but I ran into something similar late in Win 7 (Win 8 was in beta at the time). We had some painting software, and we used open-MP to work on each scan-line of a brush in parallel.

It worked fine on Mac. On Windows though, if you let it use as many threads as there were CPUs, it would nearly 100% of the time fail before making it through our test suite. Something in scheduling the work would deadlock. It was more likely to fail if anything was open besides the app. Basically, a brush stoke that should complete in a tenth of a second would stall. If you waited 30-60 minutes (yes minutes), it would recover and continue.

I vaguely recall we used the Intel compiler implementation of OpenMP, not what comes with MSVC, so the fault wasn't necessarily a Microsoft issue, but could still be a kernel issue.

I left that company later that year, and MS rolled out Windows 8. No idea how long that bug stuck around.

This sounds like you had a deadlock in the painting software code, that would only reproduce under Windows.
> Since the Microsoft response to the bug was denying and gaslighting the affected people

Well. I wouldn't go that far. Any busy dev team is incentivized to make you run the gauntlet:

1. It's not an issue (you have to prove to me it's an issue)

2. It's not my issue (you have to prove to me it's my issue)

3. It's not that important (you have to prove it has significant business value to fix it)

4. It's not that time sensitive (you have to prove it's worth fixing soon)

It was exactly like this at my last few companies. Microsoft is quite a lot like this as well.

If you have an assigned CSAM, they can help run the gauntlet. That's what they are there for.

See also: The 6 stages of developer realization:

https://www.amazon.com/Panvola-Debugging-Computer-Programmer...

Even when you have an expensive contract with Microsoft and a direct account manager to help you run the gauntlet you still end up having to deal with awful support people.

Years ago at a job we were seeing issues with a network card on a VM. One of my coworkers spent 2-3 days working his way through support engineer after support engineer until they got into a call with one. He talked the engineer through what was happening. Remote VM, can only access over RDP (well, we could VNC too, but that idea just confuses Microsoft support people for some reason.)

The support engineer decided that the way to resolve the problem was to uninstall and re-install the network card driver. Coworker decided to give the support engineer enough rope to hang themselves with, hoping it'd help him escalate faster: "Won't that break the RDP connection?" "No sir, I've done this many times before, trust me" "Okay then...."

Unsurprisingly enough, when you uninstall the network card driver and cause the instance to have no network cards, RDP stops working. Go figure.

Co-worker let the support engineer know that he'd now lost access, and a guess why. "Oh, yeah. I can see why that might have been a problem"

Co-worker was right though, it did finally let us escalate further up the chain....

But was it fixed after the driver reinstall?
>If you have an assigned CSAM

That's an unfortunate acronym. I assume you mean Customer Service Account Manager.

Customer Success Account Manager. And I would agree - it is very unfortunate.

Definitely in my top 5 questionable acronym choices from MSFT.

That 1 to 4 gauntlet sounds orfully close to: https://youtube.com/watch?v=nb2xFvmKWRY
Your reticence to accept the term gaslighting clearly indicates you've never had to interact with MSFT support.
On the contrary, I have spent thousands of hours interacting with MSFT support.

What I'm getting at with my post is the dev teams support has to talk to, which they just forward along their responses verbatim.

A lot of MSFT support does suck. There are also some really amazing engineers in the support org.

I did my time in support early in my career (not at MSFT), and so I understand well it's extremely hard to hire good support engineers, and even harder to keep them. The skills they learn on the job makes them attractive to other parts of the org, and they get poached.

There is also an industry-wide tendency for developers to treat support as a bunch of knuckle-dragging idiots, but at the same time they don't arm them with detailed information on how stuff works.

> What I'm getting at with my post is the dev teams support has to talk to, which they just forward along their responses verbatim.

But the "support" that the end user sees is that combination, not two different teams (even if they know it's two or more different teams). The point is that the end user reached out for help and was told their own experiences weren't true. The fact that Dave had Doug actually tell them that is irrelevant.

I guess I see your point.

If we're going to call it gaslighting, then gaslighting is typical dev team behavior, which of course flows back down to support. It's a problem with Microsoft just like it is a problem for any other company which makes software.

I've never seen the same behavior from any other software supplier.

Almost every software company out there will jump into their customers complaints, and try to fix the issue even when the root cause is not on their software.

I've never heard of this. How do you know it's windows "gaslighting" users, and not something dumb like thermal throttling or page faults?
Well this is one possible scenario. Power management....

"Windows 10 Task Manager shows 100% CPU but Performance Monitor Shows less than 2%" - https://answers.microsoft.com/en-us/windows/forum/all/window...

It's gaslighting because it consists on people from Microsoft explicitly saying that it is impossible, it's not how Windows behave, and the user's system is idle instead of overloaded.

Gaslighting customers was the standard Microsoft's reaction to bugs until at least 2007, when I last oversaw somebody interacting with them.