Strange bug

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

Strange bug

cdelaunay
Hello,

Last week I had a error due to a strange behaviour: I had an instance variable and an accessor to this instance variable. The instance variable is instanciated at the initialization of the class. When the error occure, the instance variable is not nil (when inspecting it from the debugger ). But, when evaluating the accessor, it return nil.

This occure in the pharo 1.0 dev image. I test it this morning on a clean image and on a click image with moose. It seems that the bug is specific to moose. If you want to reproduce it:

Download the last version of Merlin from www.squeaksource.com/DelaunayTmpStuffs.
run the method MerlinExamples class >> parametrizedMorphDropLists. it should work correctly.
Now restart, load moose (load ConfigurationOfMoose, and evaluate 'ConfigurationOfMoose loadDefault') and then load Merlin from 'DelaunayTmpStuffs'.
It should raise an error and you should be able to see this strange behaviour. From the debugger, evaluate 'self dropList' in MorphDropListPart.

After showing this bug to Marcus, it seems that something is not weel compiled at one point: browse the method 'dropList' in dropListPart. Now, click on 'view' and 'byte code'. The offset indicated is 10 whereas it should be 15

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Strange bug

Tudor Girba
That is too low level for me :)

Doru


On 26 Apr 2010, at 13:56, Cyrille Delaunay wrote:

> Hello,
>
> Last week I had a error due to a strange behaviour: I had an  
> instance variable and an accessor to this instance variable. The  
> instance variable is instanciated at the initialization of the  
> class. When the error occure, the instance variable is not nil (when  
> inspecting it from the debugger ). But, when evaluating the  
> accessor, it return nil.
>
> This occure in the pharo 1.0 dev image. I test it this morning on a  
> clean image and on a click image with moose. It seems that the bug  
> is specific to moose. If you want to reproduce it:
>
> Download the last version of Merlin from www.squeaksource.com/DelaunayTmpStuffs
> .
> run the method MerlinExamples class >> parametrizedMorphDropLists.  
> it should work correctly.
> Now restart, load moose (load ConfigurationOfMoose, and evaluate  
> 'ConfigurationOfMoose loadDefault') and then load Merlin from  
> 'DelaunayTmpStuffs'.
> It should raise an error and you should be able to see this strange  
> behaviour. From the debugger, evaluate 'self dropList' in  
> MorphDropListPart.
>
> After showing this bug to Marcus, it seems that something is not  
> weel compiled at one point: browse the method 'dropList' in  
> dropListPart. Now, click on 'view' and 'byte code'. The offset  
> indicated is 10 whereas it should be 15
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
www.tudorgirba.com

"Presenting is storytelling."

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-project] Strange bug

Stéphane Ducasse
We should check the Moose overrides?
is there somewhere a method adding behavior to behavior and friends?
I did not get the time to have a look.

On Apr 26, 2010, at 11:29 PM, Tudor Girba wrote:

> That is too low level for me :)
>
> Doru
>
>
> On 26 Apr 2010, at 13:56, Cyrille Delaunay wrote:
>
>> Hello,
>>
>> Last week I had a error due to a strange behaviour: I had an instance variable and an accessor to this instance variable. The instance variable is instanciated at the initialization of the class. When the error occure, the instance variable is not nil (when inspecting it from the debugger ). But, when evaluating the accessor, it return nil.
>>
>> This occure in the pharo 1.0 dev image. I test it this morning on a clean image and on a click image with moose. It seems that the bug is specific to moose. If you want to reproduce it:
>>
>> Download the last version of Merlin from www.squeaksource.com/DelaunayTmpStuffs.
>> run the method MerlinExamples class >> parametrizedMorphDropLists. it should work correctly.
>> Now restart, load moose (load Conf


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-project] Strange bug

cdelaunay
After playing a bit with that, it seems that it is not moose specific. I have maybe an idea about the origin of the Problem:

I have a package, Merlin, which is usually saved in is own repository, www.squeaksource.com/Merlin.

I had to make some changes on Merlin, and during all this time, I saved all the 'dummy versions' of Merlin in another repository: www.squeaksource.com/DelaunayTmpStuffs.

