BUG REPORT: Eraser doesnt follow NTFS junctions

Please post your support questions here.

Moderators: Eraser DevTeam, Eraser Moderators

Re: BUG REPORT: Eraser doesnt follow NTFS junctions

Postby Joel » Mon Mar 19, 2012 8:07 am

Please test the nightly once you get the opportunity to.
Be sure to read the FAQ before posting. If you found this application useful, please contribute to Eraser's development.

I develop Eraser but I am not an employee of Heidi Computers Ltd. My views do not represent those of Heidi Computers Ltd.
Don't PM or Email me questions: they won't be answered any faster than on the forum and knowledge won't be accessible by all.
User avatar
Joel
Eraser DevTeam
 
Posts: 3688
Joined: Sat Aug 19, 2006 12:16 am
Location: Singapore

Re: BUG REPORT: Eraser doesnt follow NTFS junctions

Postby DavidHB » Mon Mar 19, 2012 12:59 pm

Joel wrote:Please test the nightly once you get the opportunity to.

I'll do this as soon as I can download 2549.

David
I am not an Eraser programmer, but a long-time user; my views may not be the same as those of the Eraser programming team.
Before posting, please read the top 4 topics in the Eraser FAQ, which already provide many of the answers users need.
DavidHB
Eraser Wizard
 
Posts: 2166
Joined: Sat Jan 23, 2010 8:10 pm
Location: Isle of Wight, UK

Re: BUG REPORT: Eraser doesnt follow NTFS junctions

Postby DavidHB » Mon Mar 19, 2012 11:57 pm

Installed 6.1.0.2551, and can confirm that the bug is fixed; using the OP's example, somefolder is satisfactorily erased.

David
I am not an Eraser programmer, but a long-time user; my views may not be the same as those of the Eraser programming team.
Before posting, please read the top 4 topics in the Eraser FAQ, which already provide many of the answers users need.
DavidHB
Eraser Wizard
 
Posts: 2166
Joined: Sat Jan 23, 2010 8:10 pm
Location: Isle of Wight, UK

Re: BUG REPORT: Eraser doesnt follow NTFS junctions

Postby Joel » Tue Mar 20, 2012 12:04 am

It did, however occur to me earlier today that my fix would prevent people from erasing files and folders within a junction and if that junction is a volume reparse point (not a directory one like the OP)

I have to think about how to improve the fix.
Be sure to read the FAQ before posting. If you found this application useful, please contribute to Eraser's development.

I develop Eraser but I am not an employee of Heidi Computers Ltd. My views do not represent those of Heidi Computers Ltd.
Don't PM or Email me questions: they won't be answered any faster than on the forum and knowledge won't be accessible by all.
User avatar
Joel
Eraser DevTeam
 
Posts: 3688
Joined: Sat Aug 19, 2006 12:16 am
Location: Singapore

Re: BUG REPORT: Eraser doesnt follow NTFS junctions

Postby DavidHB » Tue Mar 20, 2012 12:09 am

... but even before that, you should probably look at the crash when Eraser tries to delete a task initiated from the context menu and completed (separate report on the Beta forum).

David
I am not an Eraser programmer, but a long-time user; my views may not be the same as those of the Eraser programming team.
Before posting, please read the top 4 topics in the Eraser FAQ, which already provide many of the answers users need.
DavidHB
Eraser Wizard
 
Posts: 2166
Joined: Sat Jan 23, 2010 8:10 pm
Location: Isle of Wight, UK

Re: BUG REPORT: Eraser doesnt follow NTFS junctions

Postby Joel » Tue Mar 20, 2012 1:37 am

Fixed in r2554 for Eraser 6.0, r2555 for Eraser 6.2.
Be sure to read the FAQ before posting. If you found this application useful, please contribute to Eraser's development.

I develop Eraser but I am not an employee of Heidi Computers Ltd. My views do not represent those of Heidi Computers Ltd.
Don't PM or Email me questions: they won't be answered any faster than on the forum and knowledge won't be accessible by all.
User avatar
Joel
Eraser DevTeam
 
Posts: 3688
Joined: Sat Aug 19, 2006 12:16 am
Location: Singapore

Re: BUG REPORT: Eraser doesnt follow NTFS junctions

