[ANN] 7061 = Squeak 3.9 final

tim Rowledge tim at rowledge.org
Mon Sep 25 21:23:55 UTC 2006


On 25-Sep-06, at 1:42 PM, Brad Fuller wrote:

> stephane ducasse wrote:
>>>> been an VM ignorant I cannot reply. Now I hope that this bug can  
>>>> be fixed for 3.9 VMs
>>>> It seems to me that from an image perspective we can safely  
>>>> release the image.
>>>> Now we should also move, so that people migrate their code on  
>>>> 3.9 and that we start
>>>> on 3.10 :)
>>> Thanks for your comment, Stef. That seems reasonable. However,  
>>> are you sure that it's a VM issue? The VM crashes, but can it not  
>>> be an issue from higher up?
>>
>> Of course it can. But what can we do? do we have reproduceable  
>> bugs. I do not think so.
> The code is in the mantis defect that is 100% reproducible on my  
> PC. I think it's easy to duplicate or make other PCs crash.
>
>> So we can stop 3.9 and postpone it but
>> I'm pretty sure it will not help.
> I think what you are saying is that 3.9 should be pushed forward  
> because there are few people to look at this problem. If this is  
> the case, a couple of comments to that:

It doesn't affect my G5 mac so far. I have to say, 16 million float  
additions in 61 mS is damn fast.

It would be helpful if someone could build a PC vm with a small  
change in the code that prints the callstack after a problem like  
this so that it doesn't cast the context address to a signed value  
before printing it. I'm puzzled by the apparently large jump to
-2128068388 HandMorph>handleEvent:
-2128068768 MouseOverHandler>processMouseOver:
from
2032428416 HandMorph>handleEvent:
2032428116 HandMorph>processEvents

-2128068768 is 0x81283F60 and 2032428416 is 0x79246580; that's a bit  
more of a difference than the usual 92 byte increment as we build the  
stack sending messages. I don't see anything very odd about the code  
in HandMorph>handleEvent: that would lead me to expect any message  
sending funny business.

In the function printCallStackOf() that you should find in interp.c,  
try changing
/* end findSelectorOfMethod:forReceiver: */;
		printNum(ctxt);
		print(" ");
		if (!(ctxt == home)) {
to
/* end findSelectorOfMethod:forReceiver: */;
		printf("%X", ctxt);
		print(" ");
		if (!(ctxt == home)) {

and see if it can give us the stack in hex.

tim
--
tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
Useful Latin Phrases:- Utinam coniurati te in foro interficiant! =  
May conspirators assassinate you in the mall!





More information about the Squeak-dev mailing list