Evaluate command handler broken because of AnObsoleteZnCrPortableWriteStream
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... -- Cyril Ferlicot https://ferlicot.fr
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. <cyril.ferlicot@gmail.com> 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...
-- Cyril Ferlicot https://ferlicot.fr
On 13 Mar 2018, at 07:23, Sven Van Caekenberghe <sven@stfx.eu> 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
On 13 Mar 2018, at 08:17, Marcus Denker <marcus.denker@inria.fr> wrote:
On 13 Mar 2018, at 07:23, Sven Van Caekenberghe <sven@stfx.eu> 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.
On 13 Mar 2018, at 08:40, Sven Van Caekenberghe <sven@stfx.eu> wrote:
On 13 Mar 2018, at 08:17, Marcus Denker <marcus.denker@inria.fr> wrote:
On 13 Mar 2018, at 07:23, Sven Van Caekenberghe <sven@stfx.eu> 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
On 13 Mar 2018, at 08:40, Sven Van Caekenberghe <sven@stfx.eu> wrote:
On 13 Mar 2018, at 08:17, Marcus Denker <marcus.denker@inria.fr> wrote:
On 13 Mar 2018, at 07:23, Sven Van Caekenberghe <sven@stfx.eu> 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
On Tue, Mar 13, 2018 at 7:23 AM, Sven Van Caekenberghe <sven@stfx.eu> 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
On 13 Mar 2018, at 10:06, Cyril Ferlicot <cyril.ferlicot@gmail.com> wrote:
On Tue, Mar 13, 2018 at 7:23 AM, Sven Van Caekenberghe <sven@stfx.eu> 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
participants (4)
-
Cyril Ferlicot -
Cyril Ferlicot D. -
Marcus Denker -
Sven Van Caekenberghe