release stalled, needs a jump-start

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

release stalled, needs a jump-start

Chris Muller-3
So, the release is currently halted by this.  What should we do for
the release guys?  Our options are:

  1) Do nothing, let these Help workspaces blow up.
  2) Revert RunArray class>>#scanFrom:.  Everything works.
  3) Simplify these workspaces to have only plain-text, maybe they'll work?
  4) Eliminate these workspaces from the image entirely, rely solely
on external documentation.
  5) Knuckle up and fix this right now (volunteer needed).

The change to RunArray class>>#scanFrom: says it's purpose is to
"simplify".  Is that it?  If so, I vote for 2.

Please vote and/or volunteer.

On Sat, Jan 18, 2014 at 6:29 PM, David T. Lewis <[hidden email]> wrote:

> On Fri, Jan 17, 2014 at 11:51:00AM -0500, David T. Lewis wrote:
>> >> How was the source for this version of #workingWithSqueak created? I am
>> >> worried that I might have broken something in the writeScanOn: methods
>> >> for TextAttributes that might have led to generating corrupt source
>> >> code for the workingWithSqueak method ... I hope not :-(
>> >
>> > It was created the normal way -- by simply opening up that workspace,
>> > editing it, and then saving it (Command+s).
>> >
>> > Doing that updates the method source.
>> >
>> > See the acceptBlock in TheWorldMainDockingBar>>#showWelcomeText:label:in:.
>> >
>>
>> That means that I must have introduced some new bug. I will look for it
>> and provide a fix this weekend.
>
> Oh my goodness. This appears to be a remarkable confluence of of bugs.
>
> The welcome text right now just happens to be a Text with a RunArray that
> serializes to a string of exactly 101 characters, including a trailing comma
> that needs to be trimmed. The RunArray>>writeScanOn: method backs the stream
> up one character to trim off that extra comma, leaving the stream at position
> 100. It just so happens that the stream was initialized to size 100, so when
> String>>new:streamContents: checks to see if the stream position matches the
> original size, it sees that the position is 100 so yes they match and it must
> be OK to simply return the #originalContents of the stream instead of going
> to all the extra work of figuring out its current #contents. Unfortunately,
> the stream has actually been advanced to position 101 before being backed
> up to position 100, so its collection has been resized to 200 elements. So
> we grab the 200 elements of the stream collection, assuming that these are
> still the original 100 elements of the original stream collection. That
> gives us a string with an extra comma and 99 null characters at the end
> where we did not expect anything.
>
> If I load our current #workingWithSqueak into an older Squeak image, the
> above problem is still triggered, and the source code for #workingWithSqueak
> gets corrupted. But it gets corrupted differently than in the latest Squeak,
> presumably due to the changes that I recently made to TextAttributes. And
> in the older Squeak, this mess does not result in an error when opening the
> workingWithSqueak window, probably related to the more permissive parsing
> in the original RunArray class>>scanFrom: parsing.
>
> This is making my head hurt. I am going to think about it tomorrow.
>
> "I can't think about that right now. If I do, I'll go crazy. I'll think about that tomorrow."
> - Margaret Mitchell, Gone with the Wind
>
> Dave
>
>

Reply | Threaded
Open this post in threaded view
|

re: release stalled, needs a jump-start

ccrraaiigg

     2.


-C

--
Craig Latta
www.netjam.org/resume
+1 510 984 8117
(Skype rings this until 31 January 2014)


Reply | Threaded
Open this post in threaded view
|

Re: release stalled, needs a jump-start

David T. Lewis
In reply to this post by Chris Muller-3
0) It is already fixed.

See latest Collections updates from the weekend.

You may currently have a #workingWithSqueak with source code that was
damaged by the bug. In that case, you may need to get the null characters
out of it (I emailed a version of this with nulls removed earlier I
think). Sorry I cannot check it specifically right now, but I'm quite sure
that if you have an updated image, and can then edit and save the
workingWithSqueak window one time, then all should be well and you will
not see a recurrence of the issue.

Dave

