[BUG] 0004990: #requiredSelectors is wrong

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

[BUG] 0004990: #requiredSelectors is wrong

Damien Cassou-3
http://bugs.impara.de/view.php?id=4990

It seems there is a bug in 3.9.
Here is a test case:

ATestCase>>testRequirement
   "
   self debug: #testRequirement
   "
   | class |
   class := Object
             subclass: #AClassForTest
             instanceVariableNames: ''
             classVariableNames: ''
             poolDictionaries: ''
             category: self class category.
   [
    class compile: 'call
                     ^ self isCalled'.
    self assert: (class requiredSelectors includes: #isCalled).


    class compile: 'isCalled
                     ^ 1'.
    "Fail here:"
    self deny: (class requiredSelectors includes: #isCalled)]

   ensure: [class removeFromSystem]

--
Damien Cassou


Reply | Threaded
Open this post in threaded view
|

Re: [BUG] 0004990: #requiredSelectors is wrong

Daniel Vainsencher-2
Thanks for testing! and for showing the bug in a very reproducible
manner. I've updated the mantis entry, with a version that fixes the
bug, please verify that that version works for you (read the note).

BTW, next time please attach the test to the bug itself, a person might
or might not see the squeak-dev copy.

Summary of the bug - calculating required methods is slow, so much of
the effort was placed into the case in which caching is made practical
by client cooperation. Including the testing effort. The bug was in the
code that handles non-cooperative clients.

Daniel

Damien Cassou wrote:

> http://bugs.impara.de/view.php?id=4990
>
> It seems there is a bug in 3.9.
> Here is a test case:
>
> ATestCase>>testRequirement
>   "
>   self debug: #testRequirement
>   "
>   | class |
>   class := Object
>             subclass: #AClassForTest
>             instanceVariableNames: ''
>             classVariableNames: ''
>             poolDictionaries: ''
>             category: self class category.
>   [
>    class compile: 'call
>                     ^ self isCalled'.
>    self assert: (class requiredSelectors includes: #isCalled).
>
>
>    class compile: 'isCalled
>                     ^ 1'.
>    "Fail here:"
>    self deny: (class requiredSelectors includes: #isCalled)]
>
>   ensure: [class removeFromSystem]
>



Reply | Threaded
Open this post in threaded view
|

Re: [BUG] 0004990: #requiredSelectors is wrong

Damien Cassou-3
Daniel Vainsencher a écrit :
> Thanks for testing! and for showing the bug in a very reproducible
> manner. I've updated the mantis entry, with a version that fixes the
> bug, please verify that that version works for you (read the note).

I confirm the bug correction. Thank you.

> BTW, next time please attach the test to the bug itself, a person might
> or might not see the squeak-dev copy.


The test was in the bug report, but not as an attachement. I will remember.


> Summary of the bug - calculating required methods is slow, so much of
> the effort was placed into the case in which caching is made practical
> by client cooperation. Including the testing effort. The bug was in the
> code that handles non-cooperative clients.


--
Damien Cassou


Reply | Threaded
Open this post in threaded view
|

Re: [BUG] 0004990: #requiredSelectors is wrong

Damien Cassou-3
In reply to this post by Daniel Vainsencher-2
Daniel Vainsencher a écrit :
> Thanks for testing! and for showing the bug in a very reproducible
> manner. I've updated the mantis entry, with a version that fixes the
> bug, please verify that that version works for you (read the note).

What will you do with this correction ? Can you publish it somewhere so
that squeak-dev image can use it automatically ?

--
Damien Cassou


Reply | Threaded
Open this post in threaded view
|

Advocating a fix for 3.9gamma (was: [BUG] 0004990: #requiredSelectors is wrong)

Daniel Vainsencher-2
Dear 3.9 release team,

I realize that to be integrated at this late stage, any changes going
into the image should be of minimal impact, and of some importance. I
still advocate the integration of Traits-dvf.225.mcz available at
http://bugs.impara.de/view.php?id=4990 because:
1. It is based on the latest gamma release.
2. It is a one liner.
3. I am the author of the original code, and I can tell you it is a
quite conservative change (clear a cache when its needed).
4. The bug being fixed is covered by a test (now green) and so is the
rest of that code.
5. The code fixed "aClass requiredSelectors" has zero clients in the
image (so they won't regress) but hopefully, Damien will provide a
widespread client for it before 3.10 is available. Therefore the fix is
important.

So how do we take the last step of making this actually go into the
image? do I reassign the bug to someone? I couldn't find this documented
on the wiki or mantis docs.

Daniel

Damien Cassou wrote:
> Daniel Vainsencher a écrit :
>> Thanks for testing! and for showing the bug in a very reproducible
>> manner. I've updated the mantis entry, with a version that fixes the
>> bug, please verify that that version works for you (read the note).
>
> What will you do with this correction ? Can you publish it somewhere
> so that squeak-dev image can use it automatically ?
>


Reply | Threaded
Open this post in threaded view
|

Re: Advocating a fix for 3.9gamma (was: [BUG] 0004990: #requiredSelectors is wrong)

Ken Causey-3
There really is no 'official' mechanism for this yet, to my knowledge.
But other than what you've already done (sending this email), which is
probably sufficient, you should probably have:

1.  Cc'ed the message to the relevant release team mailing list (I'm
Cc'ing this one which should cover it)

2.  Changed the status of #4990 to 'Resolved' with the appropriate
resolution status (probably 'fixed'.  And included in the resolution
comment much of the verbiage from your email.

Ken

On Tue, 2006-09-19 at 14:01 +0300, Daniel Vainsencher wrote:

> Dear 3.9 release team,
>
> I realize that to be integrated at this late stage, any changes going
> into the image should be of minimal impact, and of some importance. I
> still advocate the integration of Traits-dvf.225.mcz available at
> http://bugs.impara.de/view.php?id=4990 because:
> 1. It is based on the latest gamma release.
> 2. It is a one liner.
> 3. I am the author of the original code, and I can tell you it is a
> quite conservative change (clear a cache when its needed).
> 4. The bug being fixed is covered by a test (now green) and so is the
> rest of that code.
> 5. The code fixed "aClass requiredSelectors" has zero clients in the
> image (so they won't regress) but hopefully, Damien will provide a
> widespread client for it before 3.10 is available. Therefore the fix is
> important.
>
> So how do we take the last step of making this actually go into the
> image? do I reassign the bug to someone? I couldn't find this documented
> on the wiki or mantis docs.
>
> Daniel
>
> Damien Cassou wrote:
> > Daniel Vainsencher a écrit :
> >> Thanks for testing! and for showing the bug in a very reproducible
> >> manner. I've updated the mantis entry, with a version that fixes the
> >> bug, please verify that that version works for you (read the note).
> >
> > What will you do with this correction ? Can you publish it somewhere
> > so that squeak-dev image can use it automatically ?
> >
>
>
>



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

Re: Advocating a fix for 3.9gamma (was: [BUG] 0004990: #requiredSelectors is wrong)

stephane ducasse-2
In reply to this post by Daniel Vainsencher-2
I will give a try to include it :)
With the fix of cs. After that we will certainly stop and wait for a  
3.9.1 to collect fix that will have been harvested for 3.10

Stef

Thanks daniel!



Stef

On 19 sept. 06, at 13:01, Daniel Vainsencher wrote:

> Dear 3.9 release team,
>
> I realize that to be integrated at this late stage, any changes  
> going into the image should be of minimal impact, and of some  
> importance. I still advocate the integration of Traits-dvf.225.mcz  
> available at http://bugs.impara.de/view.php?id=4990 because:
> 1. It is based on the latest gamma release.
> 2. It is a one liner.
> 3. I am the author of the original code, and I can tell you it is a  
> quite conservative change (clear a cache when its needed).
> 4. The bug being fixed is covered by a test (now green) and so is  
> the rest of that code.
> 5. The code fixed "aClass requiredSelectors" has zero clients in  
> the image (so they won't regress) but hopefully, Damien will  
> provide a widespread client for it before 3.10 is available.  
> Therefore the fix is important.
>
> So how do we take the last step of making this actually go into the  
> image? do I reassign the bug to someone? I couldn't find this  
> documented on the wiki or mantis docs.
>
> Daniel
>
> Damien Cassou wrote:
>> Daniel Vainsencher a écrit :
>>> Thanks for testing! and for showing the bug in a very  
>>> reproducible manner. I've updated the mantis entry, with a  
>>> version that fixes the bug, please verify that that version works  
>>> for you (read the note).
>>
>> What will you do with this correction ? Can you publish it  
>> somewhere so that squeak-dev image can use it automatically ?
>>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Advocating a fix for 3.9gamma (was: [BUG] 0004990: #requiredSelectors is wrong)

stephane ducasse-2
In reply to this post by Daniel Vainsencher-2
daniel

I have problem to load your mcz file (on mac) I renamed it .mcz  
changed its kinds... put it into the package-cache...
but I cannot load it.
Could you send it to me by email?

Stef

On 19 sept. 06, at 13:01, Daniel Vainsencher wrote:

> Dear 3.9 release team,
>
> I realize that to be integrated at this late stage, any changes  
> going into the image should be of minimal impact, and of some  
> importance. I still advocate the integration of Traits-dvf.225.mcz  
> available at http://bugs.impara.de/view.php?id=4990 because:
> 1. It is based on the latest gamma release.
> 2. It is a one liner.
> 3. I am the author of the original code, and I can tell you it is a  
> quite conservative change (clear a cache when its needed).
> 4. The bug being fixed is covered by a test (now green) and so is  
> the rest of that code.
> 5. The code fixed "aClass requiredSelectors" has zero clients in  
> the image (so they won't regress) but hopefully, Damien will  
> provide a widespread client for it before 3.10 is available.  
> Therefore the fix is important.
>
> So how do we take the last step of making this actually go into the  
> image? do I reassign the bug to someone? I couldn't find this  
> documented on the wiki or mantis docs.
>
> Daniel
>
> Damien Cassou wrote:
>> Daniel Vainsencher a écrit :
>>> Thanks for testing! and for showing the bug in a very  
>>> reproducible manner. I've updated the mantis entry, with a  
>>> version that fixes the bug, please verify that that version works  
>>> for you (read the note).
>>
>> What will you do with this correction ? Can you publish it  
>> somewhere so that squeak-dev image can use it automatically ?
>>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Advocating a fix for 3.9gamma (was: [BUG] 0004990: #requiredSelectors is wrong)

stephane ducasse-2
In reply to this post by Daniel Vainsencher-2
I found the trick. On mac even if the name is .mcz you have to change  
it with the info interface to .mcz

Stef

On 19 sept. 06, at 13:01, Daniel Vainsencher wrote:

> Dear 3.9 release team,
>
> I realize that to be integrated at this late stage, any changes  
> going into the image should be of minimal impact, and of some  
> importance. I still advocate the integration of Traits-dvf.225.mcz  
> available at http://bugs.impara.de/view.php?id=4990 because:
> 1. It is based on the latest gamma release.
> 2. It is a one liner.
> 3. I am the author of the original code, and I can tell you it is a  
> quite conservative change (clear a cache when its needed).
> 4. The bug being fixed is covered by a test (now green) and so is  
> the rest of that code.
> 5. The code fixed "aClass requiredSelectors" has zero clients in  
> the image (so they won't regress) but hopefully, Damien will  
> provide a widespread client for it before 3.10 is available.  
> Therefore the fix is important.
>
> So how do we take the last step of making this actually go into the  
> image? do I reassign the bug to someone? I couldn't find this  
> documented on the wiki or mantis docs.
>
> Daniel
>
> Damien Cassou wrote:
>> Daniel Vainsencher a écrit :
>>> Thanks for testing! and for showing the bug in a very  
>>> reproducible manner. I've updated the mantis entry, with a  
>>> version that fixes the bug, please verify that that version works  
>>> for you (read the note).
>>
>> What will you do with this correction ? Can you publish it  
>> somewhere so that squeak-dev image can use it automatically ?
>>
>
>