Sysinternals Homepage
Forum Home Forum Home > Sysinternals Utilities > Miscellaneous Utilities
  New Posts New Posts RSS Feed - Contig: Crashes on Reparse Point feedback loops...
  FAQ FAQ  Forum Search   Events   Register Register  Login Login

Contig: Crashes on Reparse Point feedback loops...

 Post Reply Post Reply Page  12>
Author
Message
Intuit View Drop Down
Senior Member
Senior Member


Joined: 19 August 2006
Status: Offline
Points: 129
Post Options Post Options   Thanks (0) Thanks(0)   Quote Intuit Quote  Post ReplyReply Direct Link To This Post Topic: Contig: Crashes on Reparse Point feedback loops...
    Posted: 31 August 2009 at 5:41am

Greetings.  Thanks for the wonderfuly useful freeware utilities.

This is a pretty old issue that I assumed would've been resolved with an update by now.

But thought I'd create a post to call attention to it in the hopes that an update would eventually be released.

Unfortunately NTFS reparse point (Junctions, Symbolic Links) feedback loops exist under Windows Vista where a program parsing the "%ProgramData%" and "C:\Users" subtrees can end up pulling the same directories endlessly; spiking CPU and eventually exceeding path length limitations.

Other command line utilities such as "Attrib /L" have added a parameter that allows the utility to focus on the reparse point itself, rather than it's target/destination.

When the computer is sitting there doing nothing I sometimes like to have:

Start "Defrag-C" /min /low Contig.Exe -S -V C:\*

run but of course under Vista's feedback loops the process crashes well before the job is actually done.  

Thanks...

Back to Top
molotov View Drop Down
Moderator Group
Moderator Group
Avatar

Joined: 04 October 2006
Status: Offline
Points: 17516
Post Options Post Options   Thanks (0) Thanks(0)   Quote molotov Quote  Post ReplyReply Direct Link To This Post Posted: 31 August 2009 at 3:03pm
Hi Intuit,

FWIW, I'm not able to repro any crash in contig.exe, when run as specified, on Vista, using any of a standard user account, an elevated admin account, or the SYSTEM account.


Daily affirmation:
net helpmsg 4006
Back to Top
Intuit View Drop Down
Senior Member
Senior Member


Joined: 19 August 2006
Status: Offline
Points: 129
Post Options Post Options   Thanks (0) Thanks(0)   Quote Intuit Quote  Post ReplyReply Direct Link To This Post Posted: 06 September 2009 at 5:14pm

Thanks for the reply Molotov.  That's interesting.  I've noted the issue on several systems.  Doesn't seem as though every system is affected though.  I've used the 'Report this problem to Microsoft' and/or 'check online ... solution' option at times... perhaps there may be some info in their crash report servers.  

Just ran it with the following output...

C:\Tmp\Command>start "" /min /low contig -s -v C:\Users\*

C:\Tmp\Command>

(from the new window...)

------------------------
Processing C:\Users\All Users\Application Data\Application Data\Application Data
\Application Data\Application Data\Application Data\Application Data\Application
 Data\Application Data\Application Data\Application Data\Adobe\Acrobat\9.0\Repli
cate:
Scanning file...
C:\Users\All Users\Application Data\Application Data\Application Data\Applicatio
n Data\Application Data\Application Data\Application Data\Application Data\Appli
cation Data\Application Data\Application Data\Adobe\Acrobat\9.0\Replicate is alr
eady in 1 fragment.
------------------------
Processing C:\Users\All Users\Application Data\Application Data\Application Data
\Application Data\Application Data\Application Data\Application Data\Application
 Data\Application Data\Application Data\Application Data\Adobe\Acrobat\9.0\Repli
cate\Security:
Scanning file...
C:\Users\All Users\Application Data\Application Data\Application Data\Applicatio
n Data\Application Data\Application Data\Application Data\Application Data\Appli
cation Data\Application Data\Application Data\Adobe\Acrobat\9.0\Replicate\Securi
ty is already in 1 fragment.
------------------------
Failed to open C:\Users\All Users\Application Data\Application Data\Application
Data\Application Data\Application Data\Application Data\Application Data\Applica
tion Data\Application Data\Application Data\Application Data\Adobe\Acrobat\9.0\R
The system cannot find the path specified.

------------------------
Processing C:\Users\All Users\Application Data\Application Data\Application Data
\Application Data\Application Data\Application Data\Application Data\Application
 Data\Application Data\Application Data\Application Data\Adobe\AIR\Updater:
Scanning file...
C:\Users\All Users\Application Data\Application Data\Application Data\Applicatio
n Data\Application Data\Application Data\Application Data\Application Data\Appli
cation Data\Application Data\Application Data\Adobe\AIR\Updater is already in 1
fragment.
------------------------
Processing C:\Users\All Users\Application Data\Application Data\Application Data
\Application Data\Application Data\Application Data\Application Data\Application
 Data\Application Data\Application Data\Application Data\Adobe\Updater6\AdobeESD
