BUG: 'Error: Instances of UndefinedObject are not indexable' with Interpreter

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

BUG: 'Error: Instances of UndefinedObject are not indexable' with Interpreter

Mariano Martinez Peck
Hi folks! I having this problem in pharo1.0-10496-rc1dev09.11.4  but I cannot reproduce it in PharoCore-1.1-11078-ALPHA
I don't think it is because of the Pharo version but becuase of dev/core. I would like to tested in a dev from 11078 but the last one I tested was not working as I have warings and popups everywhere (there is already a thread for that).

I am in Mac OS.

Anyway, you can reproduce it in a fresh pharo1.0-10496-rc1dev09.11.4 image.

Steps to reproduce:

1) Download from http://www.squeaksource.com/JBARepo the package VMMakerLoader

2) Evaluate "VMMakerLoader loadAndFix"

3) Browse the class Interpreter

4) Go to the method primitiveStoreImageSegment. Click on the method and after a second you will have this error.

I attach PharoDebug.log in the issue tracker:  http://code.google.com/p/pharo/issues/detail?id=1559

Cheers,

Mariano

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: BUG: 'Error: Instances of UndefinedObject are not indexable' with Interpreter

Henrik Sperre Johansen
Although I'm unable to reproduce it, it seems to me the possibility of a situation where this error could occur increases if text compositing takes too long. (notice how primitiveStoreImageSegment is ).
Reasoning;
- In TextMorph>> paragraph, an uninitialized paragraph is installed in the instvar, then line composition happens.
- If this method is called from another thread than the UI thread, (say, as a response to an Event, which seems to be the case at least for OB) it might be interrupted by the UI process, which will happily go ahead and try to render the paragraph before it is initialized, then throw an error since lines is still nil.

A fix for this problem (which would be to create the paragraph in a temp, then store in instvar only when fully intialized) is attached.

If you would file it in and see if it helps, that'd be nice.
If it does, feel free to commit a slice to the inbox :)

Cheers,
Henry


On Dec 8, 2009, at 2:56 15PM, Mariano Martinez Peck wrote:

Hi folks! I having this problem in pharo1.0-10496-rc1dev09.11.4  but I cannot reproduce it in PharoCore-1.1-11078-ALPHA
I don't think it is because of the Pharo version but becuase of dev/core. I would like to tested in a dev from 11078 but the last one I tested was not working as I have warings and popups everywhere (there is already a thread for that).

I am in Mac OS.

Anyway, you can reproduce it in a fresh pharo1.0-10496-rc1dev09.11.4 image.

Steps to reproduce:

1) Download from http://www.squeaksource.com/JBARepo the package VMMakerLoader

2) Evaluate "VMMakerLoader loadAndFix"

3) Browse the class Interpreter

4) Go to the method primitiveStoreImageSegment. Click on the method and after a second you will have this error.

I attach PharoDebug.log in the issue tracker:  http://code.google.com/p/pharo/issues/detail?id=1559

Cheers,

Mariano
_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

TextMorph-paragraph.st (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: BUG: 'Error: Instances of UndefinedObject are not indexable' with Interpreter

Mariano Martinez Peck


2009/12/8 Henrik Johansen <[hidden email]>
Although I'm unable to reproduce it, it seems to me the possibility of a situation where this error could occur increases if text compositing takes too long. (notice how primitiveStoreImageSegment is ).
Reasoning;
- In TextMorph>> paragraph, an uninitialized paragraph is installed in the instvar, then line composition happens.
- If this method is called from another thread than the UI thread, (say, as a response to an Event, which seems to be the case at least for OB) it might be interrupted by the UI process, which will happily go ahead and try to render the paragraph before it is initialized, then throw an error since lines is still nil.

A fix for this problem (which would be to create the paragraph in a temp, then store in instvar only when fully intialized) is attached.


Wow!!! you are really the bug killer number one! Thank you very much. Not only I could reproduce it but also apply the fix and be sure it is fixed and working like a charm now.

I commit
SLICE-Issue1559-UninitializedParagraph-MarianoMartinezPeck.1
 
to inbox.

Cheers,

Mariano


If you would file it in and see if it helps, that'd be nice.
If it does, feel free to commit a slice to the inbox :)

Cheers,
Henry


On Dec 8, 2009, at 2:56 15PM, Mariano Martinez Peck wrote:

Hi folks! I having this problem in pharo1.0-10496-rc1dev09.11.4  but I cannot reproduce it in PharoCore-1.1-11078-ALPHA
I don't think it is because of the Pharo version but becuase of dev/core. I would like to tested in a dev from 11078 but the last one I tested was not working as I have warings and popups everywhere (there is already a thread for that).

I am in Mac OS.

Anyway, you can reproduce it in a fresh pharo1.0-10496-rc1dev09.11.4 image.

Steps to reproduce:

1) Download from http://www.squeaksource.com/JBARepo the package VMMakerLoader

2) Evaluate "VMMakerLoader loadAndFix"

3) Browse the class Interpreter

4) Go to the method primitiveStoreImageSegment. Click on the method and after a second you will have this error.

I attach PharoDebug.log in the issue tracker:  http://code.google.com/p/pharo/issues/detail?id=1559

Cheers,

Mariano
_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project