Windows: Corrupted Driver Question

Can anyone explain in concrete detail what exactly has happened to a driver that is now corrupted?
Note: I have about 30 years experience programming which includes low level assembly and I’ve never had a program get “corrupted”. Either I have bugs that need to get fixed or I don’t, but the program doesn’t degrade over time or usage, so I don’t understand what is happening in this situation.

if you are really dealing with a corrupted file, then it’s nearly always a hardware failure. Could be the CPU, RAM, hard drive, or something in the chipset.

Which is exactly my confusion. One of those problems would affect more than just a driver, but a common problem and resolution is “driver is corrupted, re-install”, which seems to imply that usage of the driver is somehow altering the actual code in some way. I assume it’s not really, but figured I would ask instead of assume.

My employer regularly pushes updates to my work laptop when connected to the network. When I reboot the laptop (immediately after the update) or later when I normally boot up at the beginning of the work day, I end up with corrupted driver issues with several applications. I then have to run the repair/reinstall functions for those apps they work again.

I don’t know it the pushed updates make changes to the registry that corrupt the apps, the updates change file pointers, or a gazillion others things. I just have to repair/reinstall those apps.

A driver is just a file on disk like any other, and can become corrupted due to a bad sector on the hard disk, for instance. Bad memory is a rather less likely cause in this case, IMO, as the driver would have to load in pretty much the exact same memory location each time - not impossible given it loads at boot time as part of a fixed sequence, I suppose, but then re-installing the driver wouldn’t fix that.

Yes, but the frequency of “corrupted driver” situations is (IME) so far beyond the rate of bad sectors causing problems in non-driver files that it doesn’t seem like a good explanation.

Well if it used to be OK and then got corrupted - that is it didn’t get corrupted during an install or update of the driver (ie a file write operation) - then I don’t see any other explanation than a disk channel problem. Either a disk sector went bad or something else overwrote part of it, which would imply a disk, disk controller or disk controller driver problem.

That’s why I am asking the question, because there is simply no way that there are that many disk errors all located in the sectors that drivers just happen to reside in and rarely other files.

One problem is updates made to library files (dll’s in Windows land). Sometimes the new library is not backwards compatilbe with the old one and so the old driver is “corrupt”, but really, one of the libraries it depends on does not provide a function it needs, or it no longer works the same. When you reinstall the driver, it also reverts the changed library back to the version it works with. There are probably other reasons corrupt drivers occurs, but that is one I have definitely run into from time to time.

ETA: Oh, and some 3rd party drivers are just damn buggy.

AKA DLL hell.

This is what I came in here to say. Its not that your driver flipped out, but another file it interects with has changed so the driver kinda has the rug pulled out from under it, dumping it on its ass.

These things to not rewrite a file, they may not correctly execute a programs instruction, but these items other than a HDD issue do not just make a file go bad.

Driver Corruption is shorthand for any one of a number of problems

  • corrupt file on disk, which is pretty rare
  • corrupt file system on disk, which is much less rare
  • DLL incompatibility due to updates, as noted above
  • registry misconfiguration/corruption, common due to the registry being open all the time and a complex file format
  • driver obsolescence, where kernel/system updates advance the system to the point where a driver just does not work correctly
  • hardware failure (memory, disk, device)

All of these can be labelled as driver corruption and may (or may not be) fixed by a driver deletion/reinstall.

Si

If they are lumping the DLL dependency and registry issues into the term “corrupted driver” then that makes a lot more sense. Thanks for your responses.

Are you saying you’ve had multiple drivers be declared corrupt, or one declared corrupt multiple times? If so I agree something else is going on here, from your OP I assumed you’d had a one-off.

Isn’t Windows SxS supposed to deal with the issues of changed dlls?

[quote=“si_blakely, post:13, topic:568404”]

Driver Corruption is shorthand for any one of a number of problems

  • corrupt file on disk, which is pretty rare
  • corrupt file system on disk, which is much less rare
  • DLL incompatibility due to updates, as noted above
  • registry misconfiguration/corruption, common due to the registry being open all the time and a complex file format
  • driver obsolescence, where kernel/system updates advance the system to the point where a driver just does not work correctly
  • hardware failure (memory, disk, device)
    /QUOTE]Also, many drivers commonly reside in memory all the time your PC is operating. Thus they are much more susceptible to being corrupted (overwritten) by an out-of-control program (either deliberate malware or just plain poor programming) during usage.

But this kind of driver corruption only effects the copy in memory, and most drivers do not get rewritten back to disk – each time the computer starts, it loads the original copy from disk into memory. So a reboot of the system will fix this kind of driver corruption.

I’ve run into both at home and at work with enough frequency to prompt the question.