Postby DavidHB » Tue Mar 20, 2012 12:31 pm

Joel wrote:Fixed in r2554 for Eraser 6.0, r2555 for Eraser 6.2.

Maybe ... relevant discussion on the beta forum.

David
I am not an Eraser programmer, but a long-time user; my views may not be the same as those of the Eraser programming team.
Before posting, please read the top 4 topics in the Eraser FAQ, which already provide many of the answers users need.
DavidHB
Eraser Wizard
 
Posts: 2166
Joined: Sat Jan 23, 2010 8:10 pm
Location: Isle of Wight, UK

Re: BUG REPORT: Eraser doesnt follow NTFS junctions

Postby Joel » Tue Mar 20, 2012 12:58 pm

Haha, no, the fix is for the NTFS junctions pointing to volume mount points.
Be sure to read the FAQ before posting. If you found this application useful, please contribute to Eraser's development.

I develop Eraser but I am not an employee of Heidi Computers Ltd. My views do not represent those of Heidi Computers Ltd.
Don't PM or Email me questions: they won't be answered any faster than on the forum and knowledge won't be accessible by all.
User avatar
Joel
Eraser DevTeam
 
Posts: 3688
Joined: Sat Aug 19, 2006 12:16 am
Location: Singapore

Re: BUG REPORT: Eraser doesnt follow NTFS junctions

Postby DavidHB » Tue Mar 20, 2012 2:12 pm

Joel wrote:Haha, no, the fix is for the NTFS junctions pointing to volume mount points.


Oops :oops: And thanks, of course.

David
I am not an Eraser programmer, but a long-time user; my views may not be the same as those of the Eraser programming team.
Before posting, please read the top 4 topics in the Eraser FAQ, which already provide many of the answers users need.
DavidHB
Eraser Wizard
 
Posts: 2166
Joined: Sat Jan 23, 2010 8:10 pm
Location: Isle of Wight, UK

Re: BUG REPORT: Eraser doesnt follow NTFS junctions

Postby DavidHB » Tue Mar 20, 2012 2:36 pm

Subsequently, I was testing 2551 in relation to the context menu bug (now, I believe, fixed) discussed on the Beta forum. The System.IO exception I was getting now seems to relate to this discussion, so what follows is a repeat of the post I made in the other thread.

Joel wrote:It does not always happen, does it?

No, it doesn't. And it's not a function of the context menu, either, because I've just had it on a drag and drop erase. It seems to be related to the fact that the target folder contains a junction. I get a 'Task completed' System Tray message, and the task is deleted from the Schedule. The target folder and the junction it contains are not erased, but the no-junction folder within the target folder is erased.

Could your fix in 2555 have dealt with this as well? If so, I'll test.

David
I am not an Eraser programmer, but a long-time user; my views may not be the same as those of the Eraser programming team.
Before posting, please read the top 4 topics in the Eraser FAQ, which already provide many of the answers users need.
DavidHB
Eraser Wizard
 
Posts: 2166
Joined: Sat Jan 23, 2010 8:10 pm
Location: Isle of Wight, UK

Re: BUG REPORT: Eraser doesnt follow NTFS junctions

Postby DavidHB » Tue Mar 20, 2012 5:06 pm

Got it, I think. Became increasingly sure that the fix did not address the problem, so tested anyway.

Build 2557. Used OP's setup (actually in the root of Drive E:, but I don't think that matters), and tried each element of the setup in turn. Results:
  • the lowest level folder (under the original folder and the junction) is erased;
  • the intermediate level folder is also erased;
  • the junction is not erased, and (invariably) generates the crash as previously described;
  • as you would expect, the top level folder containing the junction is not erased and generates the crash.
The sequence of events is that, if the crash is generated, Eraser spends a noticeable amount more time on the task before announcing task completion, deleting the task from the schedule and then falling prey to the exception.

But the really nice thing is that if you erase the junction before the intermediate folder, that works perfectly. It seems that the exception is only generated when the junction is 'widowed'. For that reason, you cannot erase the whole setup from and including the top level folder, beause the intermediate level folder will be erased before the junction (I assume because it was created first in the setup process).

What a very clever bug! I have spared you a lot of crash reports, all saying the same thing :)

