Hacker News
DLL that was not present in memory despite not being formally unloaded
masfuerte
|next
[-]
Someone1234
|root
|parent
[-]
londons_explore
|root
|parent
|next
[-]
But I would hope that some kind of reverse debugger triggered on one of these crashes would make it pretty simple to say "who wrote this 01".
rramadass
|root
|parent
|next
|previous
[-]
The “DLL unmapped from memory” crash is just an alternate manifestation of the “somebody is writing 01 bytes to places they shouldn’t” bug. The original bug had a larger bucket spray than we initially thought.
Part-2 is the essence of the solution while Part-1 is a series of investigations and inferences.
zabzonk
|next
|previous
[-]
The story of software development through the ages.
rwmj
|next
|previous
[-]
I say this because we've reported a bunch of Windows bugs (mainly running Windows under virtualization) and getting them to pay attention at all is an up-hill battle.
1970-01-01
|next
|previous
[-]
Always wondered if crash reporting is some kind of shady business. It's good to know it does, at minimum, do what it promises and give valuable crash data to MS.
kumarvvr
|next
|previous
[-]
rramadass
|root
|parent
|next
[-]
However, if you are interested in knowing what is all involved, see; Advanced Windows Debugging by Mario Hewardt and Daniel Pravat - https://advancedwindowsdebugging.com/
Review of the book by Raymond Chen himself! - https://devblogs.microsoft.com/oldnewthing/20071218-01/?p=24...
dist-epoch
|root
|parent
|next
|previous
[-]
Panzer04
|root
|parent
|previous
[-]
kumarvvr
|root
|parent
[-]
Panzer04
|root
|parent
[-]
Or do you mean all the windows specific stuff etc, I guess I was more imaging the call stack etc.
No insult was intended XD
FartyMcFarter
|root
|parent
|next
[-]
defrost
|next
|previous
[-]
So a total of 46% of the crashes were due to this rogue force-unload of a DLL. This is a case of bucket spray, where a single underlying cause generates a large number of different types of crashes.
nopurpose
|next
|previous
[-]
FartyMcFarter
|root
|parent
[-]
When you're at that level in a company, it's rare that someone would be micromanaging what you work on at all times.
IChooseY0u
|next
|previous
[-]
rpeden
|root
|parent
[-]
It still feels like a much more advanced way of sharing compiled libraries between different languages than the current default of "export a C ABI and communicate across the barrier via primitive sticks and stones."
COM isn't perfect but I still find it impressive especially since COM/OLE are 40 years old at this point.
microgpt
|root
|parent
[-]
OpenGL basically loads the GPU driver DLL that directly implements the OpenGL functions while Direct3D uses a COM object with a vtable so it can easily have two different ones.