Evaluate command handler broken because of AnObsoleteZnCrPortableWriteStream

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

Evaluate command handler broken because of AnObsoleteZnCrPortableWriteStream

CyrilFerlicot
Hello!

I have a Jenkins build for MaterialDesignLite and the Pharo 7 build
never end.

I load the code via the command line "eval" with the "--save" parameter
and a Metacello command.

While adding some log I found the problem.

It comes from this method:

EvaluateCommandLineHandler>>evaluate: aStream
        | result |
        [
        result := Smalltalk compiler evaluate: aStream.
        self hasSessionChanged
                ifFalse: [
                        self stdout
                                print: result;
                                lf ] ]
                on: Error
                do: [ :error | self handleError: error ]

In Pharo 6 it ends perfectly.

In Pharo 7 there is an error and we end up in the catch.

Here is the stack I could isolate:


MessageNotUnderstood(Exception)>>signal
UndefinedObject(Object)>>doesNotUnderstand: #'>='
AnObsoleteZnCrPortableWriteStream(WriteStream)>>nextPut:
[ :v | self nextPut: v ] in
AnObsoleteZnCrPortableWriteStream(Stream)>>nextPutAll:
ByteSymbol(SequenceableCollection)>>do:
AnObsoleteZnCrPortableWriteStream(Stream)>>nextPutAll:
AnObsoleteZnCrPortableWriteStream(WriteStream)>>nextPutAll:
MultiByteFileStream(StandardFileStream)>>printOn:
AnObsoleteZnCrPortableWriteStream(Stream)>>print:
VTermOutputDriver>>print:

I have no idea how to correct this and it's pretty late now. Maybe
someone will know :)

https://pharo.fogbugz.com/f/cases/21566/EvaluateCommandLineHandler-is-broken-in-Pharo-7

--
Cyril Ferlicot
https://ferlicot.fr


signature.asc (836 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Evaluate command handler broken because of AnObsoleteZnCrPortableWriteStream

Sven Van Caekenberghe-2
You probably loaded Zinc #stable which does not yet include ZnCrPortableWriteStream. Load #bleedingEdge instead.

This has bitten me as well a couple of times, I will promote a new stable Zinc later today.

> On 13 Mar 2018, at 00:34, Cyril Ferlicot D. <[hidden email]> wrote:
>
> Hello!
>
> I have a Jenkins build for MaterialDesignLite and the Pharo 7 build
> never end.
>
> I load the code via the command line "eval" with the "--save" parameter
> and a Metacello command.
>
> While adding some log I found the problem.
>
> It comes from this method:
>
> EvaluateCommandLineHandler>>evaluate: aStream
> | result |
> [
> result := Smalltalk compiler evaluate: aStream.
> self hasSessionChanged
> ifFalse: [
> self stdout
> print: result;
> lf ] ]
> on: Error
> do: [ :error | self handleError: error ]
>
> In Pharo 6 it ends perfectly.
>
> In Pharo 7 there is an error and we end up in the catch.
>
> Here is the stack I could isolate:
>
>
> MessageNotUnderstood(Exception)>>signal
> UndefinedObject(Object)>>doesNotUnderstand: #'>='
> AnObsoleteZnCrPortableWriteStream(WriteStream)>>nextPut:
> [ :v | self nextPut: v ] in
> AnObsoleteZnCrPortableWriteStream(Stream)>>nextPutAll:
> ByteSymbol(SequenceableCollection)>>do:
> AnObsoleteZnCrPortableWriteStream(Stream)>>nextPutAll:
> AnObsoleteZnCrPortableWriteStream(WriteStream)>>nextPutAll:
> MultiByteFileStream(StandardFileStream)>>printOn:
> AnObsoleteZnCrPortableWriteStream(Stream)>>print:
> VTermOutputDriver>>print:
>
> I have no idea how to correct this and it's pretty late now. Maybe
> someone will know :)
>
> https://pharo.fogbugz.com/f/cases/21566/EvaluateCommandLineHandler-is-broken-in-Pharo-7
>
> --
> Cyril Ferlicot
> https://ferlicot.fr
>


Reply | Threaded
Open this post in threaded view
|

Re: Evaluate command handler broken because of AnObsoleteZnCrPortableWriteStream

Marcus Denker-4


> On 13 Mar 2018, at 07:23, Sven Van Caekenberghe <[hidden email]> wrote:
>
> You probably loaded Zinc #stable which does not yet include ZnCrPortableWriteStream. Load #bleedingEdge instead.
>
> This has bitten me as well a couple of times, I will promote a new stable Zinc later today.
>
we need to really see how to get synced in Pharo7.

        Marcus


