New case to crash Spur VM

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

New case to crash Spur VM

Denis Kudriashov
 
Hi

In debugger (Squeak or Pharo) try "step over" for expression "Object basicSize": image will crash.

We have opened issue for this in Pharo tracker  17962
Reply | Threaded
Open this post in threaded view
|

Re: New case to crash Spur VM

Denis Kudriashov
 
Hi.

I just remind about it

2016-04-15 15:42 GMT+02:00 Denis Kudriashov <[hidden email]>:
Hi

In debugger (Squeak or Pharo) try "step over" for expression "Object basicSize": image will crash.

We have opened issue for this in Pharo tracker  17962

Reply | Threaded
Open this post in threaded view
|

Re: New case to crash Spur VM

David T. Lewis
 
On Mon, Dec 05, 2016 at 01:10:28PM +0100, Denis Kudriashov wrote:

>  
> Hi.
>
> I just remind about it
>
> 2016-04-15 15:42 GMT+02:00 Denis Kudriashov <[hidden email]>:
>
> > Hi
> >
> > In debugger (Squeak or Pharo) try "step over" for expression "Object
> > basicSize": image will crash.

I just tried on Squeak 64 bit Spur and no crash. Is there a specific VM version
that has the problem?

Dave


> >
> > We have opened issue for this in Pharo tracker  17962
> > <https://pharo.fogbugz.com/f/cases/17962/Image-is-crashed-when-step-over-Object-basicSize-in-debugger>
> >



Reply | Threaded
Open this post in threaded view
|

Re: New case to crash Spur VM

Denis Kudriashov
 
I can't check it on Squeak anymore. Squeak not works on Mac Sierra for me.

I attach crash file.
When I try it second time. After step over I got DNU error which shows very strange thing that 0 integer was sent as message. And when I click on basicSize method image crashed.
Then I try to get same behaviour but can't. Image crash when I press step over debugger button. (dump file about this case) 

2016-12-05 14:33 GMT+01:00 David T. Lewis <[hidden email]>:

On Mon, Dec 05, 2016 at 01:10:28PM +0100, Denis Kudriashov wrote:
>
> Hi.
>
> I just remind about it
>
> 2016-04-15 15:42 GMT+02:00 Denis Kudriashov <[hidden email]>:
>
> > Hi
> >
> > In debugger (Squeak or Pharo) try "step over" for expression "Object
> > basicSize": image will crash.

I just tried on Squeak 64 bit Spur and no crash. Is there a specific VM version
that has the problem?

Dave


> >
> > We have opened issue for this in Pharo tracker  17962
> > <https://pharo.fogbugz.com/f/cases/17962/Image-is-crashed-when-step-over-Object-basicSize-in-debugger>
> >