GlobalApps.xml:
Scanning file...
C:\Users\All Users\Application Data\Application Data\Application Data\Applicatio
n Data\Application Data\Application Data\Application Data\Application Data\Appli
cation Data\Application Data\Application Data\Adobe\Updater6\AdobeESDGlobalApps.
xml is already in 1 fragment.
------------------------
Processing C:\Users\All Users\Application Data\Application Data\Application Data
\Application Data\Application Data\Application Data\Application Data\Application
 Data\Application Data\Application Data\Application Data\Apple Computer\Installe
r Cache:
Scanning file...
C:\Users\All Users\Application Data\Application Data\Application Data\Applicatio
n Data\Application Data\Application Data\Application Data\Application Data\Appli
cation Data\Application Data\Application Data\Apple Computer\Installer Cache is
already in 1 fragment.
------------------------
Processing C:\Users\All Users\Application Data\Application Data\Application Data
\Application Data\Application Data\Application Data\Application Data\Application
 Data\Application Data\Application Data\Application Data\Apple Computer\Installe
r Cache\QuickTime 7.62.14.0:
Scanning file...
C:\Users\All Users\Application Data\Application Data\Application Data\Applicatio
n Data\Application Data\Application Data\Application Data\Application Data\Appli
cation Data\Application Data\Application Data\Apple Computer\Installer Cache\Qui
ckTime 7.62.14.0 is already in 1 fragment.
------------------------
Processing C:\Users\All Users\Application Data\Application Data\Application Data
\Application Data\Application Data\Application Data\Application Data\Application
 Data\Application Data\Application Data\Application Data\Apple Computer\Installe
r Cache\Safari 4.30.19.1:
Scanning file...
C:\Users\All Users\Application Data\Application Data\Application Data\Applicatio
n Data\Application Data\Application Data\Application Data\Application Data\Appli
cation Data\Application Data\Application Data\Apple Computer\Installer Cache\Saf

ari 4.30.19.1 is already in 1 fragment.

From the "Contig has stopped working" dialogue...

Problem signature:
  Problem Event Name: BEX
  Application Name: Contig.exe
  Application Version: 1.55.0.0
  Application Timestamp: 48e2df1a
  Fault Module Name: StackHash_e52f
  Fault Module Version: 0.0.0.0
  Fault Module Timestamp: 00000000
  Exception Offset: 006e006f
  Exception Code: c0000005
  Exception Data: 00000008
  OS Version: 6.0.6002.2.2.0.256.1
  Locale ID: 1033
  Additional Information 1: e52f
  Additional Information 2: e98dfca8bcf81bc1740adb135579ad53
  Additional Information 3: 860f
  Additional Information 4: 6eabdd9e0dc94904be3b39a1c0583635

Incase you're curious...

C:\Tmp\Command>dir /ad c:\users
 Volume in drive C is
 Volume Serial Number is 7787-2C5E

 Directory of c:\users

07/19/2009 12:27 AM <DIR> .
07/19/2009 12:27 AM <DIR> ..
11/02/2006 11:41 AM <SYMLINKD> All Users [C:\ProgramData]
11/02/2006 11:41 AM <DIR> Default
11/02/2006 11:41 AM <JUNCTION> Default User [C:\Users\Default]
08/02/2009 07:17 AM <DIR> Guest
08/31/2009 01:03 AM <DIR> Maintenance
08/29/2009 01:59 PM <DIR> Public
  0 File(s) 0 bytes
  8 Dir(s) 39,493,279,744 bytes free

It crashes on start "" /min /low contig -s -v "c:\users\all users\*" but NOT on start "" /min /low contig -s -v "c:\users\default user\*". To note, we can't use Junctions to relocate main directories like %ProgramData% and %ProgramFiles% because kernel processes see through junctions.  However, I've successfully used Symbolic Links to relocate those directories without issue.



Edited by Intuit - 07 September 2009 at 5:04pm
Back to Top
Intuit View Drop Down
Senior Member
Senior Member


Joined: 19 August 2006
Status: Offline
Points: 129
Post Options Post Options   Thanks (0) Thanks(0)   Quote Intuit Quote  Post ReplyReply Direct Link To This Post Posted: 07 September 2009 at 5:03pm

Quote To note, we can't use Junctions to relocate main directories like %ProgramData% and %ProgramFiles% because kernel processes see through junctions. However, I've successfully used Symbolic Links to relocate those directories without issue.

To avoid potential confusion, that comment is unrelated to the current situation.

The systems that experience the said problem with config.exe are in DEFAULT configuration.  (no directory changes, moves or other) 

