[Pharo-project] Pharo 1.4 & CogVM
Hi, I've just downloaded the latest Pharo 1.4 image and separate CogVM from the pharo download page. When I use the File Browser and attempt to select/enter a directory containing many files the image freezes up and I can't get it to respond. The interrupt "CMD-." does work and brings up: UnixStore(DiskStore) directoryAt: aPath ifAbsent: absentBlock nodesDo: aBlock | encodedPathString index entry pathString | index := 1. pathString := self stringFromPath: aPath. encodedPathString := Primitives encode: pathString. entry := Primitives lookupEntryIn: encodedPathString index: index. entry = #badDirectoryPath ifTrue: [ ^ absentBlock value ]. [ entry isNil ] whileFalse: [ entry at: 1 put: (Primitives decode: entry first). aBlock value: entry. index := index + 1. entry := Primitives lookupEntryIn: encodedPathString index: index ]. ^ self Presumably it's a bug ? This is on OSX 10.7.3. Thanks
Nope not a bug... (I wouldn't call it a feature though :)) The primitives for handling files are horribly designed and very slow for a directory with many files. Most probably the FileBrowser will continue working as usual after a longer period of calculating the files... This is going to be improved in the next major version of pharo. cami On 2012-04-18, at 22:04, recursive68@gmail.com wrote:
Hi,
I've just downloaded the latest Pharo 1.4 image and separate CogVM from the pharo download page. When I use the File Browser and attempt to select/enter a directory containing many files the image freezes up and I can't get it to respond. The interrupt "CMD-." does work and brings up:
UnixStore(DiskStore)
directoryAt: aPath ifAbsent: absentBlock nodesDo: aBlock | encodedPathString index entry pathString | index := 1. pathString := self stringFromPath: aPath. encodedPathString := Primitives encode: pathString. entry := Primitives lookupEntryIn: encodedPathString index: index. entry = #badDirectoryPath ifTrue: [ ^ absentBlock value ]. [ entry isNil ] whileFalse: [ entry at: 1 put: (Primitives decode: entry first). aBlock value: entry. index := index + 1. entry := Primitives lookupEntryIn: encodedPathString index: index ]. ^ self
Presumably it's a bug ? This is on OSX 10.7.3.
Thanks
participants (2)
-
Camillo Bruni -
recursive68@gmail.com