Page Violations


This is a Windows 98 error message which carries a lot of information which might be understood by a programmer but most likely not. Windows has a number of clever checking procedures, one of which relates to illegal access of memory.

All PCs still have a throwback to days gone by when it was imagined that 640kbyte of memory was plenty big enough for anyone. That amount looked massive back in 1980 and so it was if programmers had been careful what they wrote. The ZX81 used 1kbyte and in this tiny space could be put a pretty stiff game of chess!

Over the years programs have become ever so inefficient in memory requirement and now 256Mbyte of RAM is commonplace. Unfortunately most PCs still have to look over their shoulder where the 640k base memory feature still lurks. One of the techniques used to expand the base memory is breaking down the total memory into chunks, and to make this a useful feature rather than just being a bind is to use "paging". This is a method of addressing extra memory which incorporates a check so that a program trying to access a new page willy-nilly without prior notice is deemed to be in violation of good practice. I guess that FAT32 has made the technique slightly more complicated than it used to be so any program which may not be totally FAT32 may well violate the rules. All older programs should be vetted by their originators to ensure that there are no clever features making it incompatible with FAT32. Microsoft does warn against using such programs and as they know all there is to know about FAT16 and FAT32 any of their programs will be OK.

There are lots of instances known about causes of Page Violation but the other day I had such a problem with a customer's machine. It turned out that selecting "My Computer" and following a specific path of selecting and closing would bring up a "Page Violation Message". Sometimes the "details" attached to the message will give a clue. In this instance the clue was that EXPLORER produced a page violation in MDM.DLL. What is MDM.DLL? It's Microsoft's "Debug Manager". How is it Microsoft can't get their act right? Maybe it's a junior programmer's error or just sloppy management or poor quality control?

It seems that the errant program has been inadvertently loaded from Office 2000. Probably Virtual Basic or somesuch? Anyway renaming MDM.DLL sorted out the problem but presumably this killed off the Debug Manager whatever that was? The strange thing was that hiding the duff program didn't result in an error message to the effect that MDM couldn't be located!

In summary there are loads of instances where this message will appear, a couple hardware originated, buts lots and lots SOFTWARE. Always look to the latter FIRST.


Read about more computer repairs>>