Now, if I compare the latest version from those two repositories:
in www.squeaksource.com/Merlin, BEFORE CHANGES ,  the offset of the instance variable causing the problem is 10.
in www.squeaksource.com/DelaunayTmpStuffs, AT THE END OF CHANGES ,  the offset of the instance variable causing the problem is 15.

The problem will only happen when merging those two versions. If you load the version directly from DelaunayTmpStuffs, all will be ok.
Then, I don't know how the information about the instance variable offsets is propagated along the different versions of a package. But it seems that when merging, the information (telling that the offset of the variable has changed) has been lost in all the version of DelaunayTmpStuffs




2010/4/27 Stéphane Ducasse <[hidden email]>
We should check the Moose overrides?
is there somewhere a method adding behavior to behavior and friends?
I did not get the time to have a look.

On Apr 26, 2010, at 11:29 PM, Tudor Girba wrote:

> That is too low level for me :)
>
> Doru
>
>
> On 26 Apr 2010, at 13:56, Cyrille Delaunay wrote:
>
>> Hello,
>>
>> Last week I had a error due to a strange behaviour: I had an instance variable and an accessor to this instance variable. The instance variable is instanciated at the initialization of the class. When the error occure, the instance variable is not nil (when inspecting it from the debugger ). But, when evaluating the accessor, it return nil.
>>
>> This occure in the pharo 1.0 dev image. I test it this morning on a clean image and on a click image with moose. It seems that the bug is specific to moose. If you want to reproduce it:
>>
>> Download the last version of Merlin from www.squeaksource.com/DelaunayTmpStuffs.
>> run the method MerlinExamples class >> parametrizedMorphDropLists. it should work correctly.
>> Now restart, load moose (load Conf


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-project] Strange bug

cdelaunay


2010/4/28 Cyrille Delaunay <[hidden email]>
After playing a bit with that, it seems that it is not moose specific. I have maybe an idea about the origin of the Problem:

I have a package, Merlin, which is usually saved in is own repository, www.squeaksource.com/Merlin.

I had to make some changes on Merlin, and during all this time, I saved all the 'dummy versions' of Merlin in another repository: www.squeaksource.com/DelaunayTmpStuffs.

Now, if I compare the latest version from those two repositories:
in www.squeaksource.com/Merlin, BEFORE CHANGES ,  the offset of the instance variable causing the problem is 10.
in www.squeaksource.com/DelaunayTmpStuffs, AT THE END OF CHANGES ,  the offset of the instance variable causing the problem is 15.

The problem will only happen when merging those two versions. If you load the version directly from DelaunayTmpStuffs, all will be ok.
If you load the version directly from DelaunayTmpStuffs *in a clean pharo image*, all will be ok.
Then, I don't know how the information about the instance variable offsets is propagated along the different versions of a package. But it seems that when merging, the information (telling that the offset of the variable has changed) has been lost in all the version of DelaunayTmpStuffs




2010/4/27 Stéphane Ducasse <[hidden email]>

We should check the Moose overrides?
is there somewhere a method adding behavior to behavior and friends?
I did not get the time to have a look.

On Apr 26, 2010, at 11:29 PM, Tudor Girba wrote:

> That is too low level for me :)
>
> Doru
>
>
> On 26 Apr 2010, at 13:56, Cyrille Delaunay wrote:
>
>> Hello,
>>
>> Last week I had a error due to a strange behaviour: I had an instance variable and an accessor to this instance variable. The instance variable is instanciated at the initialization of the class. When the error occure, the instance variable is not nil (when inspecting it from the debugger ). But, when evaluating the accessor, it return nil.
>>
>> This occure in the pharo 1.0 dev image. I test it this morning on a clean image and on a click image with moose. It seems that the bug is specific to moose. If you want to reproduce it:
>>
>> Download the last version of Merlin from www.squeaksource.com/DelaunayTmpStuffs.
>> run the method MerlinExamples class >> parametrizedMorphDropLists. it should work correctly.
>> Now restart, load moose (load Conf


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev



_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-project] Strange bug

Simon Denier-3

On 28 avr. 2010, at 14:59, Cyrille Delaunay wrote:



