Strange InvalidDirectoryErrors on Unix

J J azreal1977 at hotmail.com
Tue Apr 10 07:45:38 UTC 2007


What kind of filesystem is this on?  Are you accessing the directory via NFS 
or any other indirect means?  What kind of modifications are happening to 
the directory?

I have not seen this in Squeak, but it reminds me of what happens when 
something causes an inode change underneath a running process.

Example:

On a unix/linux box you cd to /some/place/nice.  Then on another shell you 
cd to /some/place and rm -rf nice.  Then copy a new "nice" directory from 
somewhere else, so that the directory structure is as it was before.  Now 
you go back to the original shell and ls, but you get the error ". no such 
file or directory" or something similar.  Clearly the directory does exist, 
but the problem is your shell is still referencing the previous inodes that 
are no longer valid.  And I have even seen certain backup systems cause 
this.

So in your case, maybe the VM or your code is holding a reference to the 
directory some how and another process is causing an inode change in some 
way, which causes the error.  When you run it in the debugger, it bypasses 
the cache somehow causing it to work again.

Just a wild guess, but that's all I can think of.

Hope it helps,
Jason
>From: Andreas Raab <andreas.raab at gmx.de>
>Reply-To: The general-purpose Squeak developers 
>list<squeak-dev at lists.squeakfoundation.org>
>To: The general-purpose Squeak developers 
>list<squeak-dev at lists.squeakfoundation.org>, Squeak Virtual Machine 
>Development Discussion<vm-dev at lists.squeakfoundation.org>
>Subject: Strange InvalidDirectoryErrors on Unix
>Date: Mon, 09 Apr 2007 22:30:32 -0700
>
>Hi Folks -
>
>I had an odd effect today and I'm wondering if other people might have seen 
>something similar in the past. One of our Linux servers (which has been 
>running happily for a week) has an update process running which every five 
>minutes checks to see if there is new data on the disk and if so, updates 
>itself from it.
>
>Today, I noticed that it stopped updating itself and investigating showed 
>that it hit repeatedly an "InvalidDirectoryError" when trying to update 
>itself. Trying to understand what was going on I went into the system life 
>via VNC and stepped through the update method and suddenly it started 
>working again! No more InvalidDirectoryErrors, updating went fine.
>
>I'm at a complete loss as what might have caused this error. Unfortunately 
>(since I was doing it on the life system) I couldn't investigate the error 
>condition closer but there is a possibility that directory service had been 
>used from different threads. Anyone having any ideas? (the only thing I am 
>certain is that attaching VNC was *not* what it made it working again - I 
>saw the error while I was in there with VNC and it became working again 
>after I stepped through the method).
>
>Any help is greatly appreciated. So are similar experiences and workarounds 
>for the issue. The server itself is running Fedora Core 4.
>
>Cheers,
>   - Andreas
>

_________________________________________________________________
Get a FREE Web site, company branded e-mail and more from Microsoft Office 
Live! http://clk.atdmt.com/MRT/go/mcrssaub0050001411mrt/direct/01/




More information about the Squeak-dev mailing list