OSCog updated

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

OSCog updated

Eliot Miranda-2
 
Hi All,

     I've updated http://ftp.squeak.org/Cog with new source, OpenSourceCog-oscog.16.tar.gz/VMMaker-oscog.16.mcz that fixes the three issues people have found:

Nicholas' crash on loading SUnit.dtl.?? which was a very nasty bug in the GC'ing of some trace logs the VM maintains.  It was down to a difference between Smalltalk's \\ and C's %, specifically that the latter can answer something of different sign to the modulus.

The failure of GeneratorTest, superficially due to cannotReturn: crashes, but fundamentally to do with inter-page returns to frames within the page not preserving the frames above, which can be in use due to co-routining (swapSender: usage).  I hope this will fix Seaside on Cog.  Please let me know.

Crashes due to temps occurring in very simple blocks (that Cog compiles frameless) e.g. [ | b | 5 ] value.

HTH
Eliot
Reply | Threaded
Open this post in threaded view
|

COG, Trunk, and squeak.org

Squeak List

First, MANY thanks to everyone for bringing Cog to Squeak :)
 
yet, i go to:
"og, a Squeak JIT VM with 2x-10x Speedup Released
Eliot Miranda announced that Teleplace released under a MIT license his work on a long awaited and anticipated new JIT virtual engine for Squeak and friends called Cog, with 2x-10x improvement in performance.  It is available on our ftp site."
 
and find no way to get Cog working at all with Trunk... it seems like update options were released some time ago for 4.1, when folks were having similar problems - but i cannot get cog to accept any update preferences...
 
what happened to the COMPLETELY PRE-BUILT releases????
 
i think this is what confuses/infuriates some folks: expectation is to click a link and download the COMPLETE latest and greatest: here you have cog and functioning options INCLUDED in what you download from squeak.org, that allow you to choose from whatever update stream you choose... at least Trunk...
 
windows vista 32 bit here.
 
i cannot find how to make cog update from TRUNK: the BUTTONS do not work in the preferences... and i am amazed that i should have to look ANYWHERE beyond SQUEAK.ORG to waste time... the program works (except the updating via TRUNK) - did i miss the message that explains how to fix this (possibly/probably) - and if/since i did miss that clearly spelled out message, why on earth is it not spelled out clearly on squeak.org??? or did i miss it there also?
 
otherwise, it all is very interesting :)
 
and it seems that is working very well (cog) for some folks.
 
i would just like to ask someone to CLEARLY EXPLAIN how to get the new Cog system working in Windows: so that i can use Trunk updates.
 
sorry, but it just seems like when i download the Cog from squeak.org, it should not have problems connecting to Trunk... and that updating from Trunk should be a built in option in preferences... to me at least... something that you could turn off if you were not interested....
 
thanx all,
 
ken




Reply | Threaded
Open this post in threaded view
|

Re: COG, Trunk, and squeak.org

Bert Freudenberg
 
On 25.06.2010, at 10:29, Squeak List wrote:

> what happened to the COMPLETELY PRE-BUILT releases????

Wrong list.

- Bert -


Reply | Threaded
Open this post in threaded view
|

Re: COG, Trunk, and squeak.org

Michael Haupt-3
In reply to this post by Squeak List

Hi,

I'm sending this response to squeak-dev as well, as that is the more
appropriate place ...

Cog works well with trunk images; you need to have the latest updates
in there, though. If I understand your message correctly, you seem to
be unable to update to the latest trunk, right? Have you set the
update site to http://source.squeak.org/trunk in the preferences
(under Monticello)?

Once all the updates are in, Cog starts up my trunk image, and I'm
enjoying the speedup. :-)

Pre-built releases take time to prepare, and please bear in mind that
Cog was released just some few days ago. Also, Cog does have its
glitches (I experience some difficulties with bytecode simulation, but
also with stepping in the debugger - report upcoming) and is probably
not 100 % stable for all purposes that the non-Cog VMs were well
suited for.

To summarise, while Cog is the "latest and greatest", as you put it,
it should be considered beta. The stable Squeak release is 4.1 plus
the latest VM, and in my actually not so humble opinion it is
completely sufficient to provide pre-built releases for *that*.

Perhaps I misunderstood you here and there: apologies for that, then.

Best,

Michael

On Fri, Jun 25, 2010 at 10:29 AM, Squeak List <[hidden email]> wrote:

>
> First, MANY thanks to everyone for bringing Cog to Squeak :)
>
> yet, i go to:
> "og, a Squeak JIT VM with 2x-10x Speedup Released
> Eliot Miranda announced that Teleplace released under a MIT license his work on a long awaited and anticipated new JIT virtual engine for Squeak and friends called Cog, with 2x-10x improvement in performance.  It is available on our ftp site."
>
> and find no way to get Cog working at all with Trunk... it seems like update options were released some time ago for 4.1, when folks were having similar problems - but i cannot get cog to accept any update preferences...
>
> what happened to the COMPLETELY PRE-BUILT releases????
>
> i think this is what confuses/infuriates some folks: expectation is to click a link and download the COMPLETE latest and greatest: here you have cog and functioning options INCLUDED in what you download from squeak.org, that allow you to choose from whatever update stream you choose... at least Trunk...
>
> windows vista 32 bit here.
>
> i cannot find how to make cog update from TRUNK: the BUTTONS do not work in the preferences... and i am amazed that i should have to look ANYWHERE beyond SQUEAK.ORG to waste time... the program works (except the updating via TRUNK) - did i miss the message that explains how to fix this (possibly/probably) - and if/since i did miss that clearly spelled out message, why on earth is it not spelled out clearly on squeak.org??? or did i miss it there also?
>
> otherwise, it all is very interesting :)
>
> and it seems that is working very well (cog) for some folks.
>
> i would just like to ask someone to CLEARLY EXPLAIN how to get the new Cog system working in Windows: so that i can use Trunk updates.
>
> sorry, but it just seems like when i download the Cog from squeak.org, it should not have problems connecting to Trunk... and that updating from Trunk should be a built in option in preferences... to me at least... something that you could turn off if you were not interested....
>
> thanx all,
>
> ken
>
>
>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: COG, Trunk, and squeak.org

Squeak List

Michael,

reminded again again of what no-one ever explained when this happened before when i mentioned it: found a 4.1 image that actually allowed me to update to 10248: but there is an empty rectangle left on the screen after updating.... which is easy to dispose of, but no-one ever said why it appears: a curiosity...

getting late here - will check cog with this updated image later :)

thanks,

ken



----- Original Message ----
From: Michael Haupt <[hidden email]>
To: Squeak Virtual Machine Development Discussion <[hidden email]>; The general-purpose Squeak developers list <[hidden email]>
Sent: Fri, June 25, 2010 2:54:05 AM
Subject: Re: [Vm-dev] COG, Trunk, and squeak.org


Hi,

I'm sending this response to squeak-dev as well, as that is the more
appropriate place ...

Cog works well with trunk images; you need to have the latest updates
in there, though. If I understand your message correctly, you seem to
be unable to update to the latest trunk, right? Have you set the
update site to http://source.squeak.org/trunk in the preferences
(under Monticello)?

Once all the updates are in, Cog starts up my trunk image, and I'm
enjoying the speedup. :-)

Pre-built releases take time to prepare, and please bear in mind that
Cog was released just some few days ago. Also, Cog does have its
glitches (I experience some difficulties with bytecode simulation, but
also with stepping in the debugger - report upcoming) and is probably
not 100 % stable for all purposes that the non-Cog VMs were well
suited for.

To summarise, while Cog is the "latest and greatest", as you put it,
it should be considered beta. The stable Squeak release is 4.1 plus
the latest VM, and in my actually not so humble opinion it is
completely sufficient to provide pre-built releases for *that*.

Perhaps I misunderstood you here and there: apologies for that, then.

Best,

Michael

On Fri, Jun 25, 2010 at 10:29 AM, Squeak List <[hidden email]> wrote:

>
> First, MANY thanks to everyone for bringing Cog to Squeak :)
>
> yet, i go to:
> "og, a Squeak JIT VM with 2x-10x Speedup Released
> Eliot Miranda announced that Teleplace released under a MIT license his work on a long awaited and anticipated new JIT virtual engine for Squeak and friends called Cog, with 2x-10x improvement in performance.  It is available on our ftp site."
>
> and find no way to get Cog working at all with Trunk... it seems like update options were released some time ago for 4.1, when folks were having similar problems - but i cannot get cog to accept any update preferences...
>
> what happened to the COMPLETELY PRE-BUILT releases????
>
> i think this is what confuses/infuriates some folks: expectation is to click a link and download the COMPLETE latest and greatest: here you have cog and functioning options INCLUDED in what you download from squeak.org, that allow you to choose from whatever update stream you choose... at least Trunk...
>
> windows vista 32 bit here.
>
> i cannot find how to make cog update from TRUNK: the BUTTONS do not work in the preferences... and i am amazed that i should have to look ANYWHERE beyond SQUEAK.ORG to waste time... the program works (except the updating via TRUNK) - did i miss the message that explains how to fix this (possibly/probably) - and if/since i did miss that clearly spelled out message, why on earth is it not spelled out clearly on squeak.org??? or did i miss it there also?
>
> otherwise, it all is very interesting :)
>
> and it seems that is working very well (cog) for some folks.
>
> i would just like to ask someone to CLEARLY EXPLAIN how to get the new Cog system working in Windows: so that i can use Trunk updates.
>
> sorry, but it just seems like when i download the Cog from squeak.org, it should not have problems connecting to Trunk... and that updating from Trunk should be a built in option in preferences... to me at least... something that you could turn off if you were not interested....
>
> thanx all,
>
> ken
>
>
>
>
>





Reply | Threaded
Open this post in threaded view
|

Re: COG, Trunk, and squeak.org

Frank Shearar
In reply to this post by Squeak List
 
On 2010/06/25 10:29, Squeak List wrote:

>
> First, MANY thanks to everyone for bringing Cog to Squeak :)
>
> yet, i go to:
> "og, a Squeak JIT VM with 2x-10x Speedup Released
> Eliot Miranda announced that Teleplace released under a MIT license his work on a long awaited and anticipated new JIT virtual engine for Squeak and friends called Cog, with 2x-10x improvement in performance.  It is available on our ftp site."
>
> and find no way to get Cog working at all with Trunk... it seems like update options were released some time ago for 4.1, when folks were having similar problems - but i cannot get cog to accept any update preferences...
>
> what happened to the COMPLETELY PRE-BUILT releases????
>
> i think this is what confuses/infuriates some folks: expectation is to click a link and download the COMPLETE latest and greatest: here you have cog and functioning options INCLUDED in what you download from squeak.org, that allow you to choose from whatever update stream you choose... at least Trunk...
>
> windows vista 32 bit here.
>
> i cannot find how to make cog update from TRUNK: the BUTTONS do not work in the preferences... and i am amazed that i should have to look ANYWHERE beyond SQUEAK.ORG to waste time... the program works (except the updating via TRUNK) - did i miss the message that explains how to fix this (possibly/probably) - and if/since i did miss that clearly spelled out message, why on earth is it not spelled out clearly on squeak.org??? or did i miss it there also?
>
> otherwise, it all is very interesting :)
>
> and it seems that is working very well (cog) for some folks.
>
> i would just like to ask someone to CLEARLY EXPLAIN how to get the new Cog system working in Windows: so that i can use Trunk updates.
>
> sorry, but it just seems like when i download the Cog from squeak.org, it should not have problems connecting to Trunk... and that updating from Trunk should be a built in option in preferences... to me at least... something that you could turn off if you were not interested....

Eliot did say that while Cog worked nicely at Teleplace there might be
all sorts of breakages when Cog had images "from the wild" thrown at it.
This is entirely normal: you write something, it works for you, and
other people (who don't work with your set of assumptions) find all
manner of things wrong with it.

It's in beta, so I for one don't expect a seamless install procedure.

frank
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] OSCog updated

Lukas Renggli
In reply to this post by Eliot Miranda-2
 
Hi Eliot,

> (swapSender: usage).  I hope this will fix Seaside on Cog.  Please let me
> know.

Thank you for the update, unfortunately the update does not seem to
fix the problem with Seaside.

I've ripped out the failing functionality and the associated tests.
You should be able to load Seaside-Pharo-Continuation and
Seaside-Tests-Pharo-Continuation into any recent Pharo or Squeak image
to reproduce the problem. On traditional VMs all 16 tests pass.

Lukas

--
Lukas Renggli
www.lukas-renggli.ch

Seaside-Pharo-Continuation.st (9K) Download Attachment
Seaside-Tests-Pharo-Continuation.st (8K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] OSCog updated

Eliot Miranda-2
 
Hi Lukas,


best
Eliot

On Fri, Jun 25, 2010 at 6:11 AM, Lukas Renggli <[hidden email]> wrote:
 
Hi Eliot,

> (swapSender: usage).  I hope this will fix Seaside on Cog.  Please let me
> know.

Thank you for the update, unfortunately the update does not seem to
fix the problem with Seaside.