David
I am not an Eraser programmer, but a long-time user; my views may not be the same as those of the Eraser programming team.
Before posting, please read the top 4 topics in the Eraser FAQ, which already provide many of the answers users need.
DavidHB
Eraser Wizard
 
Posts: 2166
Joined: Sat Jan 23, 2010 8:10 pm
Location: Isle of Wight, UK

Re: BUG REPORT: Eraser doesnt follow NTFS junctions

Postby Joel » Wed Mar 21, 2012 12:26 am

I've reproduced the crash, yes, it is because of hard links. But not because of what we all thought.

Hard/symbolic links can point to anything, but there is no guarantee that what they point to exist. We are tripping here because the hard/symbolic link exists, the .NET framework reports that they exist (the DirectoryInfo/FileInfo class' Exists property is true) but because what they point to is non-existent... other APIs complain that the file does not exist. Paradox?

Just more implementation details to grapple...
Be sure to read the FAQ before posting. If you found this application useful, please contribute to Eraser's development.

I develop Eraser but I am not an employee of Heidi Computers Ltd. My views do not represent those of Heidi Computers Ltd.
Don't PM or Email me questions: they won't be answered any faster than on the forum and knowledge won't be accessible by all.
User avatar
Joel
Eraser DevTeam
 
Posts: 3688
Joined: Sat Aug 19, 2006 12:16 am
Location: Singapore

Re: BUG REPORT: Eraser doesnt follow NTFS junctions

Postby Joel » Wed Mar 21, 2012 12:27 am

Oh, and I'm not sure if we should include this in our document for Eraser testing. Links would only become more complicated as people become aware of its capabilities.

Perhaps we should develop a regime or set of steps? Shall we discuss this offline David? Or we can start drafting a document on Trac.
Be sure to read the FAQ before posting. If you found this application useful, please contribute to Eraser's development.

I develop Eraser but I am not an employee of Heidi Computers Ltd. My views do not represent those of Heidi Computers Ltd.
Don't PM or Email me questions: they won't be answered any faster than on the forum and knowledge won't be accessible by all.
User avatar
Joel
Eraser DevTeam
 
Posts: 3688
Joined: Sat Aug 19, 2006 12:16 am
Location: Singapore

Re: BUG REPORT: Eraser doesnt follow NTFS junctions

Postby Joel » Wed Mar 21, 2012 12:40 am

Joel wrote:I've reproduced the crash, yes, it is because of hard links. But not because of what we all thought.
Woops David, you actually diagnosed it right. My bad... that happens when one attempts to crack bugs right open before getting a shot of tea.
Be sure to read the FAQ before posting. If you found this application useful, please contribute to Eraser's development.

I develop Eraser but I am not an employee of Heidi Computers Ltd. My views do not represent those of Heidi Computers Ltd.
Don't PM or Email me questions: they won't be answered any faster than on the forum and knowledge won't be accessible by all.
User avatar
Joel
Eraser DevTeam
 
Posts: 3688
Joined: Sat Aug 19, 2006 12:16 am
Location: Singapore

Re: BUG REPORT: Eraser doesnt follow NTFS junctions

Postby Joel » Wed Mar 21, 2012 1:58 am

Fixed in r2561 for Eraser 6.2 and r2562 for Eraser 6.0. r2562 brings about reparse point support for Eraser 6.0 roughly equal to 6.2. However, when 6.2 is released there will be near-perfect reparse point support (because of #277.)

I somehow think that 6.2 would be a under-the-hood upgrade for 6.0... =shrug= which would make it difficult to justify for users to make the change.

I don't think there are too many user-visible changes to 6.2 at this point.
Be sure to read the FAQ before posting. If you found this application useful, please contribute to Eraser's development.

I develop Eraser but I am not an employee of Heidi Computers Ltd. My views do not represent those of Heidi Computers Ltd.
Don't PM or Email me questions: they won't be answered any faster than on the forum and knowledge won't be accessible by all.
User avatar
Joel
Eraser DevTeam
 
Posts: 3688
Joined: Sat Aug 19, 2006 12:16 am
Location: Singapore

PreviousNext

Return to Eraser Support

Who is online

Users browsing this forum: Google Adsense [Bot], Yahoo [Bot] and 5 guests