2010/4/28 Cyrille Delaunay <[hidden email]>
After playing a bit with that, it seems that it is not moose specific. I have maybe an idea about the origin of the Problem:

I have a package, Merlin, which is usually saved in is own repository, www.squeaksource.com/Merlin.

I had to make some changes on Merlin, and during all this time, I saved all the 'dummy versions' of Merlin in another repository: www.squeaksource.com/DelaunayTmpStuffs.

Now, if I compare the latest version from those two repositories:
in www.squeaksource.com/Merlin, BEFORE CHANGES ,  the offset of the instance variable causing the problem is 10.
in www.squeaksource.com/DelaunayTmpStuffs, AT THE END OF CHANGES ,  the offset of the instance variable causing the problem is 15.

The problem will only happen when merging those two versions. If you load the version directly from DelaunayTmpStuffs, all will be ok.



So it looks like methods which are not changed by a merge and access instance variables do not get recompiled when the class definition changes? That is strange that such a bug still exists in Monticello. Try to do a very simple test case with a dummy package before posting the bug on Pharo, I would like to check that.



If you load the version directly from DelaunayTmpStuffs *in a clean pharo image*, all will be ok.
Then, I don't know how the information about the instance variable offsets is propagated along the different versions of a package. But it seems that when merging, the information (telling that the offset of the variable has changed) has been lost in all the version of DelaunayTmpStuffs




2010/4/27 Stéphane Ducasse <[hidden email]>

We should check the Moose overrides?
is there somewhere a method adding behavior to behavior and friends?
I did not get the time to have a look.

On Apr 26, 2010, at 11:29 PM, Tudor Girba wrote:

> That is too low level for me :)
>
> Doru
>
>
> On 26 Apr 2010, at 13:56, Cyrille Delaunay wrote:
>
>> Hello,
>>
>> Last week I had a error due to a strange behaviour: I had an instance variable and an accessor to this instance variable. The instance variable is instanciated at the initialization of the class. When the error occure, the instance variable is not nil (when inspecting it from the debugger ). But, when evaluating the accessor, it return nil.
>>
>> This occure in the pharo 1.0 dev image. I test it this morning on a clean image and on a click image with moose. It seems that the bug is specific to moose. If you want to reproduce it:
>>
>> Download the last version of Merlin from www.squeaksource.com/DelaunayTmpStuffs.
>> run the method MerlinExamples class >> parametrizedMorphDropLists. it should work correctly.
>> Now restart, load moose (load Conf


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
 Simon




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-project] Re: Strange bug

Stéphane Ducasse
In reply to this post by cdelaunay
oops
then this is a vicious MC bug?
You should show me that.

Stef
On Apr 28, 2010, at 2:55 PM, Cyrille Delaunay wrote:

> After playing a bit with that, it seems that it is not moose specific. I have maybe an idea about the origin of the Problem:
>
> I have a package, Merlin, which is usually saved in is own repository, www.squeaksource.com/Merlin.
>
> I had to make some changes on Merlin, and during all this time, I saved all the 'dummy versions' of Merlin in another repository: www.squeaksource.com/DelaunayTmpStuffs.
>
> Now, if I compare the latest version from those two repositories:
> in www.squeaksource.com/Merlin, BEFORE CHANGES ,  the offset of the instance variable causing the problem is 10.
> in www.squeaksource.com/DelaunayTmpStuffs, AT THE END OF CHANGES ,  the offset of the instance variable causing the problem is 15.
>
> The problem will only happen when merging those two versions. If you load the version directly from DelaunayTmpStuffs, all will be ok.
> Then, I don't know how the information about the instance variable offsets is propagated along the different versions of a package. But it seems that when merging, the information (telling that the offset of the variable has changed) has been lost in all the version of DelaunayTmpStuffs
>
>
>
>
> 2010/4/27 Stéphane Ducasse <[hidden email]>
> We should check the Moose overrides?
> is there somewhere a method adding behavior to behavior and friends?
> I did not get the time to have a look.
>
> On Apr 26, 2010, at 11:29 PM, Tudor Girba wrote:
>
> > That is too low level for me :)
> >
> > Doru
> >
> >
> > On 26 Apr 2010, at 13:56, Cyrille Delaunay wrote:
> >
> >> Hello,
> >>
> >> Last week I had a error due to a strange behaviour: I had an instance variable and an accessor to this instance variable. The instance variable is instanciated at the initialization of the class. When the error occure, the instance variable is not nil (when inspecting it from the debugger ). But, when evaluating the accessor, it return nil.
> >>
> >> This occure in the pharo 1.0 dev image. I test it this morning on a clean image and on a click image with moose. It seems that the bug is specific to moose. If you want to reproduce it:
> >>
> >> Download the last version of Merlin from www.squeaksource.com/DelaunayTmpStuffs.
> >> run the method MerlinExamples class >> parametrizedMorphDropLists. it should work correctly.
> >> Now restart, load moose (load Conf
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-project] Strange bug

