On 2012-06-15, at 12:17, David Lomas wrote: > I've been trying to debug an application running on Squeak 4.1 randomly > crashing on certain setups. It turns out it's where people have their 'My > Documents' folder on Windows platforms set to a network share. > > As a trivial test case, I can trigger the error like this: > > 1. Set up a share (can be on the same machine) called 'share' > 2. Check you can browse in Explorer to '\\server\share' - should be empty > 3. Execute the following in a Workspace: > > d := FileDirectory on: 'c:\NewDir'. d assureExistence. > > That should create a directory called 'NewDir' on the root of the C drive > (assuming your machine has a C drive :), just to check everything is working > OK. > > Now try: > > d := FileDirectory on: '\\server\share\NewDir'. d assureExistence. > > I get 'PrimitiveFailed: DosFileDirectory>>primCreateDirectory'. From what I > can tell, that method doesn't see '\\server\share' as effectively the 'root' > of a filesystem and keeps stepping up a level. I don't know if that's the > fault of the FilePlugin module, or something else. For info, the versions of > the methods in the debug trace are: > > DosFileDirectory>>primCreateDirectory: ar 2/2/2001 15:09 > FileDirectory>>createDirectory: yo 2/24/2005 18:33 > FileDirectory>>assureExistenceOfPath: jcg 5/10/2010 14:44 > FileDirectory>>assureExistence: hg 2/2/2002 16:37 > > But my guess is that the problem is in FileDirectory>>directoryExists:, as > this is where there appears to be handling of special cases for certain file > systems. I can't see anything clever in there for UNC paths though. > > See also > http://lists.squeakfoundation.org/pipermail/squeak-dev/2002-March/037091.html > - it's related, but I can't track down the fix that Bert referred to, to see > if it helps.
That particular fix is probably unrelated. But the code was fixed last in 2010 (e.g. the timestamp on assureExistenceOfPath: is now "bf 9/9/2010"). You may want to try in a 4.3 image, and if necessary backport the fixes. - Bert - _______________________________________________ Beginners mailing list [email protected] http://lists.squeakfoundation.org/mailman/listinfo/beginners