Reply | Threaded
Open this post in threaded view
|

Re: Evaluate command handler broken because of AnObsoleteZnCrPortableWriteStream

Sven Van Caekenberghe-2


> On 13 Mar 2018, at 08:17, Marcus Denker <[hidden email]> wrote:
>
>
>
>> On 13 Mar 2018, at 07:23, Sven Van Caekenberghe <[hidden email]> wrote:
>>
>> You probably loaded Zinc #stable which does not yet include ZnCrPortableWriteStream. Load #bleedingEdge instead.
>>
>> This has bitten me as well a couple of times, I will promote a new stable Zinc later today.
>>
> we need to really see how to get synced in Pharo7.
>
> Marcus

Yes, but the sync has to happen both ways: I first have to pick up all the changes that we done directly in Pharo 7 as not to overwrite anybody's work. That is tedious, delicate work.


Reply | Threaded
Open this post in threaded view
|

Re: Evaluate command handler broken because of AnObsoleteZnCrPortableWriteStream

Marcus Denker-4


> On 13 Mar 2018, at 08:40, Sven Van Caekenberghe <[hidden email]> wrote:
>
>
>
>> On 13 Mar 2018, at 08:17, Marcus Denker <[hidden email]> wrote:
>>
>>
>>
>>> On 13 Mar 2018, at 07:23, Sven Van Caekenberghe <[hidden email]> wrote:
>>>
>>> You probably loaded Zinc #stable which does not yet include ZnCrPortableWriteStream. Load #bleedingEdge instead.
>>>
>>> This has bitten me as well a couple of times, I will promote a new stable Zinc later today.
>>>
>> we need to really see how to get synced in Pharo7.
>>
>> Marcus
>
> Yes, but the sync has to happen both ways: I first have to pick up all the changes that we done directly in Pharo 7 as not to overwrite anybody's work. That is tedious, delicate work.

