Re: Missing methods and classes after attempting, to load a local package with Monticello

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: Missing methods and classes after attempting, to load a local package with Monticello

Paul DeBruicker
Hi Dale,

Thanks for tracking the cause down. I've been using Pharo 1.1-11409.  I
have not used 1.2.  I tried it again today in the PharoCore-1.1 release,
and the problem still exists.

I don't know how to tell which portion of the mcz file is saved as a
WideString or not so my description of the problem to them is going to
be limited to describing my problem with loading the package into
Gemston and then just pasting what you wrote below as the cause of the
problem.

Thanks

Paul



On 07/19/2010 01:59 PM, [hidden email] wrote:

> Paul,
>
> Okay, it looks to me like your mcz file(s) are "corrupted" ... probably
> due to a bug in Pharo 1.2 (that's the version you're using right?).
>
> In an mcz file the snapshot of the definitions are serialized using two
> formats:
>
>     1. a DataStream on an ordered collection of MCDefintions
>     2. a chunk-file formatted string.
>
> It appears that for the DataStream, the entire(?) stream is written as a
> WideString ... WideString is Squeak/Pharo dependent and is not portable
> at all ... this is new. When GemStone hits the widestring an error is
> thrown and Monticello tries to use the chunk-file format (which is why
> you ran into the preamble probelm ... chunk file format is normally hit
> (nor is it desirable to hit it)...
>
> The chunk file-file is partially written as a WideString again...because
>    the WideString is not portable it breaks the parsing algorithms for
> GemStone ... interestingly enough the chunk-file string looks to be a
> WideString for the first hundred characters or so ...
>
> One of three things is happening:
>
>     1. someone in Pharo land decided it was a "good idea" to create mcz
>        files using WideString
>     2. The that you used to create the class had a WideString in it
>     3. there is a bug somewhere in the pharo/monticello implementation
>
> I can't guess which of those 3 the problem is and I can't guess what the
> solution might be either.
>
> If you bring up this bug on the Pharo list, I'll monitor the list and if
> I can step in and help, I will.
>
> Dale
>
>    

Reply | Threaded
Open this post in threaded view
|

Re: Missing methods and classes after attempting, to load a local package with Monticello

Andreas.Raab
On 7/19/2010 1:02 PM, Paul DeBruicker wrote:

> Hi Dale,
>
> Thanks for tracking the cause down. I've been using Pharo 1.1-11409. I
> have not used 1.2. I tried it again today in the PharoCore-1.1 release,
> and the problem still exists.
>
> I don't know how to tell which portion of the mcz file is saved as a
> WideString or not so my description of the problem to them is going to
> be limited to describing my problem with loading the package into
> Gemston and then just pasting what you wrote below as the cause of the
> problem.

There's an easy way to find out. Print the result of the following
(substituting your package name for 'MyPackage') and it will tell you
which methods or class comments cause the problem:

"Check method source"
(PackageInfo named: 'MyPackage')
        methods select:[:mref| mref sourceCode asString isWideString]

"Check class comments"
(PackageInfo named: 'Multilingual')
        classes select:[:aClass| aClass comment asString isWideString]

Cheers,
   - Andreas

> On 07/19/2010 01:59 PM, [hidden email] wrote:
>> Paul,
>>
>> Okay, it looks to me like your mcz file(s) are "corrupted" ... probably
>> due to a bug in Pharo 1.2 (that's the version you're using right?).
>>
>> In an mcz file the snapshot of the definitions are serialized using two
>> formats:
>>
>> 1. a DataStream on an ordered collection of MCDefintions
>> 2. a chunk-file formatted string.
>>
>> It appears that for the DataStream, the entire(?) stream is written as a
>> WideString ... WideString is Squeak/Pharo dependent and is not portable
>> at all ... this is new. When GemStone hits the widestring an error is
>> thrown and Monticello tries to use the chunk-file format (which is why
>> you ran into the preamble probelm ... chunk file format is normally hit
>> (nor is it desirable to hit it)...
>>
>> The chunk file-file is partially written as a WideString again...because
>> the WideString is not portable it breaks the parsing algorithms for
>> GemStone ... interestingly enough the chunk-file string looks to be a
>> WideString for the first hundred characters or so ...
>>
>> One of three things is happening:
>>
>> 1. someone in Pharo land decided it was a "good idea" to create mcz
>> files using WideString
>> 2. The that you used to create the class had a WideString in it
>> 3. there is a bug somewhere in the pharo/monticello implementation
>>
>> I can't guess which of those 3 the problem is and I can't guess what the
>> solution might be either.
>>
>> If you bring up this bug on the Pharo list, I'll monitor the list and if
>> I can step in and help, I will.
>>
>> Dale
>>
>
>