Stéphane Ducasse
In reply to this post by Simon Denier-3
thanks let me know.

On Apr 28, 2010, at 3:28 PM, Simon Denier wrote:

>
> On 28 avr. 2010, at 14:59, Cyrille Delaunay wrote:
>
>>
>>
>> 2010/4/28 Cyrille Delaunay <[hidden email]>
>> After playing a bit with that, it seems that it is not moose specific. I have maybe an idea about the origin of the Problem:
>>
>> I have a package, Merlin, which is usually saved in is own repository, www.squeaksource.com/Merlin.
>>
>> I had to make some changes on Merlin, and during all this time, I saved all the 'dummy versions' of Merlin in another repository: www.squeaksource.com/DelaunayTmpStuffs.
>>
>> Now, if I compare the latest version from those two repositories:
>> in www.squeaksource.com/Merlin, BEFORE CHANGES ,  the offset of the instance variable causing the problem is 10.
>> in www.squeaksource.com/DelaunayTmpStuffs, AT THE END OF CHANGES ,  the offset of the instance variable causing the problem is 15.
>>
>> The problem will only happen when merging those two versions. If you load the version directly from DelaunayTmpStuffs, all will be ok.
>
>
>
> So it looks like methods which are not changed by a merge and access instance variables do not get recompiled when the class definition changes? That is strange that such a bug still exists in Monticello. Try to do a very simple test case with a dummy package before posting the bug on Pharo, I would like to check that.
>
>
>
>> If you load the version directly from DelaunayTmpStuffs *in a clean pharo image*, all will be ok.
>> Then, I don't know how the information about the instance variable offsets is propagated along the different versions of a package. But it seems that when merging, the information (telling that the offset of the variable has changed) has been lost in all the version of DelaunayTmpStuffs
>>
>>
>>
>>
>> 2010/4/27 Stéphane Ducasse <[hidden email]>
>>
>> We should check the Moose overrides?
>> is there somewhere a method adding behavior to behavior and friends?
>> I did not get the time to have a look.
>>
>> On Apr 26, 2010, at 11:29 PM, Tudor Girba wrote:
>>
>> > That is too low level for me :)
>> >
>> > Doru
>> >
>> >
>> > On 26 Apr 2010, at 13:56, Cyrille Delaunay wrote:
>> >
>> >> Hello,
>> >>
>> >> Last week I had a error due to a strange behaviour: I had an instance variable and an accessor to this instance variable. The instance variable is instanciated at the initialization of the class. When the error occure, the instance variable is not nil (when inspecting it from the debugger ). But, when evaluating the accessor, it return nil.
>> >>
>> >> This occure in the pharo 1.0 dev image. I test it this morning on a clean image and on a click image with moose. It seems that the bug is specific to moose. If you want to reproduce it:
>> >>
>> >> Download the last version of Merlin from www.squeaksource.com/DelaunayTmpStuffs.
>> >> run the method MerlinExamples class >> parametrizedMorphDropLists. it should work correctly.
>> >> Now restart, load moose (load Conf
>>
>>
>> _______________________________________________
>> Moose-dev mailing list
>> [hidden email]
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>>
>> _______________________________________________
>> Moose-dev mailing list
>> [hidden email]
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
> --
>  Simon
>
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev