Can not erase unused space

proffish4898

New Member
I am using Windows 7. I cannot erase unused space, though program starts fine and I can erase recycle bin. I have tried both stable version and latest daily, as of March 5, 2010. I receive the following error message when I try to erase hard drives:

Session: Friday, March 05, 2010 9:42:49 AM
Friday, March 05, 2010 9:42:49 AM Error Object reference not set to an instance of an object.

I have uninstalled and removed all registry references before reinstalling.

What more information do I need to provide and how do I access the information?

Thanks for your help and your wonderful program.

Steve
 
I can confirm that I am running Version 6 build 1880 successfully on both Vista x64 and Windows 7 x64. I deduce that you are also using Version 6, but it would be helpful if you could confirm this.

Joel is better placed than I am to advise on this. But a couple of questions occur.

  1. Is the error message you quoted from the task log or a message box? Does the task log for the task still exist and what else does it say? You can highlight entries, copy them to the clipboard, then paste then to a text file or directly into a post.
  2. When you uninstalled, did you delete the Eraser 6 sub-folder, in the (hidden) Appdata/Local folder within your user folder? This folder contains both crash report folders (which might possibly contain useful information about your problem) and also the Task List file (Task List.ersx), which can sometimes get corrupted and confuse Eraser. In the latter case, deleting the Task List file and restarting Eraser will re-create the file
Hope these thoughts help.

David
 
I need the exact build number you downloaded. This looks like I've committed an untested patch accidentally.
 
Eraser 6.0.6.1376 (the stable release on the downloads page) does not seem to erase unused disk space on Windows 7.

Basic Info: Attempted US DOD 3passes. After running its status was "Completed With Errors". I ran this with 20GB of free space on a 465GB drive with 250,000 files and it "completed" in under 4 minutes.
Hardware: Intel Core2 Duo CPU T7300 @ 2.00Ghz, 2.0GB RAM, NVIDIA Quadro NVS 140M
OS: MS Windows 7 Ultimate x86

The full log for the run can be found HERE, since for some reason the forum doesn't like me uploading .txt attachments :\

1) While it's normal for some files to not be erasable due to the usual reasons; compressed, encrypted, in-use, etc., some of those were incorrect:

Session: Friday, March 05, 2010 1:00:46 PM
Friday, March 05, 2010 1:00:46 PM Information C:\cluster.exe did not have its cluster tips erased because it is compressed, encrypted or a sparse file.
Friday, March 05, 2010 1:00:46 PM Information C:\Graph.exe did not have its cluster tips erased because it is compressed, encrypted or a sparse file.
Friday, March 05, 2010 1:00:46 PM Information C:\hotel.exe did not have its cluster tips erased because it is compressed, encrypted or a sparse file.
Friday, March 05, 2010 1:00:46 PM Information C:\max.exe did not have its cluster tips erased because it is compressed, encrypted or a sparse file.
Friday, March 05, 2010 1:00:46 PM Information C:\maxsum.exe did not have its cluster tips erased because it is compressed, encrypted or a sparse file.
Friday, March 05, 2010 1:00:46 PM Error C:\ did not have its cluster tips erased because of the following error: The process cannot access the file because it is being used by another process. (Exception from HRESULT: 0x80070020)

Each of the .exe files mentioned above are C/C++ programs I compiled myself using cygwin for CS homework assignments. They are not compressed, encrypted, or sparse files, nor are they hidden or system files or in any other way special. Also, 5.8.8 had no trouble with these .exe files doing the same type of run with the same settings.

2) I'm pretty sure Eraser didn't actually erase the cluster tips of ANY files AND it didn't even ATTEMPT to erase the unused disk space. It completed in 4 minutes. With 445/465ish GB of used space and over 250,000 files, It takes much longer to erase the cluster tips than overwrite the actual unused space unless I'm using the 35 pass or something similar. Using Eraser 5.8.8 with DOD 3pass, it took over two hours just for the cluster tips; there's no way Eraser 6 did anything in 4 minutes.