> So, the release is currently halted by this.  What should we do for
> the release guys?  Our options are:
>
>   1) Do nothing, let these Help workspaces blow up.
>   2) Revert RunArray class>>#scanFrom:.  Everything works.
>   3) Simplify these workspaces to have only plain-text, maybe they'll
> work?
>   4) Eliminate these workspaces from the image entirely, rely solely
> on external documentation.
>   5) Knuckle up and fix this right now (volunteer needed).
>
> The change to RunArray class>>#scanFrom: says it's purpose is to
> "simplify".  Is that it?  If so, I vote for 2.
>
> Please vote and/or volunteer.
>
> On Sat, Jan 18, 2014 at 6:29 PM, David T. Lewis <[hidden email]>
> wrote:
>> On Fri, Jan 17, 2014 at 11:51:00AM -0500, David T. Lewis wrote:
>>> >> How was the source for this version of #workingWithSqueak created? I
>>> am
>>> >> worried that I might have broken something in the writeScanOn:
>>> methods
>>> >> for TextAttributes that might have led to generating corrupt source
>>> >> code for the workingWithSqueak method ... I hope not :-(
>>> >
>>> > It was created the normal way -- by simply opening up that workspace,
>>> > editing it, and then saving it (Command+s).
>>> >
>>> > Doing that updates the method source.
>>> >
>>> > See the acceptBlock in
>>> TheWorldMainDockingBar>>#showWelcomeText:label:in:.
>>> >
>>>
>>> That means that I must have introduced some new bug. I will look for it
>>> and provide a fix this weekend.
>>
>> Oh my goodness. This appears to be a remarkable confluence of of bugs.
>>
>> The welcome text right now just happens to be a Text with a RunArray
>> that
>> serializes to a string of exactly 101 characters, including a trailing
>> comma
>> that needs to be trimmed. The RunArray>>writeScanOn: method backs the
>> stream
>> up one character to trim off that extra comma, leaving the stream at
>> position
>> 100. It just so happens that the stream was initialized to size 100, so
>> when
>> String>>new:streamContents: checks to see if the stream position matches
>> the
>> original size, it sees that the position is 100 so yes they match and it
>> must
>> be OK to simply return the #originalContents of the stream instead of
>> going
>> to all the extra work of figuring out its current #contents.
>> Unfortunately,
>> the stream has actually been advanced to position 101 before being
>> backed
>> up to position 100, so its collection has been resized to 200 elements.
>> So
>> we grab the 200 elements of the stream collection, assuming that these
>> are
>> still the original 100 elements of the original stream collection. That
>> gives us a string with an extra comma and 99 null characters at the end
>> where we did not expect anything.
>>
>> If I load our current #workingWithSqueak into an older Squeak image, the
>> above problem is still triggered, and the source code for
>> #workingWithSqueak
>> gets corrupted. But it gets corrupted differently than in the latest
>> Squeak,
>> presumably due to the changes that I recently made to TextAttributes.
>> And
>> in the older Squeak, this mess does not result in an error when opening
>> the
>> workingWithSqueak window, probably related to the more permissive
>> parsing
>> in the original RunArray class>>scanFrom: parsing.
>>
>> This is making my head hurt. I am going to think about it tomorrow.
>>
>> "I can't think about that right now. If I do, I'll go crazy. I'll think
>> about that tomorrow."
>> - Margaret Mitchell, Gone with the Wind
>>
>> Dave
>>
>>
>



Reply | Threaded
Open this post in threaded view
|

Re: release stalled, needs a jump-start

Chris Muller-3
Removed the nulls, now it opens.  Option 0 it is.  Thanks Dave!

On Tue, Jan 21, 2014 at 11:51 AM, David T. Lewis <[hidden email]> wrote:

> 0) It is already fixed.
>
> See latest Collections updates from the weekend.
>
> You may currently have a #workingWithSqueak with source code that was
> damaged by the bug. In that case, you may need to get the null characters
> out of it (I emailed a version of this with nulls removed earlier I
> think). Sorry I cannot check it specifically right now, but I'm quite sure
> that if you have an updated image, and can then edit and save the
> workingWithSqueak window one time, then all should be well and you will
> not see a recurrence of the issue.
>
> Dave
>
>> So, the release is currently halted by this.  What should we do for
>> the release guys?  Our options are:
>>
>>   1) Do nothing, let these Help workspaces blow up.
>>   2) Revert RunArray class>>#scanFrom:.  Everything works.
>>   3) Simplify these workspaces to have only plain-text, maybe they'll
>> work?
>>   4) Eliminate these workspaces from the image entirely, rely solely
>> on external documentation.
>>   5) Knuckle up and fix this right now (volunteer needed).
>>
>> The change to RunArray class>>#scanFrom: says it's purpose is to
>> "simplify".  Is that it?  If so, I vote for 2.
>>
>> Please vote and/or volunteer.
>>
>> On Sat, Jan 18, 2014 at 6:29 PM, David T. Lewis <[hidden email]>
>> wrote:
>>> On Fri, Jan 17, 2014 at 11:51:00AM -0500, David T. Lewis wrote:
>>>> >> How was the source for this version of #workingWithSqueak created? I
>>>> am
>>>> >> worried that I might have broken something in the writeScanOn:
>>>> methods
>>>> >> for TextAttributes that might have led to generating corrupt source
>>>> >> code for the workingWithSqueak method ... I hope not :-(
>>>> >
>>>> > It was created the normal way -- by simply opening up that workspace,
>>>> > editing it, and then saving it (Command+s).
>>>> >
>>>> > Doing that updates the method source.
>>>> >
>>>> > See the acceptBlock in
>>>> TheWorldMainDockingBar>>#showWelcomeText:label:in:.
>>>> >
>>>>
>>>> That means that I must have introduced some new bug. I will look for it
>>>> and provide a fix this weekend.
>>>
>>> Oh my goodness. This appears to be a remarkable confluence of of bugs.
>>>
>>> The welcome text right now just happens to be a Text with a RunArray
>>> that
>>> serializes to a string of exactly 101 characters, including a trailing
>>> comma
>>> that needs to be trimmed. The RunArray>>writeScanOn: method backs the
>>> stream
>>> up one character to trim off that extra comma, leaving the stream at
>>> position
>>> 100. It just so happens that the stream was initialized to size 100, so
>>> when
>>> String>>new:streamContents: checks to see if the stream position matches
>>> the
>>> original size, it sees that the position is 100 so yes they match and it
>>> must
>>> be OK to simply return the #originalContents of the stream instead of
>>> going
>>> to all the extra work of figuring out its current #contents.
>>> Unfortunately,
>>> the stream has actually been advanced to position 101 before being
>>> backed
>>> up to position 100, so its collection has been resized to 200 elements.
>>> So
>>> we grab the 200 elements of the stream collection, assuming that these
>>> are
>>> still the original 100 elements of the original stream collection. That
>>> gives us a string with an extra comma and 99 null characters at the end
>>> where we did not expect anything.
>>>
>>> If I load our current #workingWithSqueak into an older Squeak image, the
>>> above problem is still triggered, and the source code for
>>> #workingWithSqueak
>>> gets corrupted. But it gets corrupted differently than in the latest
>>> Squeak,
>>> presumably due to the changes that I recently made to TextAttributes.
>>> And
>>> in the older Squeak, this mess does not result in an error when opening
>>> the
>>> workingWithSqueak window, probably related to the more permissive
>>> parsing
>>> in the original RunArray class>>scanFrom: parsing.
>>>
>>> This is making my head hurt. I am going to think about it tomorrow.
>>>
>>> "I can't think about that right now. If I do, I'll go crazy. I'll think
>>> about that tomorrow."
>>> - Margaret Mitchell, Gone with the Wind
>>>
>>> Dave
>>>
>>>
>>
>
>
>

Reply | Threaded
Open this post in threaded view
|

re: release stalled, needs a jump-start

Ron Teitelbaum
In reply to this post by ccrraaiigg
> Craig Latta
>
>      2.

+1 (agree)
>
>
> -C

Ron