External Component Has Thrown an Exception


New Member
I was hoping someone could help me figure out exactly what this error log message means:

I was running a task to wipe "Unused Space". When I returned to the machine, Eraser had posted a message that it had failed to complete the task. The last entry in the log file says "External component has thrown an exception.".

What exactly does this mean, and is there any action I need to take? Or, just try again?

The drive I was trying to wipe the unused space on is an Iomega external drive. My OS is Windows XP, SP 3. I'm running the latest stable version of Eraser.
I can help to some extent with this. The 'external component' will almost certainly be part of the .NET runtime, which Eraser uses. I have not previously seen this (unhelpful) error message, but it will come either from trying to access a problematic file during the cluster tip erase or from Windows objecting (which it shouldn't do, bur sometimes does) when the drive is nearly full if Eraser's erasing files.

The other issue may be the connection to or driver associated with your external drive. As erasing free space fills the up the whole drive (before deleting the erasing files), it does work the drive quite hard. It may be worth running a disk check to make sure that all is in order with the MFT or FAT on the drive.

After the disk check, try running again with the option to erase cluster tips disabled. For most people, that will not be a significant reduction in security.

If all else fails, you could revert to Eraser 5.88, after uninstalling Eraser 6 (Eraser 5 can be downloaded from the Eraser page on SourceForge). Eraser 5, though no longer supported, does run well on XP.

Thanks David. I'll give those actions a try and report back.

How import is the option to erase cluster tips? Does that leave files in a state that they could be easily recovered by something like Recuva?
I ran check disk and it did not report any errors.

Next, I ran Eraser again, this time without the option to erase cluster tips. Eraser made it all the way through the various stages, then at the very end when the last step was 100% it posted that it completed with errors. The message in the log file was the same as before (External component has thrown an exception).

Any thoughts?
Yes. Either, as suggested earlier, Windows does not like the disk being full, or something odd happened when eraser tried to clear the unused MFT entries. The awkward thing about issues of this kind is that they are usually in some way installation specific; if they always occurred, the problem could readily be reproduced and fixed. It is also the case that, since the release of 6.0.8, we are seeing more problems of this kind with XP than with Vista and Windows 7 (though they create other issues!).

I'm sorry, but, for the sake of your sanity, Version 5.8.8 may well be the answer in your case.

For completeness, cluster tips are nothing to do with deleted files. They are the unused parts of the space allocated to files that are not deleted. You would need a very capable, patient and lucky opponent to get anything useful out of them. That is why I am of the opinion that, for the majority of us who are unlikely to have such opponents queuing up to look at our files, not erasing cluster tips is nearly as significant a risk as many others we have to face.

David -

I happened to notice that after this error has occurred, Eraser has used virtually all available memory. In Task Manager, the Memory Usage shows well over 1 GB for the Eraser process (and it stayed at this value even after Eraser stopped running the tasks). As I watched Task Manager, Eraser begins to seize the memory near the end of the steps.

Twice I have received an error that was something along the lines of "memory exception". Sorry, I don't recall the exact nomenclature used. After each case, Task Manager showed a high memory allocation to Eraser which remained until I closed Eraser.
Ah, thank you. That is interesting and suggests other lines of enquiry.

As a matter of interest, how much RAM does your XP machine have? If it is less than, say, 1GB (I'm guessing), I could imagine that paging file operations could impact on the way that the free space erase works, especially at the end of its run. We've also had reports that Eraser sometimes seems to consume excessive amounts of memory. Actually, it is .NET that does all the memory management for applications that use it, so in such a case that is where the problem would lie.

One option is to disable all running programs (including, notably, your antivirus) while the free space erase is running, to see if that helps. It would probably make the erase quicker in any case.

I've got a few suspects here, but I won't be pursuing this particular issue (as this sounds like an edge case) unless you indicate specifically that you wish to see a solution for this. What's your view?