I use Recuva to both recover deleted files and check that secure deletion has actually worked. There were no noticeable changes in Recuva's scan results before and after the Eraser6 run (98% of files were still recoverable and in excellent condition, and those in bad condition or unrecoverable were that way before I ran Eraser).
-----

Suggestions and Comments

The Bad:
I really dislike the new interface (mostly the settings pane).
- You removed the option to create new algorithms which was also available in 5.8.8.
- Maybe it's because I haven't had a successful run so I haven't seen it happen in the status box, but I liked seeing what's happening during a run (such as what file it's on, and whether it's erasing cluster tips or overwriting unused space, and what pass it's on, estimated time left etc).
- You removed the specific options for overwriting files/unused space, such as just erasing the cluster tips, just erasing the free space, etc. I loved having those options.

Pp2fO.png


The Good:
- I like the "Replace erased files with the following files..." option, which seems like an attempted replacement of the thing I mentioned previously about being able to create algorithms. Keep it, because it's a nice shortcut for doing that type of thing, but bring back the old options as well.
- I like the fact that Eraser can now be minimized while running a task and isn't stuck with an unmovable program window for the duration of the run.

Other:
- Add an option to automatically log stuff and make an erasing report. It's not difficult to copy/paste the data from the "View Task Log" option, but it doesn't support ctrl-a which is somewhat annoying AND it's lacking useful information like write speed, amount written, duration, etc (stuff available in 5.8.8 logs).
- Add more information to the Erase Schedule pane for a task (namely the size of task).
- An option to securely erase the pagefile/hiberfile at shutdown would be nice.
- Remove the drop down menu from "Erase Schedule" and just add "Import Task List" and "Export Task List" to the right click options for the Erase Schedule pane.
- Uninstalling Eraser 6 apparently requires a reboot to complete while uninstalling Eraser 5 does not (or at least it doesn't say so), any way to prevent that?

EDIT: Just found the option for adding new algorithms and deciding the algorithm to be used for the first/last 16KB in the settings for the Default Erasure Methods Core Plugin. Come on, make it a litttttle more obvious; put those under "Default unused space erasure method" and above "Randomness data source" in the Erase Settings area.

Thanks for the hard work (I'm sorry for all the criticism in this post, I've been using version 5 for years and saw 6 was stable so I gave it a shot and just wasn't happy with the results).

On a little side note, how about allowing .txt attachments and enabling bbcode for the forum ;)
 
DemonEyesBob said:
1) While it's normal for some files to not be erasable due to the usual reasons; compressed, encrypted, in-use, etc., some of those were incorrect:

Session: Friday, March 05, 2010 1:00:46 PM
Friday, March 05, 2010 1:00:46 PM Information C:\cluster.exe did not have its cluster tips erased because it is compressed, encrypted or a sparse file.
Friday, March 05, 2010 1:00:46 PM Information C:\Graph.exe did not have its cluster tips erased because it is compressed, encrypted or a sparse file.
Friday, March 05, 2010 1:00:46 PM Information C:\hotel.exe did not have its cluster tips erased because it is compressed, encrypted or a sparse file.
Friday, March 05, 2010 1:00:46 PM Information C:\max.exe did not have its cluster tips erased because it is compressed, encrypted or a sparse file.
Friday, March 05, 2010 1:00:46 PM Information C:\maxsum.exe did not have its cluster tips erased because it is compressed, encrypted or a sparse file.
Friday, March 05, 2010 1:00:46 PM Error C:\ did not have its cluster tips erased because of the following error: The process cannot access the file because it is being used by another process. (Exception from HRESULT: 0x80070020)

Each of the .exe files mentioned above are C/C++ programs I compiled myself using cygwin for CS homework assignments. They are not compressed, encrypted, or sparse files, nor are they hidden or system files or in any other way special. Also, 5.8.8 had no trouble with these .exe files doing the same type of run with the same settings.
Encrypted, compressed and sparse files seem to inherit the attribute of the parent folder. Eraser 5 supported the erasure of these files, this has been removed in Eraser6 since it was able to corrupt drives occasionally. There's a new ticket created by DavidHB which is for me to investigate what actually goes on, since we get these attributes from system calls.

DemonEyesBob said:
2) I'm pretty sure Eraser didn't actually erase the cluster tips of ANY files AND it didn't even ATTEMPT to erase the unused disk space. It completed in 4 minutes. With 445/465ish GB of used space and over 250,000 files, It takes much longer to erase the cluster tips than overwrite the actual unused space unless I'm using the 35 pass or something similar. Using Eraser 5.8.8 with DOD 3pass, it took over two hours just for the cluster tips; there's no way Eraser 6 did anything in 4 minutes.

I use Recuva to both recover deleted files and check that secure deletion has actually worked. There were no noticeable changes in Recuva's scan results before and after the Eraser6 run (98% of files were still recoverable and in excellent condition, and those in bad condition or unrecoverable were that way before I ran Eraser).
Once again, it's the error log. The first time we go through the files is to count and see which files are to be skipped. The task obviously failed since it ended with an error condition. There's a slight (logical) discrepancy when using Eraser 6.0 -- certain errors trigger the end of the task, others don't. I'm planning to separate these two into Errors and Warnings respectively, but this may not get into Eraser 6.0 since it is a change in behaviour.

DemonEyesBob said:
- Maybe it's because I haven't had a successful run so I haven't seen it happen in the status box, but I liked seeing what's happening during a run (such as what file it's on, and whether it's erasing cluster tips or overwriting unused space, and what pass it's on, estimated time left etc).
Double click on the task while it is running.

DemonEyesBob said:
- You removed the specific options for overwriting files/unused space, such as just erasing the cluster tips, just erasing the free space, etc. I loved having those options.
These are set on the task basis. Some drives you'd want cluster tips erased, others you may not. For alternate data streams, you need to erase them as they belong to the file and deleting the main file would cause the ADS contents to be deleted too, resulting in a privacy leak. Cluster tips of erased files do not add a significant amount of time to the erasure, so why turn it off?

DemonEyesBob said:
- Add an option to automatically log stuff and make an erasing report. It's not difficult to copy/paste the data from the "View Task Log" option, but it doesn't support ctrl-a which is somewhat annoying AND it's lacking useful information like write speed, amount written, duration, etc (stuff available in 5.8.8 logs).
Crashes are reported in 6.2, this won't be backported to 6.0 (and will in all likelihood be disabled in stable releases.) Statistics are much more difficult to compute for Eraser 6, since every task can have multiple targets. What sort of statistics do you propose? For the list-view's ctrl-A, please create a Trac ticket.

DemonEyesBob said:
- Add more information to the Erase Schedule pane for a task (namely the size of task).
How do you propose we compute the size of a task, especially since the targets in the task changes with every edit, and any changes to the files in that folder (assuming it is a folder you are erasing) will affect the size of the task?

DemonEyesBob said:
- An option to securely erase the pagefile/hiberfile at shutdown would be nice.
As outlined in the Trac ticket, this is the decision of the system administrator, especially in corporate environments and Eraser 5 was nasty in overwriting sysadmin decisions. v6 deliberately doesn't implement this: you can find the relevant setting in Local Security Policy (someone else correct me if I'm wrong on this)

DemonEyesBob said:
- Remove the drop down menu from "Erase Schedule" and just add "Import Task List" and "Export Task List" to the right click options for the Erase Schedule pane.
And what does this do? You can also import task lists by dragging and dropping task files onto the task pane.

DemonEyesBob said:
- Uninstalling Eraser 6 apparently requires a reboot to complete while uninstalling Eraser 5 does not (or at least it doesn't say so), any way to prevent that?
Eraser 5 should require a reboot too. This is because of the shell extension.

DemonEyesBob said:
EDIT: Just found the option for adding new algorithms and deciding the algorithm to be used for the first/last 16KB in the settings for the Default Erasure Methods Core Plugin. Come on, make it a litttttle more obvious; put those under "Default unused space erasure method" and above "Randomness data source" in the Erase Settings area.
This isn't really possible for one reason, and a bad idea as well: Erasure methods are controlled by plugins, and the only unified way of configuring the plugin is to provide the plugin settings dialog. Secondly, custom erasure methods are a relatively advanced task and so proportionately this should be kept in places that are significantly less obvious. It is however documented in the documentation.

DemonEyesBob said:
On a little side note, how about allowing .txt attachments and enabling bbcode for the forum ;)
Txt should be allowed, what error did you get? doesn't seem to come default with the phpBB package, so I don't think that's possible (since the forum doesn't technically allow me to change the code.)
 
For the reason Joel gave, there is little point in trying to run build 1376 under Windows 7; I hope that it will soon lose its spurious billing as the stable release. The more recent nightly builds are running much better. I am currently running build 1880 under both Win 7 x64 and Vista x64. I have just completed testing a free space erase on a 750GB drive; Recuva (deep scan) only found two recoverable files, and these seemed to be related to the compressed files issue mentioned by Joel. This is pretty much as good as the results reported for Version 5.8.8 above.

I agree with a number of the comments about user feedback. I don't mind a progress bar, but I think we need at least the option of a completion report, such as we had in Eraser 5.x. Maybe this could be part of the Task log.

In fairness to Joel and the team, we should acknowledge that real progress has been made over the last few weeks in bringing Eraser back to the levels of stability we saw with 5.x under XP, which is much harder to achieve with Vista and Windows 7. I'm now looking forward to a real stable release ...

David
 
So am I!
 
"Value does not fall within the expected range"

My computer is running Vista in German. Your program is in English. Upon bootup I get an error message that the "naive" language is being used. Upon attempting to use Eraser, I get this error message "Value does not fall within the expected range". What is wrong?
Thanks,
Thomas
 
OP here. Not sure what all the interim discussion was about. In response to questions, I have the same response on the task log viewed by right clicking after erasure of C: drive was completed with error:

Session: Saturday, March 06, 2010 9:29:20 AM
Saturday, March 06, 2010 9:29:21 AM Warning The drive C:\ has System Restore or Volume Shadow Copies enabled. This may allow copies of files stored on the disk to be recovered and pose a security concern.
Session: Saturday, March 06, 2010 9:29:20 AM
Saturday, March 06, 2010 9:29:22 AM Error Object reference not set to an instance of an object.

The first is a warning, the second an error.

Following advice, I did remove the hidden eraser folder and searched my computer for all eraser files.

I have done this several times now, with the "stable" version, and with the following dailies:

Eraser 6.1.0.1877 r1877 2/3/10 4:14am 886
Eraser 6.1.0.1880 r1880 5/3/10 4:10am 287
 
Continuation of prior message:

I have now uninstalled and reinstalled several times with several versions. I've also deleted all files I can find. I suspect I'm missing something. Any ideas?
 
Joel said:
Encrypted, compressed and sparse files seem to inherit the attribute of the parent folder. Eraser 5 supported the erasure of these files, this has been removed in Eraser6 since it was able to corrupt drives occasionally. There's a new ticket created by DavidHB which is for me to investigate what actually goes on, since we get these attributes from system calls.
So... that would mean it thinks my C:\ is sparse, encrypted or compressed, since that's the parent folder... but that doesn't make any sense either, because there are a lot of random files sitting around in C:\ and they don't show up as problems in the log...

Joel said:
Once again, it's the error log. The first time we go through the files is to count and see which files are to be skipped. The task obviously failed since it ended with an error condition. There's a slight (logical) discrepancy when using Eraser 6.0 -- certain errors trigger the end of the task, others don't. I'm planning to separate these two into Errors and Warnings respectively, but this may not get into Eraser 6.0 since it is a change in behaviour.
Ahhh. Got it.

Joel said:
Cluster tips of erased files do not add a significant amount of time to the erasure, so why turn it off?
Are we talking about the same thing here lol? In 5.8.8 when I select Unused Disk Space as my task and run it, it erases the cluster tips of all files on the drive (unless I've specified otherwise in those nice little erasing options I want back lol), and if you have a mostly filled drive that can take A LOT of time (in fact, if I'm using anything less than 7 passes, erasing the cluster tips tends to take longer than overwriting the unused space). I've had occasions where a task has failed or I've had to stop it part way, and if it had already erased the cluster tips I'd uncheck that and just do the unused space.

Joel said:
Crashes are reported in 6.2, this won't be backported to 6.0 (and will in all likelihood be disabled in stable releases.) Statistics are much more difficult to compute for Eraser 6, since every task can have multiple targets. What sort of statistics do you propose? For the list-view's ctrl-A, please create a Trac ticket.
Average write speed, total amount of data written, total time of the task... I was pretty happy with the stats 5.8.8 had in its log, and I'll make a trac ticket for the ctrl-a issue ^_^

Joel said:
How do you propose we compute the size of a task, especially since the targets in the task changes with every edit, and any changes to the files in that folder (assuming it is a folder you are erasing) will affect the size of the task?
Well, if it's unused disk space, could it not set the task size to free space on the specified drive? I'm pretty sure 5.8 did this, and updated it if you created/deleted files. If nothing else, grabbing the total size of a folder or group of files before running the task seems appropriate (and if you make changes to the folder you're erasing while the task is running you're doing it wrong).
y2GOB.png


Joel said:
As outlined in the Trac ticket, this is the decision of the system administrator, especially in corporate environments and Eraser 5 was nasty in overwriting sysadmin decisions. v6 deliberately doesn't implement this: you can find the relevant setting in Local Security Policy (someone else correct me if I'm wrong on this)
Got it.

Joel said:
And what does this do? You can also import task lists by dragging and dropping task files onto the task pane.
This would make it more aesthetically pleasing ;) It seems pointless having a drop down arrow for just two options (import and export) that would look right at home being right-click options instead.

Joel said:
This isn't really possible for one reason, and a bad idea as well: Erasure methods are controlled by plugins, and the only unified way of configuring the plugin is to provide the plugin settings dialog. Secondly, custom erasure methods are a relatively advanced task and so proportionately this should be kept in places that are significantly less obvious. It is however documented in the documentation.
Fine fine :roll:

Joel said:
Txt should be allowed, what error did you get? doesn't seem to come default with the phpBB package, so I don't think that's possible (since the forum doesn't technically allow me to change the code.)

qCemq.png


DavidHB said:
For the reason Joel gave, there is little point in trying to run build 1376 under Windows 7; I hope that it will soon lose its spurious billing as the stable release. The more recent nightly builds are running much better. I am currently running build 1880 under both Win 7 x64 and Vista x64. I have just completed testing a free space erase on a 750GB drive; Recuva (deep scan) only found two recoverable files, and these seemed to be related to the compressed files issue mentioned by Joel. This is pretty much as good as the results reported for Version 5.8.8 above.In fairness to Joel and the team, we should acknowledge that real progress has been made over the last few weeks in bringing Eraser back to the levels of stability we saw with 5.x under XP, which is much harder to achieve with Vista and Windows 7. I'm now looking forward to a real stable release ...
Joel said:
LoL. I am grateful for all the work being put into this :)

proffish4898 said:
OP here...
Yeah... sorry for somewhat hijacking your thread, but I had a similar problem so I thought it would be better putting it here instead of creating a new thread.
 
DemonEyesBob said:
So... that would mean it thinks my C:\ is sparse, encrypted or compressed, since that's the parent folder... but that doesn't make any sense either, because there are a lot of random files sitting around in C:\ and they don't show up as problems in the log...
The whole thing doesn't make sense to me either, but that seems to be the behaviour. Until I can get to investigating, that's all I know.

