Hi Andrew,

On 20 March 2018 at 21:42, Andrew P. Black <[email protected]> wrote:
>
>> On 21 Mar 2018, at 03:15 , Sven Van Caekenberghe <[email protected]> wrote:
>>
>>
>>
>>> On 20 Mar 2018, at 14:36, Andrew P. Black <[email protected]> wrote:
>>>
>>> I’m having trouble  reading files with the most recent “stable” versions of 
>>> Pharo.
>>
>> OK, this is no answer to your issue, but Pharo 7 latest is far from stable, 
>> it is intentionally the development head.
>>
>> It is very good that you test it and help out, more eyes and all that, but 
>> using it is at your own risk, there are no promises about stability.
>
> I understand this.  The point of my post was to try and diagnose the issue 
> and help make Pharo 7 more stable.
>
> Does my diagnosis of a missing or outdated primitive look reasonable?

Not really :-)



>  If so, how do I check?

If you can successfully open World Menu -> Tools -> File Browser then
the primitive is working.


>  That is, where are is this primitive
>
>         <primitive: 'primitiveDirectoryLookup' module: 'FilePlugin' error: 
> errorCode >
>
> supposed to come from?    I’m guessing that there should be a file with 
> ‘FilePlugin’ somewhere in its name somewhere in one of my VMs.  There isn’t — 
> although some older Cog vms from back in the day (I’m talking Pharo 1.4) have 
> something called
> ‘libAsynchFilePlugin.dylib’

Plugins can either be built-in or external.  FilePlugin is built-in.


> If this plugin is now essential to run Pharo, shouldn’t downloading the 
> launcher and using the launcher to grab a fresh image and launch it (after 
> checking for the appropriate VM) be all that is required to ensure that it is 
> installed?   If not, what other steps should I take?

The error handling in #lookupEntryIn:index: is less than ideal.  I'm
working on a replacement, so I don't think it is worthwhile spending a
lot of time on it.

This primitive returns a directory entry by index number.  Just taking
a couple of wild guesses:  One possibility is that the directory was
modified while you were iterating over the directory.  I'm also not
sure how it handles entries that you don't have permission to read.

But to help track down your issue, maybe temporarily replace the code with:

    <primitive: 'primitiveDirectoryLookup' module: 'FilePlugin' error:
errorCode >
    errorCode ifNotNil: [self halt: errorCode asString].
    ^ #badDirectoryPath


That should allow you to track down the issue a bit more.

P.S. If the primitive really is missing, errorCode will be #'not found'.


> I’m getting on a l-o-n-g flight in a few hours, and would really like to be 
> able to run Pharo ...
>
>         Andrew

HTH,
Alistair

Reply via email to