Thursday, November 15, 2007

Faulting Module mfc42.dll - Bad news for Palm, Treo, Tungsten, and Visor users!

For people who rely on Palm Desktop Software (Palm.exe for Windows) contact, calender, and "to do" software, this message can be a real challenge; "Faulting application palm.exe, version 4.0.1.0, faulting module mfc42.dll, version 6.2.4131.0, fault address 0x00004973. Event ID 1000.

This message may mean that one of your information files (address.dat for example) is corrupt!

If you have a handheld device you can use the data on it and sync your information to your desktop (make sure your make backups of the questionable files on your desktop and the "good" files on your handheld before you resync to be safe).

One of my clients has long stopped using his Palm and just uses the desktop software. I walked into his office and he indicated that his Palm software won't load! I went through the usual problem solving process, including a reboot, asked if anything unusual happened the last time he used the application, then checked the event Log. The application event log was bulleted with red dots, event ID 1000, faulting module mfc42.dll.

To make a long story short I, rebooted the PC it in safe mode the software still would not load. In my mind this ruled out a problem with conflicting software. I then googled mfc42.dll and found that this DLL was active in many software problems. For those so inclined the best definition I found was from IBM, "The Microsoft® mfc42.DLL provides an Application Framework, known as MFC (MS Foundation Classes). This framework provides an object oriented, easier programming interface for Windows. Many applications (like ClearCase) use this dll. " http://www-1.ibm.com/support/docview.wss?ratlid=cctocbody&rs=984&uid=swg21146638

OK but what did this mean for the Palm application? I found another post that indicated that this error probably meant a corrupt data file.

So the task became how to fix a corrupt file. I looked for file utilities that could fix this problem as the Palm file was in binary and found none. I found both Perl and Java programs that would read the file for other than recovery (conversion, or to populate a HTML page). I looked at these as a worst case solution. I looked at the file in a hex editor to see it anything was apparent, like a mangled header. No luck!

I then went to the Palm Support Forum. Not much luck, however one post suggested to using the "repair tool in Palm Desktop found in the Tools/Options/Tools Tab," I looked at the Palm software on the client machine, no such Tab!

Then the A HA! what about upgrading the Palm application to the latest version and try to use the recovery tool? I had known that the file layouts had not changed for many years. I made backups of the file in question and in another machine loaded the new palm software and tried to access the corrupt file. WOW! The Palm application worked and the address file opened without even running the recovery tool! Victory (3.5 hours later).

The client returned I informed him of his luck (and my skill! lol). I asked him again had anything unusual happened the last time you used the Palm software, any new software on the machine? etc... He said with somewhat of a sheepish look, "I cut and pasted some information from a web page". This explained the corrupt file. The web page probably had some characters that corrupted the data file. The new version of the Palm application had code that looked for this kind of data exception and did not "crash" the application.

New versions of the Palm desktop applications can be found at: http://www.palm.com/us/support/downloads/win_desktop.html
(The new version of the Palm application create a backup file automatically, Filename.dba!)

Take home messages:
1) back-up changing files on a daily basis
2) when pasting from one application to another use paste as text (or unformatted text) when possible to reduce the potential for introducing 'special characters" that may crash a poorly written application. (You can use notepad to create plain text if your favorite application does not have this feature).
3) Use the latest version of your applications
4) Have "Personal CIO" or a "Computer Concierge" to bail you out!

Stu

1 comment:

Anonymous said...

Wow! This is exactly the problem that I am having!! I will try your suggestions and hope I can get my desktop software to work again. Thanks!!

Blog Posts

AddThis Social Bookmark Button