ReadStream>>DNU: peekSignIsMinus?

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

ReadStream>>DNU: peekSignIsMinus?

Andreas.Raab
Hi -

I was just updating one of my working images and it blew up ReadStream
not understanding peekSignIsMinus. It looks as if a fix for this is in
Kernel-nice.405 - are we missing a config map? Or did I update to an
intermediate version that exhibits the problem because it was saved in
this state?

Cheers,
   - Andreas

Reply | Threaded
Open this post in threaded view
|

Re: ReadStream>>DNU: peekSignIsMinus?

Andreas.Raab
Andreas Raab wrote:
> I was just updating one of my working images and it blew up ReadStream
> not understanding peekSignIsMinus. It looks as if a fix for this is in
> Kernel-nice.405 - are we missing a config map? Or did I update to an
> intermediate version that exhibits the problem because it was saved in
> this state?

It's getting worse. After loading Kernel-nice.405 manually I get random
syntax errors saying "nothing more expected" in perfectly good methods
when updating. Anyone else seeing this? Any ideas what might be causing
this and how to fix it?

Cheers,
   - Andreas

Reply | Threaded
Open this post in threaded view
|

Re: ReadStream>>DNU: peekSignIsMinus?

Nicolas Cellier
2010/2/24 Andreas Raab <[hidden email]>:

> Andreas Raab wrote:
>>
>> I was just updating one of my working images and it blew up ReadStream not
>> understanding peekSignIsMinus. It looks as if a fix for this is in
>> Kernel-nice.405 - are we missing a config map? Or did I update to an
>> intermediate version that exhibits the problem because it was saved in this
>> state?
>
> It's getting worse. After loading Kernel-nice.405 manually I get random
> syntax errors saying "nothing more expected" in perfectly good methods when
> updating. Anyone else seeing this? Any ideas what might be causing this and
> how to fix it?
>
> Cheers,
>  - Andreas
>
>

Sorry, I messed up.
I introduced the bug in Kernel.nice.403 : sending peekSignIsMinus to
sourceStream instead of self.
I corrected it in Kernel.nice.405.

But, in between, I uploaded the change for using ExtendedNumberParser
in readFrom: (asNumber) and SqNumberParser in readSqueakSyntaxFrom;
(Scanner) in Compiler.nice.119 then Kernel.nice.404.
ExtendedNumberParser gobble the period after a digit to make a Float,
so it mustnot be used by the Compiler !

To avoid this problem, I created a configuration :
update.nice.120 to load Kernel.nice.403 first (to be sure to use
readSqueakSyntaxFrom: first)
update.nice.121 to load Compiler.nice.119 then (to plug
readSqueakSyntaxFrom: in Scanner)
Now the bug is written in the stone...

Now I don't know how to correct it... Maybe
- create a new Kernel 407 corresponding to 403 without the bug
- put that Kernel into update.nice.120
- redo the later changes ?

To correct your image, first revert the change for Number
class>>readFrom:, cherry pick
NumberParser>>#nextIntegerBase:ifFail:.and proceed with normal update.

Nicolas

Reply | Threaded
Open this post in threaded view
|

Re: ReadStream>>DNU: peekSignIsMinus?

Andreas.Raab
Nicolas Cellier wrote:
> Now I don't know how to correct it... Maybe
> - create a new Kernel 407 corresponding to 403 without the bug
> - put that Kernel into update.nice.120
> - redo the later changes ?

Yes, basically:
1) Post fixed versions of your original packages
2) Post updated versions of your two configurations (120, 121) using the
fixed packages
3) Merge the latest Kernel/Compiler packages into your fixed version
4) Update and repost Levente's latest configuration

I can help with this if you put the fixed versions of the affected
packages into the inbox or elsewhere.

Cheers,
   - Andreas

Reply | Threaded
Open this post in threaded view
|

Re: ReadStream>>DNU: peekSignIsMinus?

Nicolas Cellier
2010/2/24 Andreas Raab <[hidden email]>:

> Nicolas Cellier wrote:
>>
>> Now I don't know how to correct it... Maybe
>> - create a new Kernel 407 corresponding to 403 without the bug
>> - put that Kernel into update.nice.120
>> - redo the later changes ?
>
> Yes, basically:
> 1) Post fixed versions of your original packages
> 2) Post updated versions of your two configurations (120, 121) using the
> fixed packages
> 3) Merge the latest Kernel/Compiler packages into your fixed version
> 4) Update and repost Levente's latest configuration
>
> I can help with this if you put the fixed versions of the affected packages
> into the inbox or elsewhere.
>
> Cheers,
>  - Andreas

1) I have posted a Kernel-nice2-403 to replace Kernel-nice-403
2-3-4) Can you proceed with these changes ?

Thank you very much

PS: beware, Kernel-nice-404 is not patched, only 405 is...

>
>

Reply | Threaded
Open this post in threaded view
|

Re: ReadStream>>DNU: peekSignIsMinus?

Andreas.Raab
Nicolas Cellier wrote:
> 1) I have posted a Kernel-nice2-403 to replace Kernel-nice-403
> 2-3-4) Can you proceed with these changes ?
>
> Thank you very much

All done. If anyone else ever ends up in a similar situation and I'm not
around, here's what I did:

* updated an image until update-nice.120 where I had an error when
loading it. I fixed the error manually, then stopped.
* loaded Kernel-nice2.403
* reposted update-nice.120 now referring to Kernel-nice2.403 instead of
the original Kernel version in there

(at this point everything up to update-nice.120 is fine)

* merged update-nice.121 to get to the next stage. I had to resolve one
conflict (exactly the patch Nicolas had made)
* posted a merged version of Kernel-nice2.403 and Kernel-nice.403 as
Kernel-ar.404
* replaced Kernel-nice.403 in update-nice.121 with Kernel-ar.404
*  reposted update-nice.121

(this fixed everything up to update-nice.121; from here it's just
repetition of the previous step)

* merge update-ul.122
* publish merged Kernel-ar.407
* replaced Kernel package in update-ul.122
* repost update-ul.122

This is basically your ticket. If you need to go back to fix something,
you basically create a parallel ancestry of MC packages, merging the
ones that were issues along in the updates. It takes a bit of time but
it's a simple process.

Cheers,
   - Andreas