Indeed… I just saw that one change I wanted to do since years (moving #asUrl to Zinc) has been done. (we had a whole package just for these extension methods).

This was a change I wanted to do since years, but as Zinc is backward compatible, doing cleanups like this are very very difficult… and in the end, as a single change this is of course not important… but the mistake is to therefore conclude to never do these tiny changes… as it is a number game: for 1 it’s not important, but if you manage to do 10000 or 20000 of these tiny changes, where the trivial later cleanups depend on the earlier… and are only trivial because the earlier were done…

        Marcus
Reply | Threaded
Open this post in threaded view
|

Re: Evaluate command handler broken because of AnObsoleteZnCrPortableWriteStream

Marcus Denker-4
In reply to this post by Sven Van Caekenberghe-2


> On 13 Mar 2018, at 08:40, Sven Van Caekenberghe <[hidden email]> wrote:
>
>
>
>> On 13 Mar 2018, at 08:17, Marcus Denker <[hidden email]> wrote:
>>
>>
>>
>>> On 13 Mar 2018, at 07:23, Sven Van Caekenberghe <[hidden email]> wrote:
>>>
>>> You probably loaded Zinc #stable which does not yet include ZnCrPortableWriteStream. Load #bleedingEdge instead.
>>>
>>> This has bitten me as well a couple of times, I will promote a new stable Zinc later today.
>>>
>> we need to really see how to get synced in Pharo7.
>>
>> Marcus
>
> Yes, but the sync has to happen both ways: I first have to pick up all the changes that we done directly in Pharo 7 as not to overwrite anybody's work. That is tedious, delicate work.
We need to find a way that porting is not needed… that the changes are done directly in Zinc.

        Marcus


Reply | Threaded
Open this post in threaded view
|

Re: Evaluate command handler broken because of AnObsoleteZnCrPortableWriteStream

CyrilFerlicot
In reply to this post by Sven Van Caekenberghe-2
On Tue, Mar 13, 2018 at 7:23 AM, Sven Van Caekenberghe <[hidden email]> wrote:
> You probably loaded Zinc #stable which does not yet include ZnCrPortableWriteStream. Load #bleedingEdge instead.
>
Hi,
That's it. The project depends on Seaside which depends on Zinc
stable. It also explains why it happens to most of my projects since
most of them depend on Seaside.

> This has bitten me as well a couple of times, I will promote a new stable Zinc later today.
>
>
It would be great. Thank you a lot!

--
Cyril Ferlicot
https://ferlicot.fr

Reply | Threaded
Open this post in threaded view
|

Re: Evaluate command handler broken because of AnObsoleteZnCrPortableWriteStream

Sven Van Caekenberghe-2


> On 13 Mar 2018, at 10:06, Cyril Ferlicot <[hidden email]> wrote:
>
> On Tue, Mar 13, 2018 at 7:23 AM, Sven Van Caekenberghe <[hidden email]> wrote:
>> You probably loaded Zinc #stable which does not yet include ZnCrPortableWriteStream. Load #bleedingEdge instead.
>>
> Hi,
> That's it. The project depends on Seaside which depends on Zinc
> stable. It also explains why it happens to most of my projects since
> most of them depend on Seaside.
>
>> This has bitten me as well a couple of times, I will promote a new stable Zinc later today.
>>
>>
> It would be great. Thank you a lot!

===
Name: ConfigurationOfZincHTTPComponents-SvenVanCaekenberghe.108
Author: SvenVanCaekenberghe
Time: 13 March 2018, 10:48:57.063827 am
UUID: 85ac77e7-a923-0d00-b69e-eee909c39d78
Ancestors: ConfigurationOfZincHTTPComponents-SvenVanCaekenberghe.107

new stable 2.8.10
===

Which includes the ZnCrPortableWriteStream addition and #asUrl as part of Zinc proper. Pharo 2.0 is no longer supported.

> --
> Cyril Ferlicot
> https://ferlicot.fr
>


Reply | Threaded
Open this post in threaded view
|

Re: Evaluate command handler broken because of AnObsoleteZnCrPortableWriteStream

CyrilFerlicot
On Tue, Mar 13, 2018 at 11:10 AM, Sven Van Caekenberghe <[hidden email]> wrote:

>
> ===
> Name: ConfigurationOfZincHTTPComponents-SvenVanCaekenberghe.108
> Author: SvenVanCaekenberghe
> Time: 13 March 2018, 10:48:57.063827 am
> UUID: 85ac77e7-a923-0d00-b69e-eee909c39d78
> Ancestors: ConfigurationOfZincHTTPComponents-SvenVanCaekenberghe.107
>
> new stable 2.8.10
> ===
>
> Which includes the ZnCrPortableWriteStream addition and #asUrl as part of Zinc proper. Pharo 2.0 is no longer supported.
>
>

Thank you but there is a bug in the configuration.

   package: 'Zinc-WebSocket-Core' with: 'Zinc-WebSocket-Core-LucFabresse.30';

should be

   package: 'Zinc-WebSocket-Core' with:
'Zinc-WebSocket-Core-SvenVanCaekenberghe.30';



--
Cyril Ferlicot
https://ferlicot.fr

Reply | Threaded
Open this post in threaded view
|

Re: Evaluate command handler broken because of AnObsoleteZnCrPortableWriteStream

CyrilFerlicot
On Tue, Mar 13, 2018 at 1:53 PM, Cyril Ferlicot
<[hidden email]> wrote:

> On Tue, Mar 13, 2018 at 11:10 AM, Sven Van Caekenberghe <[hidden email]> wrote:
>>
>> ===
>> Name: ConfigurationOfZincHTTPComponents-SvenVanCaekenberghe.108
>> Author: SvenVanCaekenberghe
>> Time: 13 March 2018, 10:48:57.063827 am
>> UUID: 85ac77e7-a923-0d00-b69e-eee909c39d78
>> Ancestors: ConfigurationOfZincHTTPComponents-SvenVanCaekenberghe.107
>>
>> new stable 2.8.10
>> ===
>>
>> Which includes the ZnCrPortableWriteStream addition and #asUrl as part of Zinc proper. Pharo 2.0 is no longer supported.
>>
>>
>
> Thank you but there is a bug in the configuration.
>
>    package: 'Zinc-WebSocket-Core' with: 'Zinc-WebSocket-Core-LucFabresse.30';
>
> should be
>
>    package: 'Zinc-WebSocket-Core' with:
> 'Zinc-WebSocket-Core-SvenVanCaekenberghe.30';
>
>
>
> --
> Cyril Ferlicot
> https://ferlicot.fr

Also,
Now I have anothere error:

MessageNotUnderstood: ZnCharacterReadWriteStream>>setToEnd
ZnCharacterReadWriteStream(Object)>>doesNotUnderstand: #setToEnd
SourceFile>>setToEnd
SourceFileArray>>changesWriteStreamDo:
ChangesLog>>logChange:
ChangesLog>>logMethodRemoved:
WeakMessageSend>>value:
WeakMessageSend>>cull:
WeakMessageSend>>cull:cull:


--
Cyril Ferlicot
https://ferlicot.fr

Reply | Threaded
Open this post in threaded view
|

Re: Evaluate command handler broken because of AnObsoleteZnCrPortableWriteStream

Sven Van Caekenberghe-2
In reply to this post by CyrilFerlicot
===
Name: ConfigurationOfZincHTTPComponents-SvenVanCaekenberghe.109
Author: SvenVanCaekenberghe
Time: 13 March 2018, 2:09:37.380789 pm
UUID: 665420b5-ac23-0d00-8b41-c7930e06a0e3
Ancestors: ConfigurationOfZincHTTPComponents-SvenVanCaekenberghe.108

in place edit of v 2.8.9 to load Zinc-WebSocket-Core-SvenVanCaekenberghe.30 instead of Zinc-WebSocket-Core-LucFabresse.29
===

> On 13 Mar 2018, at 13:53, Cyril Ferlicot <[hidden email]> wrote:
>
> On Tue, Mar 13, 2018 at 11:10 AM, Sven Van Caekenberghe <[hidden email]> wrote:
>>
>> ===
>> Name: ConfigurationOfZincHTTPComponents-SvenVanCaekenberghe.108
>> Author: SvenVanCaekenberghe
>> Time: 13 March 2018, 10:48:57.063827 am
>> UUID: 85ac77e7-a923-0d00-b69e-eee909c39d78
>> Ancestors: ConfigurationOfZincHTTPComponents-SvenVanCaekenberghe.107
>>
>> new stable 2.8.10
>> ===
>>
>> Which includes the ZnCrPortableWriteStream addition and #asUrl as part of Zinc proper. Pharo 2.0 is no longer supported.
>>
>>
>
> Thank you but there is a bug in the configuration.
>
>   package: 'Zinc-WebSocket-Core' with: 'Zinc-WebSocket-Core-LucFabresse.30';
>
> should be
>
>   package: 'Zinc-WebSocket-Core' with:
> 'Zinc-WebSocket-Core-SvenVanCaekenberghe.30';
>
>
>
> --
> Cyril Ferlicot
> https://ferlicot.fr


Reply | Threaded
Open this post in threaded view
|

Re: Evaluate command handler broken because of AnObsoleteZnCrPortableWriteStream

Sven Van Caekenberghe-2
In reply to this post by CyrilFerlicot


> On 13 Mar 2018, at 14:09, Cyril Ferlicot <[hidden email]> wrote:
>
> On Tue, Mar 13, 2018 at 1:53 PM, Cyril Ferlicot
> <[hidden email]> wrote:
>> On Tue, Mar 13, 2018 at 11:10 AM, Sven Van Caekenberghe <[hidden email]> wrote:
>>>
>>> ===
>>> Name: ConfigurationOfZincHTTPComponents-SvenVanCaekenberghe.108
>>> Author: SvenVanCaekenberghe
>>> Time: 13 March 2018, 10:48:57.063827 am
>>> UUID: 85ac77e7-a923-0d00-b69e-eee909c39d78
>>> Ancestors: ConfigurationOfZincHTTPComponents-SvenVanCaekenberghe.107
>>>
>>> new stable 2.8.10
>>> ===
>>>
>>> Which includes the ZnCrPortableWriteStream addition and #asUrl as part of Zinc proper. Pharo 2.0 is no longer supported.
>>>
>>>
>>
>> Thank you but there is a bug in the configuration.
>>
>>   package: 'Zinc-WebSocket-Core' with: 'Zinc-WebSocket-Core-LucFabresse.30';
>>
>> should be
>>
>>   package: 'Zinc-WebSocket-Core' with:
>> 'Zinc-WebSocket-Core-SvenVanCaekenberghe.30';
>>
>>
>>
>> --
>> Cyril Ferlicot
>> https://ferlicot.fr
>
> Also,
> Now I have anothere error:
>
> MessageNotUnderstood: ZnCharacterReadWriteStream>>setToEnd
> ZnCharacterReadWriteStream(Object)>>doesNotUnderstand: #setToEnd
> SourceFile>>setToEnd
> SourceFileArray>>changesWriteStreamDo:
> ChangesLog>>logChange:
> ChangesLog>>logMethodRemoved:
> WeakMessageSend>>value:
> WeakMessageSend>>cull:
> WeakMessageSend>>cull:cull:

?? I don't see that method in my 7 image (Pharo-7.0+alpha.build.493.sha.d53a70bc946ed83b046f61ac35f00c67fa77269a (32 Bit)) - how recent is that ??

I mean: that #setToEnd should then have been present before you loaded Zinc, is it ?



Reply | Threaded
Open this post in threaded view
|

Re: Evaluate command handler broken because of AnObsoleteZnCrPortableWriteStream

CyrilFerlicot
On Tue, Mar 13, 2018 at 2:16 PM, Sven Van Caekenberghe <[hidden email]> wrote:
>
> ?? I don't see that method in my 7 image (Pharo-7.0+alpha.build.493.sha.d53a70bc946ed83b046f61ac35f00c67fa77269a (32 Bit)) - how recent is that ??
>
> I mean: that #setToEnd should then have been present before you loaded Zinc, is it ?
>
>

Sorry I don't have a lot of time now.

You can find the logs here:

https://ci.inria.fr/pharo-contribution/job/MaterialDesignLite/PHARO=70,VERSION=development/477/console

I got the image via: wget --quiet -O - get.pharo.org/70+vm
I'll try to find some time this evening to look at this issue, but I
don't know if I'll have the time.


--
Cyril Ferlicot
https://ferlicot.fr

Reply | Threaded
Open this post in threaded view
|

Re: Evaluate command handler broken because of AnObsoleteZnCrPortableWriteStream

CyrilFerlicot
In reply to this post by Sven Van Caekenberghe-2
On Tue, Mar 13, 2018 at 2:13 PM, Sven Van Caekenberghe <[hidden email]> wrote:

> ===
> Name: ConfigurationOfZincHTTPComponents-SvenVanCaekenberghe.109
> Author: SvenVanCaekenberghe
> Time: 13 March 2018, 2:09:37.380789 pm
> UUID: 665420b5-ac23-0d00-8b41-c7930e06a0e3
> Ancestors: ConfigurationOfZincHTTPComponents-SvenVanCaekenberghe.108
>
> in place edit of v 2.8.9 to load Zinc-WebSocket-Core-SvenVanCaekenberghe.30 instead of Zinc-WebSocket-Core-LucFabresse.29
> ===
>
Hi,
Sorry to bother you again but the stable version is the 2.8.10 not the 2.8.9


--
Cyril Ferlicot
https://ferlicot.fr

Reply | Threaded
Open this post in threaded view
|

Re: Evaluate command handler broken because of AnObsoleteZnCrPortableWriteStream

Sven Van Caekenberghe-2
In reply to this post by CyrilFerlicot
I found it, but it is very recent code, pff, now I have to check everything all over

And yes, now I mistakenly changed an older version, shit

> On 13 Mar 2018, at 14:21, Cyril Ferlicot <[hidden email]> wrote:
>
> On Tue, Mar 13, 2018 at 2:16 PM, Sven Van Caekenberghe <[hidden email]> wrote:
>>
>> ?? I don't see that method in my 7 image (Pharo-7.0+alpha.build.493.sha.d53a70bc946ed83b046f61ac35f00c67fa77269a (32 Bit)) - how recent is that ??
>>
>> I mean: that #setToEnd should then have been present before you loaded Zinc, is it ?
>>
>>
>
> Sorry I don't have a lot of time now.
>
> You can find the logs here:
>
> https://ci.inria.fr/pharo-contribution/job/MaterialDesignLite/PHARO=70,VERSION=development/477/console
>
> I got the image via: wget --quiet -O - get.pharo.org/70+vm
> I'll try to find some time this evening to look at this issue, but I
> don't know if I'll have the time.
>
>
> --
> Cyril Ferlicot
> https://ferlicot.fr


Reply | Threaded
Open this post in threaded view
|

Re: Evaluate command handler broken because of AnObsoleteZnCrPortableWriteStream

CyrilFerlicot
On Tue, Mar 13, 2018 at 2:30 PM, Sven Van Caekenberghe <[hidden email]> wrote:
> I found it, but it is very recent code, pff, now I have to check everything all over
>
> And yes, now I mistakenly changed an older version, shit
>
>

Errors happen. :)
I'll wait the new version to test it and report if the problem of
WebSocket is corrected.
Thank you!

--
Cyril Ferlicot
https://ferlicot.fr