3 ms·
Extract from Adventures in application compatibility: The case of the jump into the middle of an instruction from nowhere by Raymond Chen. https://devblogs.micr
by wizzwizz4 3y ago
Extract from Adventures in application compatibility: The case of the jump into the middle of an instruction from nowhere by Raymond Chen. https://devblogs.microsoft.com/oldnewthing/20230324-00/?p=107966 https://devblogs.microsoft.com/oldnewthing/20230324-00/?p=10...
> What happened is that we recently made changes to this internal function, and apparently those changes were enough to cause the patcher to go haywire. This is unfortunately a regular occurrence: Whenever a new build goes out, there’s a spike of Explorer crashes because all of these patchers start patching the wrong code, and Explorer starts crashing across all the systems that have these “shell enhancement” programs installed. If you’re really unlucky, their rogue patch crashes something in the Explorer startup path, and users finds themselves stuck with an unusable machine due to Explorer crash loops.
I'm all for blaming Microsoft for all the world's ills, but I'd be inclined to assume good faith on this one.
- wiseowise 3y ago> Never attribute to malice that which is adequately explained by stupidity.
- fake-name 3y agoI'd be more sympathetic if microsoft didn't keep making everything worse in each new version of windows since W7.
- readthenotes1 3y agoThat doesn't jibe with the fix being just simply to rename the executables. If they actually were flawed, renaming them wouldn't remove the flaw...
- wizzwizz4 3y agoHow do you know renaming them removes the flaw? All we know is that Taras Buria (or their sources) didn't encounter any crashes when they tried it, but not all correctness bugs are immediately obvious.
- josephcsible 3y agoFrom that same post: > The interesting thing here was how the program decided where to install its patches, and in particular how it managed to patch an function that was never exported or stored in a vtable: It found the function by contacting the Microsoft symbol server to get the names of all the functions in Explorer and their addresses! I don't think anyone would make a program do hacky binary patching like that just for fun. Presumably, they did it that way because Microsoft doesn't offer any reasonable way to accomplish the same functionality. If enough people used the hacky binary patch that it produced a noticeable spike in crashes, then I do blame Microsoft for making it necessary in the first place.
- parineum 3y agoFrankly, if you want to customize windows, write your own shell instead patching a closed source binary. At the very least, crc before you patch.
- usrusr 3y agoYet the root cause is Microsoft breaking compatibility with user expectations. That program their computer-savvy nephew installed for them? It was installed because Microsoft decided that it would be fine for aunty to re-learn everything. Likely because everybody with a say on the design team is using Macs.
- mintplant 3y agoOkay, then maybe they could stop messing things up instead of blaming their users? I would love to not have to run a third-party patcher to put my taskbar at the top of the screen where I've had it for a decade and a half.
- MikusR 3y agoEven the main picture in the article shows the error message that clearly states: "A new version might be available"
- josephcsible 3y agoIf they're blocking these programs by the name of the .exe file, then wouldn't a new version still be blocked?
- fieryskiff12 3y agoand from my experience, explorer can go haywire with certain file types (eg.: Opus) and merely sleeping and starting the machine again, after a couple of uses. And some windows machines from the windows 7 era can freeze program by program after some days just being on. On windows 10 you can replicate it by just pulling outages until you see this effect, or someing worse.
- FdbkHb 3y agoThe opus issue is truly unforgivable. The only way to reasonably browse folders that contain opus files for me has been to change the view to a list type, without any metadata detail, then go to the options in explorer to apply that view to all folders of the same type (explorer will automatically pick a set of configurations that changes depending on file type contained in a folder. In this case, it's the "music" type if it detects a majority of audio files). The issue is caused by the metadata parser and since it doesn't get prompted if you don't use a detailed column view you don't hit the issue that way. Of course, this represents a loss in functionality since you won't be able to sort things by metadata columns like artists/composer/album title etc.