Issue 5211 in pharo: Senders goes into loop leading to VM crash

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

Issue 5211 in pharo: Senders goes into loop leading to VM crash

pharo
Status: Accepted
Owner: ----
Labels: Milestone-1.4 Type-Bug

New issue 5211 by [hidden email]: Senders goes into loop leading to  
VM crash
http://code.google.com/p/pharo/issues/detail?id=5211

This has been driving me crazy the last couple of days, I think that I now  
isolated the problem a little bit, at least it seems reproduceable.


Smalltalk vm version. "CoInterpreter VMMaker-oscog-EstebanLorenzano.139  
uuid: 5aa53979-d7d8-4ca3-91fe-cfc3b4109c33 Dec 11 2011,  
StackToRegisterMappingCogit VMMaker-oscog-EstebanLorenzano.139 uuid:  
5aa53979-d7d8-4ca3-91fe-cfc3b4109c33 Dec 11 2011,  
https://git.gitorious.org/cogvm/blessed.git Commit:  
364a7f1fab69798c1bdc9575ba15e18ea319585a Date: Sun Dec 11 15:17:52 2011  
-0300 By: Esteban Lorenzano <[hidden email]>"

SystemVersion current. "Pharo1.4a of '16 June 2011' update 14292"


"The following code is quite simple and has no dependencies"

Gofer it
   squeaksource: 'ADayAtTheBeach';
   package: 'Ston-Core';
   package: 'Ston-Tests';
   load.


"open TestRunner on STON-Tests, select and run all tests"

"open Browser on STONReader>>whitespace and ask for senders"


The code is nothing special (it was not (yet) ready for publication ;-),  
what is 'special', I think, is that it adds a couple of methods to system  
classes.


Pharo has been very stable for me since I started using it, but this is  
really terrible, once in this state, the image becomes unusable,  
independent of VM. I can't imagine I am the only one running into this, but  
apparently I am.


There is no PharoDebug.log, no crash.dmp. Interruption is possible but only  
shows the finalization process.


Any help would be greatly appreciated !


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

Re: Issue 5211 in pharo: Senders goes into loop leading to VM crash

pharo

Comment #1 on issue 5211 by [hidden email]: Senders goes into loop  
leading to VM crash
http://code.google.com/p/pharo/issues/detail?id=5211

This might be related to  
http://code.google.com/p/pharo/issues/detail?id=5210


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

Re: Issue 5211 in pharo: Senders goes into loop leading to VM crash

pharo

Comment #2 on issue 5211 by marianopeck: Senders goes into loop leading to  
VM crash
http://code.google.com/p/pharo/issues/detail?id=5211

No. Your problem is #testReferenceCycle
and I think because since you are creating a literal array which gets  
inside teh compiled method, and your are putting a nil...it can cause  
problems. If you change to:

testReferenceCycle
        | array |
        array := Array with: 1 with: nil.
        array at: 2 put: array.
        self assert: (self serialize: array) = '[1,@1]'.

It works without problems.


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

Re: Issue 5211 in pharo: Senders goes into loop leading to VM crash

pharo
Updates:
        Status: Invalid

Comment #3 on issue 5211 by [hidden email]: Senders goes into loop  
leading to VM crash
http://code.google.com/p/pharo/issues/detail?id=5211

Incredible, Mariano, you found this in less than 20 minutes !

Yes, it had to be my own fault (it crashed my 1.3 images too).

Thanks a lot, you saved my day.



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

Re: Issue 5211 in pharo: Senders goes into loop leading to VM crash

pharo

Comment #4 on issue 5211 by marianopeck: Senders goes into loop leading to  
VM crash
http://code.google.com/p/pharo/issues/detail?id=5211

Hi Sven. It is a matter of what each of us know about. I can take a bug of  
Morphic/UI I can be one months before I can do anything ;)  If you see the  
hacky things I did for my phd you will notice why I I am used to crashes  
and hangs :)

I think the real problem is because:

The thing is that when you create the array with #() it gets inside the  
literals of the CompiledMethod. So:

(STONWriterTests >> #testReferenceCycle) literalAt: 1

Answers the array. But then, after doing:

array at: 2 put: array.

you generate a cycle.
Then...when you search senders...such code will inspect the literals of  
each compiled method. And in this case, you have a loop :)




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