DemonEyesBob said:
Joel said:
Cluster tips of erased files do not add a significant amount of time to the erasure, so why turn it off?
Are we talking about the same thing here lol? In 5.8.8 when I select Unused Disk Space as my task and run it, it erases the cluster tips of all files on the drive (unless I've specified otherwise in those nice little erasing options I want back lol), and if you have a mostly filled drive that can take A LOT of time (in fact, if I'm using anything less than 7 passes, erasing the cluster tips tends to take longer than overwriting the unused space). I've had occasions where a task has failed or I've had to stop it part way, and if it had already erased the cluster tips I'd uncheck that and just do the unused space.
It's at the Add Data dialog. Just below the combobox that lets you pick the drive.

DemonEyesBob said:
Well, if it's unused disk space, could it not set the task size to free space on the specified drive? I'm pretty sure 5.8 did this, and updated it if you created/deleted files. If nothing else, grabbing the total size of a folder or group of files before running the task seems appropriate (and if you make changes to the folder you're erasing while the task is running you're doing it wrong).
Enumerating the free space of a FAT drive, and computing the total size of a folder are O(n) processes, and I think it's unnecessary disk activity to be doing this. And since Eraser has got many tasks open at once it'll only be even more resource intensive? How are we to continually update all the tasks that are not running and still maintain a sane level of resource consumption?

Thanks for your input!

EDIT: P/s text attachments should be enabled now.
 
@proffish4898: The next time you get the error, go to %LOCALAPPDATA%\Eraser 6\Crash Reports and find the crash report with the error, and upload Debug.log here (or copy/paste the text) You may like to read through it to ensure nothing is sensitive, but let me know if anything's removed (as you may accidentally remove the key to the problem)

I don't think the stable should have this problem though. And the nightly should already have it fixed...
 
Joel said:
The whole thing doesn't make sense to me either, but that seems to be the behaviour. Until I can get to investigating, that's all I know.
OK. Good luck figuring it out. Is there any info on those files I can get that would help?

Joel said:
Enumerating the free space of a FAT drive, and computing the total size of a folder are O(n) processes, and I think it's unnecessary disk activity to be doing this. And since Eraser has got many tasks open at once it'll only be even more resource intensive? How are we to continually update all the tasks that are not running and still maintain a sane level of resource consumption?
Fair enough. But how (why?) did 5.8.8 do it? Also: http://support.microsoft.com/kb/231497

Joel said:
EDIT: P/s text attachments should be enabled now.
Thanks :)
 
DemonEyesBob said:
Joel said:
Enumerating the free space of a FAT drive, and computing the total size of a folder are O(n) processes, and I think it's unnecessary disk activity to be doing this. And since Eraser has got many tasks open at once it'll only be even more resource intensive? How are we to continually update all the tasks that are not running and still maintain a sane level of resource consumption?
Fair enough. But how (why?) did 5.8.8 do it? Also: http://support.microsoft.com/kb/231497
I don't think v5 updated the value, it just created it once and left it there, which IMO doesn't make it very useful. Unless someone can point to me otherwise, that's what my (to be honest, vague) recollection of what went on in v5 (it's been a very long time since I last changed any of the UI bits of v5)
 
I also got this error message when attempting to erase free space on an entire drive:

Session: 09 April 2010 09:56:36
09 April 2010 10:11:06 Error Object reference not set to an instance of an object.

I am running Eraser nightly build 6.1.0.1891 on Windows 7 64-bit. Attached is the debug.log and the tasklog.
 

Attachments

Please open a bug for this.
 
I would do, but Trac won't let me. It says I need to verify my email address... but it's not sending me the verification code (i've checked my junk folder too and it's not there, tried using a different email address, tried re-sending the email, nothing works). :(

Account name on Trac is the same as here.
 
If anything, Trac account support is pretty crap.

I'll leave this tab in my browser open, hopefully I get to fix this before the afternoon. I'm preparing for the release of 6.0.7 for this week.
 
Potential fix in r1895. See if that solves your problem.
 
Back
Top