[Bug][3.4gammaOne] Adding an instance var to ClassDescriptiondoes not work

Daniel Vainsencher danielv at netvision.net.il
Mon Feb 24 23:30:38 UTC 2003


I'm for moving forward with getting 3.4 out the door ASAP, despite this
bug.

Here are the reasons -
1. Currently, the latest stable is 3.2. It is quite out of date -
newbies are downloading it every day, and don't see SqueakMap. That
stops people from doing something, that might not get around it. People
that need to recompile the whole image will probably know enought to
ask, understand what the issue is, and get a Squeak in which the kernel
is intact.
2. Some people might still be using 3.3a by mistake, and having a bad
initial experience, which is less likely to happen once 3.4 is out the
door.
3. The shape change corrections Andreas described don't seem trivial,
and they're not something I'd want to put into a gamma image. Their
implementation may include bugs, delaying 3.4 even more or worse,
causing us to release an even more broken image.

So I don't think this one warrants stopping the presses.

However, it might be a good idea to make a ligher variant of that test,
and put it in the image/SM kernel-tests package.

BTW, does this work in early 3.2? Curious.

Daniel

Hannes Hirzel <hannes.hirzel.squeaklist at bluewin.ch> wrote:
> 
> --Boundary_(ID_f/wa1d/cY90aIRe/evVN1A)
> Content-type: TEXT/PLAIN
> Content-transfer-encoding: 7BIT
> 
> Hi
> 
> In an attempt to emphasize that there is an important bug in 3.4gammaOne
> I post this mail.
> And I will try to summarize what has been said about this on the list.
> 
> 
> Nathanael Schaerli raised the issue. Adding an instance variable to the
> class ClassDescription 
> is not possible anymore in 3.4. In version 3.2 (the offical one from
> www.squeak.org) it worked.
> 
> The following test case illustrates this:
> 
> 
> 'From Squeak3.2 of 11 July 2002 [latest update: #4956] on 24 February
> 2003 at 4:22:07 pm'!
> TestCase subclass: #BCCMaddInstVar
> 	instanceVariableNames: ''
> 	classVariableNames: ''
> 	poolDictionaries: ''
> 	category: 'SUnit-Tests'!
> 
> 
> !BCCMaddInstVar methodsFor: 'as yet unclassified' stamp: 'hjh 2/24/2003
> 14:49'!
> test03AddInstanceVarToClassDescription
> 
> 	self assert: (ClassDescription isKindOf: ClassDescription).
> 	self assert: (Object isKindOf: Object).
> 	self deny: (OrderedCollection isKindOf: OrderedCollection).
> 
> 	ClassDescription addInstVarName: 'myAdditionalInstVar'.
> 
> 	ClassDescription removeInstVarName: 'myAdditionalInstVar'.! !
> 
> 
> 
> This test case needs something between 10..30 minutes to complete as all
> classes are recompiled.
> 
> Recompiling 1810 of 1814 classes works successfully. However the class
> ImageSegmentRootStub does not compile. 
> 
> 
> Boris Gaertner would like to be able to add a variable to
> ClassDescription to bring up 'Islands' to 3.4 He wrote:
> 
> >Date: Sun, 23 Feb 2003 00:14:02 +0100
> >From: "Boris Gaertner" <Boris.Gaertner at gmx.net>
> >Subject: Re: Islands for Squeak3.4 and beyond
> 
> >This change set contains a modification of class
> >ClassDescription. An attempt is made to add an
> >instance variable to that class. This requires recompilation
> >of the entire system and in Squeak 3.4 it ends with a fatal error.
> 
> >We really really have to fix that problem but at this moment I do
> >not have the time to do it. (It is not a simple thing to understand
> >what is currently wrong. Things are additionally complicated by
> >the fact that recompilation of the entire system is time consuming,
> >so the testing alone requires many hours)
> 
> >Since Squeak 3.2 we had two change sets that substantially
> >modified the ClassBuilder; these are change sets 4956 und 5092.
> 
> 
> Possible next steps
> ---------------------
> 
> Possible next steps
> 
> 1) Take a pristine 3.2 image
> 2) Update the image until and including change set 4955
> 3) Run the above test.
> 4) If the test runs update to change set 4956
> 5) Run the test again. If it fails the error is in 4956.  -> 
> 6) Update to 5091
> 7) Run the test again.
> 8) Include the change set 5092
> 9) run the test again
> 10) These steps should shed some light were the bug was introduces.
> 
> We know as well that class ImageSegmentRootStub does not compile anymore
> in 3.4
> 
> A remark: To run the test you have to click 'proceed' on two occasions.
> 
> 
> I consider this to be an important bug. Without this bug fixed I woudn't
> consider 3.4gammaOne to be a release candidate.
> 
> 
> Hannes Hirzel



More information about the Squeak-dev mailing list