crash.dmp (36K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: New case to crash Spur VM

Denis Kudriashov
 

2016-12-05 15:07 GMT+01:00 Denis Kudriashov <[hidden email]>:
I attach crash file.
When I try it second time. After step over I got DNU error which shows very strange thing that 0 integer was sent as message. And when I click on basicSize method image crashed.
Then I try to get same behaviour but can't. Image crash when I press step over debugger button. (dump file about this case) 

It is on one of latest pharo 6 image and mac os VM (dump includes this information I guess)
Reply | Threaded
Open this post in threaded view
|

Re: New case to crash Spur VM

Denis Kudriashov
 
I found automated way how to check problem:

p := [ Object basicSize ] fork.
p suspend.

3 timesRepeat: [p step: p suspendedContext].
newContext := p completeStep: p suspendedContext.
newContext selector. "=> doesNotUnderstand:"
newContext arguments first selector == 0

2016-12-05 15:08 GMT+01:00 Denis Kudriashov <[hidden email]>:

2016-12-05 15:07 GMT+01:00 Denis Kudriashov <[hidden email]>:
I attach crash file.
When I try it second time. After step over I got DNU error which shows very strange thing that 0 integer was sent as message. And when I click on basicSize method image crashed.
Then I try to get same behaviour but can't. Image crash when I press step over debugger button. (dump file about this case) 

It is on one of latest pharo 6 image and mac os VM (dump includes this information I guess)

Reply | Threaded
Open this post in threaded view
|

Re: New case to crash Spur VM

Denis Kudriashov
 

2016-12-05 15:25 GMT+01:00 Denis Kudriashov <[hidden email]>:
I found automated way how to check problem:

p := [ Object basicSize ] fork.
p suspend.

3 timesRepeat: [p step: p suspendedContext].
newContext := p completeStep: p suspendedContext.
newContext selector. "=> doesNotUnderstand:"
newContext arguments first selector == 0

And arguments of DNU message argument is also very strange:
newContext arguments first arguments "an Array(0 Context>>jump)"
 
Reply | Threaded
Open this post in threaded view
|

Re: New case to crash Spur VM

Levente Uzonyi
In reply to this post by Denis Kudriashov
 
On Mon, 5 Dec 2016, Denis Kudriashov wrote:

> I can't check it on Squeak anymore. Squeak not works on Mac Sierra for
me.

Don't be that naive. Just because the executable is called Pharo, it's
still a Squeak VM. You can open a Squeak image with it.

Levente
Reply | Threaded
Open this post in threaded view
|

Re: New case to crash Spur VM

Denis Kudriashov
 

2016-12-05 17:20 GMT+01:00 Levente Uzonyi <[hidden email]>:

Don't be that naive. Just because the executable is called Pharo, it's still a Squeak VM. You can open a Squeak image with it.

Thank's Levente. I not thought about it :)

No I tried 32 bits squeak with "some" Pharo vm for MacOS Sierra.
Both squeak 5.1 and trunk 6 are crashed. And they are crashed also with my example at line with #completeStep:. (Pharo has different implementation I guess)
Dump file attached for squeak 6 case

crash.dmp (4K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: New case to crash Spur VM

Chris Muller-3
In reply to this post by Denis Kudriashov
 
Confirmed using the production 32-bit VM released with Squeak 5.1.
(5.0-201608171728)

On Mon, Dec 5, 2016 at 6:10 AM, Denis Kudriashov <[hidden email]> wrote:

>
> Hi.
>
> I just remind about it
>
> 2016-04-15 15:42 GMT+02:00 Denis Kudriashov <[hidden email]>:
>>
>> Hi
>>
>> In debugger (Squeak or Pharo) try "step over" for expression "Object basicSize": image will crash.
>>
>> We have opened issue for this in Pharo tracker  17962
>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: New case to crash Spur VM

Eliot Miranda-2
In reply to this post by Denis Kudriashov
 
Hi Denis,

On Mon, Dec 5, 2016 at 6:29 AM, Denis Kudriashov <[hidden email]> wrote:
 

2016-12-05 15:25 GMT+01:00 Denis Kudriashov <[hidden email]>:
I found automated way how to check problem:

p := [ Object basicSize ] fork.
p suspend.

3 timesRepeat: [p step: p suspendedContext].
newContext := p completeStep: p suspendedContext.
newContext selector. "=> doesNotUnderstand:"
newContext arguments first selector == 0

Thanks. This reproduces in the simulator.  The interpreter is accessing byte codes beyond the return at the end of Object>>#basicSize.  I should be bale to understand this better soon.

And arguments of DNU message argument is also very strange:
newContext arguments first arguments "an Array(0 Context>>jump)"
 




--
_,,,^..^,,,_
best, Eliot
Reply | Threaded
Open this post in threaded view
|

Re: New case to crash Spur VM

Eliot Miranda-2
 
Hi Denis,

    this is fixed in VMMaker.oscog-eem.2032.  I'll generate sources and push to github presently.  Thanks for the test case.  This is a "new" case the VM has to deal with with the "new" callPrimitive byte code.  I had written the code to handle the case quite a while ago (2013?) but had written incorrect code.

On Thu, Dec 8, 2016 at 9:31 AM, Eliot Miranda <[hidden email]> wrote:
Hi Denis,

On Mon, Dec 5, 2016 at 6:29 AM, Denis Kudriashov <[hidden email]> wrote:
 

2016-12-05 15:25 GMT+01:00 Denis Kudriashov <[hidden email]>:
I found automated way how to check problem:

p := [ Object basicSize ] fork.
p suspend.

3 timesRepeat: [p step: p suspendedContext].
newContext := p completeStep: p suspendedContext.
newContext selector. "=> doesNotUnderstand:"
newContext arguments first selector == 0

Thanks. This reproduces in the simulator.  The interpreter is accessing byte codes beyond the return at the end of Object>>#basicSize.  I should be bale to understand this better soon.

And arguments of DNU message argument is also very strange:
newContext arguments first arguments "an Array(0 Context>>jump)"
 




--
_,,,^..^,,,_
best, Eliot



--
_,,,^..^,,,_
best, Eliot
Reply | Threaded
Open this post in threaded view
|

Re: New case to crash Spur VM

Denis Kudriashov
 

2016-12-08 23:44 GMT+01:00 Eliot Miranda <[hidden email]>:
Hi Denis,

    this is fixed in VMMaker.oscog-eem.2032.  I'll generate sources and push to github presently.  Thanks for the test case.  This is a "new" case the VM has to deal with with the "new" callPrimitive byte code.  I had written the code to handle the case quite a while ago (2013?) but had written incorrect code.

Thank's Eliot.