On Tue, Mar 20, 2018 at 2:36 PM, Andrew P. Black <[email protected]> wrote: > I’m having trouble reading files with the most recent “stable” versions of > Pharo. > > Today, I downloaded Pharo (32-bit), loaded my code into the image using git > and Iceberg, and half of my tests failed because Pharo claimed that the files > that are on my disk are in a directory that does not exist. If I go back to > an older image, everything works fine. > > I’m seeing a similar thing on Travis-CI: the build under Pharo 6 works fine, > and all the tests are green, but the build under Pharo 7 fails: > >> Loaded -> SmalltalkCI-Coverage-Core-fn.5 --- >> filetree:///home/travis/smalltalkCI-master/repository [:] --- cache >> SmalltalkCIPharo class>>deprecationWarning (TestCoverage is Undeclared) >> SmalltalkCIPharo7 class>>stdout (ZnCrPortableWriteStream is Undeclared) >> Loaded -> SmalltalkCI-Pharo-Core-fn.62 --- >> filetree:///home/travis/smalltalkCI-master/repository [:] --- cache >> ...finished baselineMessageNotUnderstood: receiver of "on:" is nil >> UndefinedObject(Object)>>doesNotUnderstand: #on: >> SmalltalkCIPharo7 class>>stdout >> SmalltalkCIPharo7 class(SmalltalkCI class)>>travisFold:id:block: >> SmalltalkCIPharo7 class(SmalltalkCI class)>>stage:id:block: >> SmalltalkCIPharo7(SmalltalkCI)>>reportImageInfo >> SmalltalkCIPharo7(SmalltalkCI)>>basicLoad >> [ super basicLoad ] in [ [ super basicLoad ] >> on: (Smalltalk at: #MCMergeOrLoadWarning) >> do: [ :ex | ex resume: true ] ] in >> SmalltalkCIPharo7(SmalltalkCIPharo)>>basicLoad in Block: [ super basicLoad ] > > (The logs are here: https://travis-ci.org/apblack/GraceInPharo. Look at > build #83. I’m not sure if they are public — I think that they are!) > > What’s weird is that my co-worker, who I was introducing to Pharo, was able > to download a Pharo distribution and install and run the same git commit with > no problems. > > So I decided that maybe my launcher was out of date. I just downloaded and > installed a new version of the launcher. When I use it to create a new > image, it is unable to launch it, because it can’t find the VM. (The VM > package was there, but with a “no entry” sign across it.) > > I eventually patch up the launcher by hand, and load my code into a new > image. Half of my tests fail once again. There are two issues. > > First, file streams are now ZnCharacterReadStreams instead of > MultiByteFileStreams. Ok, that’s a change that I had been expecting. But > ZnCharacterReadStreams don’t understand readStream, whereas > MultiByteFileStreams did (and returned self). I can code around that. > > The second issue is one that I can’t code around. I’m getting a "directory > does not exist” error from DiskStore>>#basicEntry:path:nodesDo:, even though > the sending method, FileSystemStore>>#directoryAt:ifAbsent:nodesDo: has just > correctly verified that the directory does exist. Looking at the offending > method, I think that the problem is that > > Primitives lookupEntryIn: encodedPathString index: index. > > always returns #badDirectoryPath. Since this method contains a call to a > primitive, followed by ^ #badDirectoryPath if the primitive fails, I’m > guessing that either I don’t have the primitive installed, or I have an old > version of the primitive. > > How do I fix this? More interesting in some ways: if I download a new copy > of the launcher, and then use the launcher to install a new copy of the > development image, shouldn’t all of the necessary files be installed along > with it. > > From the fact that this isn’t working on Travis either, I’m guessing that > there might be a problem with the distribution. > > Andrew > > >
Hi, Fast answer, I did not had the time to check for a long time. I see it the logs: SmalltalkCIPharo7 class>>stdout (ZnCrPortableWriteStream is Undeclared) I think ZnCrPortableWriteStream was renamed into ZnNewLineWriterStream. Maybe it is SmalltalkCI who need to adapt? Probably this method: https://github.com/hpi-swa/smalltalkCI/blob/master/repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo7.class/class/stdout.st -- Cyril Ferlicot https://ferlicot.fr
