Tom's Guide | Tom's Hardware | Tom's Games
![]() |
![]() |
![]() |
Windows Explorer error-- Clicking on File/New--causes invalid page fault
OS is Win 98, Windows 98 Service Pack 1 Installed
CPU:Cyrix 6x86,133Mhz;RAM= ca 64KIn Windows Explorer when I Click on File/New I get this error :
“This program has performed an illegal operation and will be shut down”
Details:"Explorer caused an invalid page fault in module at 0000:656d14e."When I close this 1st error message this 2nd message follows immediately:
“There was an internal error;one of the windows you were using will be closed.It is reccomended
that you save your work, then close all open programs and restart your computer.”
Then Windows Explorer closes.I have tried to repair Windows Explorer by using System File Checker and
extracting a new Explorer.exe from WIN98 install disk but I still get same error as before!
It was a 1]successful extraction/restoration & 2] it prompted me that it would overwrite
the old Windows Explorer [& I believe I did] --
but I also 3]did make a backup of the old Windows Explorer--it prompted me that it needed to
4]create a backup folder 1st 5] it prompted me to restart PC so changes could take effect.]I repaired IE5 at Add/Remove Programs but there was no feedback saying the process was
successful.I have no other problems with Windows Explorer.
Running SFC shows no corrupted files.
Microsoft Knowledge Base doesn’t seem to cover my case.

SOLUTION TO MY PROBLEM!! was to MANUALLY delete [MS RegClean didn’t remove it] the
folder for an excessively long file extension entry in the registry under HKEY_CLASSES_ROOT\
[SEE 1st POST BELOW for MORE INSTRUCTIONS]I actually created this problem by labelling an MS Backup job as:MusicCollection3.mdb&LEDGER1.mdb&-Selected-MyDocsFolders&MyDocsItems&CompBB'sQ&A's&Registry
The registry regarded everything after the 2nd period as a file extension. The excessively long file extension causes a buffer overrun in module: [most likely] SHDOC401.DLL &/or others.
Even when I deleted this Backup job the file extension remained in the registry.In my case Dr Watson revealed buried in the details this familiar “telltale” text: ‘.MDB&-SELECTED-‘
Dr Watson reported:The application or one of its DLLs may have overflowed an internal
temporary buffer.Module Name:
Application Name: Explorer.exe ;Description: Windows Explorer -Version: 4.72.3110.1
Don’t know why the registry saved it as a file extension[unless it was because it caused an error?]
since I believe the equivalent excessively long file extension exists on my PC right now w. no
problem. There are 62 characters after the 2nd period but the associated Backup report has 7777
added to the end, making 66 characters, which is too long for DOS too handle according to a Post appended below.There was also an auto_file folder with the same name-- truncated--& ending with
_auto_file\shell\open\command-- which didn’t need to be deleted.I was able to reproduce this error by renaming a a .jpg with an excessively long file extension.
__________________________________________________________________________
#1 Bulletin Board POST:RE: shdoc401.dll
This problem can be caused by an excessively long file extension entry in the registry. To fix:
- Open Regedit (Start, Run, type "regedit" without the quotes)
- Click on plus sign "+" beside HKEY_Classes_Root
- Scroll thru all the extensions (starting with ".")
- If you find a long one, right click on it and click "delete"
- Continue checking thru all the extensions listed
_______________________________________________________________
#2 Excerpts from :Win2ksecadvice SCX Re Buffer Overflows with
long file extensions in Windows.htmTopic: Malformed Filename Extensions causes Microsoft
Windows modules to overflow.Affects: Ms Windows'95, Ms Windows '98, Ms Windows '98 SE,
Ms Windows NT Server/Workstation 4.0, Ms win2KI. BACKGROUND
SHDOC401.DLL/SHELL32.DLL seems to crash when parsing filenames with
long extensions. This results in an buffer overflow, that might be
exploitable[as Security Loophole] to some extent. This is a local crash, but one can use
this to send malformed filenames using e-mail, dcc, ... to crash
one's these modules. After crashing the modules, the recovery is
one click away, thus there is no need in rebooting, ...II. DETAILED PROBLEM DESCRIPTION
Microsoft Windows seems to crash, due to an overflow, when trying
to parse a filename with an extension >129. Doing so, a buffer
overflow will occur, with the following information:
EXPLORER caused an invalid page fault in
module SHDOC401.DLL/SHELL32.DLL at 0000:61616161.
As you can notice, the EIP was overwritten during this overflow,
this means we can execute code from in the filename. This will
occur when selecting the file, or trying to view it.There seems to be a crash in the modules SHELL32.DLL, and
SHDOC401.DLL when parsing long-extensions.
2)When parsingmore than 135 characters in the extension, an other module will crash.
When using >129 characters, SHDOC401.DLL will crash. (3)
------
There is a buffer overflow in how Windows handles files, which have
a very long file extension. In Windows 98, I created the following file:
"x.xxxxxxxx[225 more x's]". If you keep your mouse a second over the
file, you get a general protection fault in the EXPLORER process. EAX, EIP and EBP
are overwritten with the x-values.
You can also get :EXPLORER caused a general protection fault
>in module KRNL386.exe
___________________________________________________________________
#3 Annoyances.com Post
re: Explorer causes a invalid page fault in module shdoc401
Thursday, October 10, 2002 at 10:21 amPosted by Lefa
Hi! Your problem may be caused by one or more invalid registry entries (that's what happened to me...). If none of the earlier hints have worked for you, please do the following: Find from the net and install shareware program Regmon. Have Regmon running while you do whatever causes the crash and
error message. At the crashing moment look at the last entries in Regmon that appear as Explorer is crashing. If you see some entries (that probably look all too familiar to you) that you can be sure of
being the culprits, please follow next step: Find from the net and install shareware program
RegCleaner.It is quite easy to use if you read the instructions carefully. Seek out those culprit
registry enties and remove them through RegCleaner. Reboot. And, as Clouseau would say,
the case is solved!

![]() |
reverts to prev. registry...
|
MsDos Mouse driver for US...
|

This post is quite old and has been locked from receiving new replies. Please create a new posting instead.
| Ads by Google |