The reason it crashes with the SymLink is because of "C:\ProgramData\Application Data" junction, pointing back to C:\ProgramData .

C:\Tmp\Command>dir /ad "%programdata%"
 Volume in drive C is
 Volume Serial Number is 7787-2C5E

 Directory of C:\ProgramData

08/10/2009 01:52 PM <DIR> .
08/10/2009 01:52 PM <DIR> ..
08/09/2009 09:38 PM <DIR> Adobe
08/09/2009 09:33 PM <DIR> Apple Computer
11/02/2006 11:41 AM <JUNCTION> Application Data [C:\ProgramData]

Back to Top
molotov View Drop Down
Moderator Group
Moderator Group
Avatar

Joined: 04 October 2006
Status: Offline
Points: 17516
Post Options Post Options   Thanks (0) Thanks(0)   Quote molotov Quote  Post ReplyReply Direct Link To This Post Posted: 11 September 2009 at 12:08pm
Out of curiosity - x64 or x86 Vista?
Daily affirmation:
net helpmsg 4006
Back to Top
Intuit View Drop Down
Senior Member
Senior Member


Joined: 19 August 2006
Status: Offline
Points: 129
Post Options Post Options   Thanks (0) Thanks(0)   Quote Intuit Quote  Post ReplyReply Direct Link To This Post Posted: 11 September 2009 at 3:28pm
In this case, x64. But I've experienced it on x86 as well.
Back to Top
molotov View Drop Down
Moderator Group
Moderator Group
Avatar

Joined: 04 October 2006
Status: Offline
Points: 17516
Post Options Post Options   Thanks (0) Thanks(0)   Quote molotov Quote  Post ReplyReply Direct Link To This Post Posted: 12 September 2009 at 5:04am
I performed the exercise on x86 and x64 systems, and was not able to repro...
Daily affirmation:
net helpmsg 4006
Back to Top
Intuit View Drop Down
Senior Member
Senior Member


Joined: 19 August 2006
Status: Offline
Points: 129
Post Options Post Options   Thanks (0) Thanks(0)   Quote Intuit Quote  Post ReplyReply Direct Link To This Post Posted: 16 September 2009 at 3:02pm
I ran the same test under both Win5.12 and Win6.0. (no symlinks under XP of course)
No crash under XP, crash under Vista.
 
C:\Tmp\Command>linkd test.junction c:\tmp\command
Link created at: test.junction
C:\Tmp\Command>mklink /d test.symlink c:\tmp\command
symbolic link created for test.symlink <<===>> c:\tmp\command
C:\Tmp\Command>dir /ad
 Volume in drive C is 
 Volume Serial Number is 7787-2C5E
 Directory of C:\Tmp\Command
09/16/2009  09:49 AM    <DIR>          .
09/16/2009  09:49 AM    <DIR>          ..
08/10/2009  03:43 PM    <DIR>          Win5.Hives
09/16/2009  09:48 AM    <JUNCTION>     test.junction [c:\tmp\command]
09/16/2009  09:49 AM    <SYMLINKD>     test.symlink [c:\tmp\command]
               0 File(s)              0 bytes
               5 Dir(s)  37,858,615,296 bytes free
C:\Tmp\Command>start "test-contig" /low cmd.exe
 
-------------[from new window]--------------
C:\Tmp\Command>contig -s -v *
Contig v1.55 - Makes files contiguous
Copyright (C) 1998-2007 Mark Russinovich
Sysinternals - www.sysinternals.com

................................................................................
................................................................................