I've ripped out the failing functionality and the associated tests.
You should be able to load Seaside-Pharo-Continuation and
Seaside-Tests-Pharo-Continuation into any recent Pharo or Squeak image
to reproduce the problem. On traditional VMs all 16 tests pass.

Lukas

--
Lukas Renggli
www.lukas-renggli.ch


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] OSCog updated

Lukas Renggli
 
Hi Eliot,

Thank you for the quick fix. I can confirm that all 1600 Seaside 3.0
tests run green now.

However I stil get random crashes when using Seaside through the
webbrowser. Sometimes it survives 30 requests, sometimes it crashes
right after the first request. In the console I get:

  nanosleep: Invalid argument
  Exited with exit code: 1

How can I further debug this? I cannot reproduce it with the tests. It
only happens (randomly) when using Seaside through the webbrowser.

Lukas

On Sunday, June 27, 2010, Eliot Miranda <[hidden email]> wrote:
>

--
Lukas Renggli
www.lukas-renggli.ch
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] OSCog updated

Andrey Larionov

Maybe this is network related issue?

On Sun, Jun 27, 2010 at 09:48, Lukas Renggli <[hidden email]> wrote:
> Sometimes it survives 30 requests, sometimes it crashes
> right after the first request. In the console I get:
>
>  nanosleep: Invalid argument
>  Exited with exit code: 1
>
> How can I further debug this? I cannot reproduce it with the tests. It
> only happens (randomly) when using Seaside through the webbrowser.
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] OSCog updated

Eliot Miranda-2
In reply to this post by Lukas Renggli
 
Hi Lukas,

On Sat, Jun 26, 2010 at 10:48 PM, Lukas Renggli <[hidden email]> wrote:

Hi Eliot,

Thank you for the quick fix. I can confirm that all 1600 Seaside 3.0
tests run green now.

However I stil get random crashes when using Seaside through the
webbrowser. Sometimes it survives 30 requests, sometimes it crashes
right after the first request. In the console I get:

 nanosleep: Invalid argument
 Exited with exit code: 1

I suspect this will be the nanosleep in the heartbeat (there are perror("nanosleep")'s in platforms/unix/vm/sqUnixHeartbeat.c and in platforms/unix/vm-display/sqUnixXdnd.c.  First step is to add a line number to perror, e.g.

    perror("nanosleep" " " __stringifyNum(__LINE__))

(__stringifyNum is in platforms/Cross/vm/sqAssert.h)

Then drill down further.  The above is very interesting.  I also see this occasionally but only on linux.  Any and all unix experts please feel free to look over my code in platforms/unix/vm/sqUnixHeartbeat.c and see if I've done anything stupid.

How can I further debug this? I cannot reproduce it with the tests. It
only happens (randomly) when using Seaside through the webbrowser.

Lukas

On Sunday, June 27, 2010, Eliot Miranda <[hidden email]> wrote:
>

--
Lukas Renggli
www.lukas-renggli.ch

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] OSCog updated

David T. Lewis
 
On Sun, Jun 27, 2010 at 06:05:48AM -0700, Eliot Miranda wrote:

>  
> On Sat, Jun 26, 2010 at 10:48 PM, Lukas Renggli <[hidden email]> wrote:
> >
> > How can I further debug this? I cannot reproduce it with the tests. It
> > only happens (randomly) when using Seaside through the webbrowser.
> >
> I suspect this will be the nanosleep in the heartbeat (there are
> perror("nanosleep")'s in platforms/unix/vm/sqUnixHeartbeat.c and in
> platforms/unix/vm-display/sqUnixXdnd.c.  First step is to add a line number
> to perror, e.g.
>
>     perror("nanosleep" " " __stringifyNum(__LINE__))
>
> (__stringifyNum is in platforms/Cross/vm/sqAssert.h)
>
> Then drill down further.  The above is very interesting.  I also see this
> occasionally but only on linux.  Any and all unix experts please feel free
> to look over my code in platforms/unix/vm/sqUnixHeartbeat.c and see if I've
> done anything stupid.

Second step: Compile with gcc optimization turned off completely and see
if the problem goes away.

I don't see anything obviously wrong, but the problem is likely related
to the mix of pthreads and signal scheduling. Is tickCheckInProgress
really thread safe after gcc is done optimizing it?

Note to self: The #forkSqueak mechanism in OSProcess turns off timer
signals before the fork and reenables them afterwards in both parent
and child. This presumably will need to be done differently for Cog.

Dave