[VM CRASH, 201710061559, Cog/Spur, Win32] Cannot step-over using object-as-method

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

[VM CRASH, 201710061559, Cog/Spur, Win32] Cannot step-over using object-as-method

marcel.taeumel
 
Hi, there.

There seems to be a bug in the VM that occurs when stepping over a call that is actually a regular object in a method dictionary.

The VM crashes in the primitive 76.

To reproduce the bug load the attached change set and run the following code to install the "fake" method:

Blubb methodDict at: #fake put: (BlubbMethod new original: (Blubb >> #original)).

Now do this in the workspace:

self halt.
Blubb new fake.

Then "step over" a few times. The VM crashes. This is not a new bug. The VM crashes also in:

Squeak 4.6, VM 3397 (Cog V3)
Squeak 4.5, VM 2776 (Cog V3)
Squeak 4.3, VM Squeak 4.1.1 (no Cog, Stack VM)

In Squeak 4.4 (VM 2776, Cog V3), I get a "SmallInteger DNU 137504030". No VM crash. :)
In Squeak 3.8 (InterpreterVM?), I get a "Where is the jump??" error raised in MethodContext(InstructionStream) >> #skipBackBeforeJump. No VM crash. :)

Best,
Marcel

object-as-method-bug.1.cs (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [VM CRASH, 201710061559, Cog/Spur, Win32] Cannot step-over using object-as-method

Eliot Miranda-2
 
Hi Marcel,


On Oct 10, 2017, at 6:54 AM, Marcel Taeumel <[hidden email]> wrote:

Hi, there.

There seems to be a bug in the VM that occurs when stepping over a call that is actually a regular object in a method dictionary.

The VM crashes in the primitive 76.

To reproduce the bug load the attached change set and run the following code to install the "fake" method:

Blubb methodDict at: #fake put: (BlubbMethod new original: (Blubb >> #original)).

Now do this in the workspace:

self halt.
Blubb new fake.

Then "step over" a few times. The VM crashes. This is not a new bug. The VM crashes also in:

Squeak 4.6, VM 3397 (Cog V3)
Squeak 4.5, VM 2776 (Cog V3)
Squeak 4.3, VM Squeak 4.1.1 (no Cog, Stack VM)

In Squeak 4.4 (VM 2776, Cog V3), I get a "SmallInteger DNU 137504030". No VM crash. :)
In Squeak 3.8 (InterpreterVM?), I get a "Where is the jump??" error raised in MethodContext(InstructionStream) >> #skipBackBeforeJump. No VM crash. :)

I will try and take a look at this early next week.  


Best,
Marcel
<object-as-method-bug.1.cs>
Reply | Threaded
Open this post in threaded view
|

Re: [VM CRASH, 201710061559, Cog/Spur, Win32] Cannot step-over using object-as-method

marcel.taeumel
 
Hi Eliot,

thank you. Let us relabel it from "bug" to "feature request" because it has never been working since the addition of object-as-method in Squeak 3.8. :)

Best,
Marcel

Am 10.10.2017 21:40:46 schrieb Eliot Miranda <[hidden email]>:

Hi Marcel,


On Oct 10, 2017, at 6:54 AM, Marcel Taeumel <[hidden email]> wrote:

Hi, there.

There seems to be a bug in the VM that occurs when stepping over a call that is actually a regular object in a method dictionary.

The VM crashes in the primitive 76.

To reproduce the bug load the attached change set and run the following code to install the "fake" method:

Blubb methodDict at: #fake put: (BlubbMethod new original: (Blubb >> #original)).

Now do this in the workspace:

self halt.
Blubb new fake.

Then "step over" a few times. The VM crashes. This is not a new bug. The VM crashes also in:

Squeak 4.6, VM 3397 (Cog V3)
Squeak 4.5, VM 2776 (Cog V3)
Squeak 4.3, VM Squeak 4.1.1 (no Cog, Stack VM)

In Squeak 4.4 (VM 2776, Cog V3), I get a "SmallInteger DNU 137504030". No VM crash. :)
In Squeak 3.8 (InterpreterVM?), I get a "Where is the jump??" error raised in MethodContext(InstructionStream) >> #skipBackBeforeJump. No VM crash. :)

I will try and take a look at this early next week.  


Best,
Marcel
<object-as-method-bug.1.cs>