Processing C:\Tmp\Command\test.junction\test.junction\test.junction\test.junctio
n\test.junction\test.junction\test.junction\test.junction\test.junction\test.jun
ction\test.junction\test.junction\test.junction\test.junction\test.junction\test
.junction\Overhaul.Cmd:
Scanning file...
C:\Tmp\Command\test.junction\test.junction\test.junction\test.junction\test.junc
tion\test.junction\test.junction\test.junction\test.junction\test.junction\test.
junction\test.junction\test.junction\test.junction\test.junction\test.junction\O
verhaul.Cmd is already in 1 fragment.
------------------------
Failed to open C:\Tmp\Command\test.junction\test.junction\test.junction\test.jun
ction\test.junction\test.junction\test.junction\test.junction\test.junction\test
.junction\test.junction\test.junction\test.junction\test.junction\test.junction\
The system cannot find the path specified.
------------------------
Processing C:\Tmp\Command\test.junction\test.junction\test.junction\test.junctio
n\test.junction\test.junction\test.junction\test.junction\test.junction\test.jun
ction\test.junction\test.junction\test.junction\test.junction\test.junction\test
.junction\Overhaul.Cmd.txt.bak:
Scanning file...
C:\Tmp\Command\test.junction\test.junction\test.junction\test.junction\test.junc
tion\test.junction\test.junction\test.junction\test.junction\test.junction\test.
junction\test.junction\test.junction\test.junction\test.junction\test.junction\O
verhaul.Cmd.txt.bak is already in 1 fragment.
------------------------
Processing C:\Tmp\Command\test.junction\test.junction\test.junction\test.junctio
n\test.junction\test.junction\test.junction\test.junction\test.junction\test.jun
ction\test.junction\test.junction\test.junction\test.junction\test.junction\test
.junction\regini.ini:
Scanning file...
C:\Tmp\Command\test.junction\test.junction\test.junction\test.junction\test.junc
tion\test.junction\test.junction\test.junction\test.junction\test.junction\test.
junction\test.junction\test.junction\test.junction\test.junction\test.junction\r
egini.ini is already in 1 fragment.
------------------------
Processing C:\Tmp\Command\test.junction\test.junction\test.junction\test.junctio
n\test.junction\test.junction\test.junction\test.junction\test.junction\test.jun
ction\test.junction\test.junction\test.junction\test.junction\test.junction\test
.junction\RoboCopy.Log:
Scanning file...
C:\Tmp\Command\test.junction\test.junction\test.junction\test.junction\test.junc
tion\test.junction\test.junction\test.junction\test.junction\test.junction\test.
junction\test.junction\test.junction\test.junction\test.junction\test.junction\R
oboCopy.Log is already in 1 fragment.
------------------------
Processing C:\Tmp\Command\test.junction\test.junction\test.junction\test.junctio
n\test.junction\test.junction\test.junction\test.junction\test.junction\test.jun
ction\test.junction\test.junction\test.junction\test.junction\test.junction\test
.junction\RoboCopy2.Log:
Scanning file...
C:\Tmp\Command\test.junction\test.junction\test.junction\test.junction\test.junc
tion\test.junction\test.junction\test.junction\test.junction\test.junction\test.
junction\test.junction\test.junction\test.junction\test.junction\test.junction\R
oboCopy2.Log is already in 1 fragment.
------------------------
Processing C:\Tmp\Command\test.junction\test.junction\test.junction\test.junctio
n\test.junction\test.junction\test.junction\test.junction\test.junction\test.jun
ction\test.junction\test.junction\test.junction\test.junction\test.junction\test
.junction\SafeBoot_Bad.Reg:
Scanning file...
C:\Tmp\Command\test.junction\test.junction\test.junction\test.junction\test.junc
tion\test.junction\test.junction\test.junction\test.junction\test.junction\test.
junction\test.junction\test.junction\test.junction\test.junction\test.junction\S
afeBoot_Bad.Reg is already in 1 fragment.

................................................................................
................................................................................

Failed to open C:\Tmp\Command\test.junction\test.junction\test.junction\test.jun
ction\test.junction\test.junction\test.junction\test.junction\test.junction\test
.junction\test.junction\test.junction\test.junction\test.junction\test.junction\
The system cannot find the path specified.
------------------------
Failed to open C:\Tmp\Command\test.junction\test.junction\test.junction\test.jun
ction\test.junction\test.junction\test.junction\test.junction\test.junction\test
.junction\test.junction\test.junction\test.junction\test.junction\test.junction\
The system cannot find the path specified.
------------------------
Failed to open C:\Tmp\Command\test.junction\test.junction\test.junction\test.jun
ction\test.junction\test.junction\test.junction\test.junction\test.junction\test
.junction\test.junction\test.junction\test.junction\test.junction\test.junction\
The system cannot find the path specified.
 


Edited by Intuit - 16 September 2009 at 3:03pm
Back to Top
molotov View Drop Down
Moderator Group
Moderator Group
Avatar

Joined: 04 October 2006
Status: Offline
Points: 17516
Post Options Post Options   Thanks (0) Thanks(0)   Quote molotov Quote  Post ReplyReply Direct Link To This Post Posted: 17 September 2009 at 3:32am
OK - I was able to repro a crash with that example.  Looks like a stack overrun resulting in immediate process termination...  
Daily affirmation:
net helpmsg 4006
Back to Top
Intuit View Drop Down
Senior Member
Senior Member


Joined: 19 August 2006
Status: Offline
Points: 129
Post Options Post Options   Thanks (0) Thanks(0)   Quote Intuit Quote  Post ReplyReply Direct Link To This Post Posted: 17 September 2009 at 4:20am

So I guess Win600 terminates stack overruns but Win512 doesn't ?

Or does the overrun not occur under XP ?

Presumably the same happens under Win610 (Win7)... it's terminated ?

Or does this have something to do with data execution prevention ?  The Win512 machine has a CPU too old to support that.



Edited by Intuit - 17 September 2009 at 4:22am
Back to Top
 Post Reply Post Reply Page  12>
  Share Topic   

Forum Jump Forum Permissions View Drop Down