Re: Cog JIT crashing

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

Re: Cog JIT crashing

Igor Stasenko
 
resending, because original attached .png was too big

On 30 June 2011 19:31, Igor Stasenko <[hidden email]> wrote:

> Hello,
>
> with latest updates, a Cog VMs simply crashing quickly after image startup.
>
> I strongly suspect that the bug in jit, because stack VMs built using
> same VMMaker sources are working well.
> You can check the:
> https://pharo-ic.lille.inria.fr/hudson/view/Cog/job/Cog%20Mac%20Carbon/
> vs
> https://pharo-ic.lille.inria.fr/hudson/view/Cog/job/StackVM%20Mac%20Carbon/
>
>
> of course, first thing which i suspected is that my merge was bad, so
> i also tried to build VM using VMMaker.oscog-eem.88
> but it also crashing with same symptoms and always in same place (in
> ceSendsupertonumArgs() , with rcvr argument containing non-oop (-36 ,
> sometimes 0, sometime -24) )
>
> See the screenshot in attachment.
>
> I also checked win32 Cog build.. same result: immediate crash after
> selecting an image to open.
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>


--
Best regards,
Igor Stasenko AKA sig.

Screen shot 2011-06-30 at 7.28.48 AM.jpg (260K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Cog JIT crashing

Eliot Miranda-2
 
Hi Igor,

    the problem is some bug in the Slang inliner that causes bad code to be generated (if inlining is done in the Cogit).  Previously inlining for the Cogit was disabled (Cogit class>>doInlining).  But with the Newspeak changes I needed inlining to be applied selectively so that offsetAndSendTableFor:annotation:into: would be inlined (it uses a block idiom to return multiple values and so must be inlined to be easily converted to C).  So I changed the Cogit's inlining policy to #asSpecified and that introduced the regression; where I don't know.  If I hack it so that *only* offsetAndSendTableFor:annotation:into: gets inlined then I can successfully run the TestRunner in a trunk Squeak 4.2 image, and if I don't it soon dies horribly.  It'll take some time to track down the inlining bug.  If you're interested in looking for it then great.  If not, the attached hack will get you going.

On Thu, Jun 30, 2011 at 10:44 AM, Igor Stasenko <[hidden email]> wrote:
 
resending, because original attached .png was too big

On 30 June 2011 19:31, Igor Stasenko <[hidden email]> wrote:
> Hello,
>
> with latest updates, a Cog VMs simply crashing quickly after image startup.
>
> I strongly suspect that the bug in jit, because stack VMs built using
> same VMMaker sources are working well.
> You can check the:
> https://pharo-ic.lille.inria.fr/hudson/view/Cog/job/Cog%20Mac%20Carbon/
> vs
> https://pharo-ic.lille.inria.fr/hudson/view/Cog/job/StackVM%20Mac%20Carbon/
>
>
> of course, first thing which i suspected is that my merge was bad, so
> i also tried to build VM using VMMaker.oscog-eem.88
> but it also crashing with same symptoms and always in same place (in
> ceSendsupertonumArgs() , with rcvr argument containing non-oop (-36 ,
> sometimes 0, sometime -24) )
>
> See the screenshot in attachment.
>
> I also checked win32 Cog build.. same result: immediate crash after
> selecting an image to open.
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>



--
Best regards,
Igor Stasenko AKA sig.




--
best,
Eliot


Cogit class-preGenerationHook.st (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Cog JIT crashing

Igor Stasenko

On 30 June 2011 21:24, Eliot Miranda <[hidden email]> wrote:

> Hi Igor,
>     the problem is some bug in the Slang inliner that causes bad code to be
> generated (if inlining is done in the Cogit).  Previously inlining for the
> Cogit was disabled (Cogit class>>doInlining).  But with the Newspeak changes
> I needed inlining to be applied selectively so
> that offsetAndSendTableFor:annotation:into: would be inlined (it uses a
> block idiom to return multiple values and so must be inlined to be easily
> converted to C).  So I changed the Cogit's inlining policy to #asSpecified
> and that introduced the regression; where I don't know.  If I hack it so
> that *only* offsetAndSendTableFor:annotation:into: gets inlined then I can
> successfully run the TestRunner in a trunk Squeak 4.2 image, and if I don't
> it soon dies horribly.  It'll take some time to track down the inlining bug.
>  If you're interested in looking for it then great.  If not, the attached
> hack will get you going.
>

Yes, i think i will proceed with this hack, because i want to check
that there are no other problems.
As you can see, a recent update uncovered quite a number of
bugs/regressions. Most of them are discovered by mr. Hudson, so we
should say thank to him :)
I want to have Hudson building stable VMs, so we could run a tests for
them , and of coure i want people to try them out.

Apart of it, there's many other things to fix (Freetype plugin,
osprocess plugin , windows stack vm etc).
Cocoa VMs also are broken now and need to be fixed.
So i cannot afford right now burying into code generator :(

--
Best regards,
Igor Stasenko AKA sig.
Reply | Threaded
Open this post in threaded view
|

Re: Cog JIT crashing

Igor Stasenko

Looks like your latest update cured the issue.
Cog VMs are not crashing at image startup anymore.

On 30 June 2011 21:00, Igor Stasenko <[hidden email]> wrote:

> On 30 June 2011 21:24, Eliot Miranda <[hidden email]> wrote:
>> Hi Igor,
>>     the problem is some bug in the Slang inliner that causes bad code to be
>> generated (if inlining is done in the Cogit).  Previously inlining for the
>> Cogit was disabled (Cogit class>>doInlining).  But with the Newspeak changes
>> I needed inlining to be applied selectively so
>> that offsetAndSendTableFor:annotation:into: would be inlined (it uses a
>> block idiom to return multiple values and so must be inlined to be easily
>> converted to C).  So I changed the Cogit's inlining policy to #asSpecified
>> and that introduced the regression; where I don't know.  If I hack it so
>> that *only* offsetAndSendTableFor:annotation:into: gets inlined then I can
>> successfully run the TestRunner in a trunk Squeak 4.2 image, and if I don't
>> it soon dies horribly.  It'll take some time to track down the inlining bug.
>>  If you're interested in looking for it then great.  If not, the attached
>> hack will get you going.
>>
>
> Yes, i think i will proceed with this hack, because i want to check
> that there are no other problems.
> As you can see, a recent update uncovered quite a number of
> bugs/regressions. Most of them are discovered by mr. Hudson, so we
> should say thank to him :)
> I want to have Hudson building stable VMs, so we could run a tests for
> them , and of coure i want people to try them out.
>
> Apart of it, there's many other things to fix (Freetype plugin,
> osprocess plugin , windows stack vm etc).
> Cocoa VMs also are broken now and need to be fixed.
> So i cannot afford right now burying into code generator :(
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>



--
Best regards,
Igor Stasenko AKA sig.