New Cog VMs available...

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

New Cog VMs available...

Eliot Miranda-2
 
... at http://www.mirandabanda.org/files/Cog/VM/VM.r3427.

Squeak V5 users will want to upgrade their VMs because they, along with Smalltalk changes to follow soon, fix image segments.  But upgrading is not a trivial process because the VMs on my site are not complete.  The best way to update is to take a copy of the Squeak 5.0 all-in-one and replace the main VM executable there-in with one from my site.  This gets you up-to-date plugins and an up-to-date VM.  I hope that this process will get easier soon.


------------------------------------------------------------------------
CogVM binaries as per VMMaker.oscog-eem.1441/r3427

Modify Spur ImageSegment load to become the segmentWordArray into an Array of
the loaded objects if load is successful, hence decoupling ImageSegment from
the assumption that objects are allocated in order.

Fix Integer receiver, float arg comparison with NaNs in the machine-code
primitive.  This has started failing in the FloatTest>>testNaNCompare since the
new machine-code perform primitive invoked the machine-code version of the
primitive.  The Interpretewr code has always been correct and the old perform
primitive would always run the Interpreter primitive if it exsted, since this
would probably be faster.

Fix the bug introduced by the fix to primitive function invocation in
VMMaker.oscog-eem.1351  The fix correctly changed primitve code to set the
primitiveFunctionPointer appropriately when a jitted external primitive was
rebound, but it didn't remember to void the jit's record of the offset of the
assignment that sets the primitiveFunctionPointer when switching between
profiling andf non-profiling regimes, so that the address from the wrong regime
would remain and be used to smash prmitive code.  The fix is simply to void the
externalSetPrimOffsets in voidCogCompiledCode.  This fixes the bug whose
symptom is a hard VM crash when using AndreasSystemProfilier.

Integrate Marcel Taeumel & Tobias Pape's v2 SSL plugin changes.

Fix negative 64-bit shift in the 64-bit Spur Stack interpreter.

Newspeak:
Fix MNU for cogged self and outer sends.

Make the Newspeak VM packager include the V50 sources file instead of V41.

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

Re: New Cog VMs available...

Paul DeBruicker
Hi Eliot,

Using this new vm Squeak 5 32bit  runs fine on Ubuntu 12.04 64bit.  

I'm having an issue with running the SqueakSSL plugin.  The 32 bit libssl1.0.0:i386 packages installs /lib/i386-linux-gnu/libcrypto.so.1.0.0 and /lib/i386-linux-gnu/libssl.so.1.0.0.  The SqueakSSL plugin is looking for libcrypto.so.10 and libssl.so.10.  When I make a symbolic link named libcrypto.so.10 and libssl.so.10 the SqueakSSL plugin finds the library but fails with this error:

  /lib/i386-linux-gnu/libcrypto.so.10: version `libcrypto.so.10' not found (required by /home/deploy/spur-oneclick/Contents/LinuxAndWindows/Linux-i686/lib/squeak/5.0-3427/SqueakSSL)



What do you use to build the plugin?   Do you have any idea what I should try to fix this?  Sorry but my google-fu is failing me.



I'm limited to ubuntu 12.04 64bit because I'm ultimately trying to use it on Travis CI to test Metacello & Seaside.  


Thanks

Paul


Eliot Miranda-2 wrote
... at http://www.mirandabanda.org/files/Cog/VM/VM.r3427.

Squeak V5 users will want to upgrade their VMs because they, along with
Smalltalk changes to follow soon, fix image segments.  But upgrading is not
a trivial process because the VMs on my site are not complete.  The best
way to update is to take a copy of the Squeak 5.0 all-in-one and replace
the main VM executable there-in with one from my site.  This gets you
up-to-date plugins and an up-to-date VM.  I hope that this process will get
easier soon.


------------------------------------------------------------------------
CogVM binaries as per VMMaker.oscog-eem.1441/r3427

Modify Spur ImageSegment load to become the segmentWordArray into an Array
of
the loaded objects if load is successful, hence decoupling ImageSegment from
the assumption that objects are allocated in order.

Fix Integer receiver, float arg comparison with NaNs in the machine-code
primitive.  This has started failing in the FloatTest>>testNaNCompare since
the
new machine-code perform primitive invoked the machine-code version of the
primitive.  The Interpretewr code has always been correct and the old
perform
primitive would always run the Interpreter primitive if it exsted, since
this
would probably be faster.

Fix the bug introduced by the fix to primitive function invocation in
VMMaker.oscog-eem.1351  The fix correctly changed primitve code to set the
primitiveFunctionPointer appropriately when a jitted external primitive was
rebound, but it didn't remember to void the jit's record of the offset of
the
assignment that sets the primitiveFunctionPointer when switching between
profiling andf non-profiling regimes, so that the address from the wrong
regime
would remain and be used to smash prmitive code.  The fix is simply to void
the
externalSetPrimOffsets in voidCogCompiledCode.  This fixes the bug whose
symptom is a hard VM crash when using AndreasSystemProfilier.

Integrate Marcel Taeumel & Tobias Pape's v2 SSL plugin changes.

Fix negative 64-bit shift in the 64-bit Spur Stack interpreter.

Newspeak:
Fix MNU for cogged self and outer sends.

Make the Newspeak VM packager include the V50 sources file instead of V41.

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

Re: New Cog VMs available...

Tobias Pape

Hi Paul,

On 23.08.2015, at 19:57, Paul DeBruicker <[hidden email]> wrote:

> Hi Eliot,
>
> Using this new vm Squeak 5 32bit  runs fine on Ubuntu 12.04 64bit.  
>
> I'm having an issue with running the SqueakSSL plugin.  The 32 bit
> libssl1.0.0:i386 packages installs /lib/i386-linux-gnu/libcrypto.so.1.0.0
> and /lib/i386-linux-gnu/libssl.so.1.0.0.  The SqueakSSL plugin is looking
> for libcrypto.so.10 and libssl.so.10.  When I make a symbolic link named
> libcrypto.so.10 and libssl.so.10 the SqueakSSL plugin finds the library but
> fails with this error:
>
>  /lib/i386-linux-gnu/libcrypto.so.10: version `libcrypto.so.10' not found
> (required by
> /home/deploy/spur-oneclick/Contents/LinuxAndWindows/Linux-i686/lib/squeak/5.0-3427/SqueakSSL)
>
>
>
> What do you use to build the plugin?   Do you have any idea what I should
> try to fix this?  Sorry but my google-fu is failing me.
>
>
>
> I'm limited to ubuntu 12.04 64bit because I'm ultimately trying to use it on
> Travis CI to test Metacello & Seaside.  

builderCI[1] (which you can easily use to test using metacello/seaside!)
uses a statically compiled SqueakSSL plugin[2] that is also used in our
5.0 All in one[3]. You can find the binary plugin at github[4].

I presume the reason it is not in Eliot's bundle is that I haven't yet
figured out and told him how to do the “compile SqueakSSL statically
against LibreSSL” thing in his build setup. Mea culpa. Please be patient on
this one, I'm on vacation currently…

Best regards
        -Tobias


[1]: https://github.com/dalehenrich/builderCI
[2]: https://github.com/dalehenrich/builderCI/blob/master/oneclick/Contents/Linux/SqueakSSL
[3]: http://ftp.squeak.org/5.0/Squeak-5.0-All-in-One.zip
[4]: https://github.com/itsmeront/squeakssl/releases/tag/v0.2.0a

>
>
> Thanks
>
> Paul
>
>
>
> Eliot Miranda-2 wrote
>> ... at http://www.mirandabanda.org/files/Cog/VM/VM.r3427.
>>
>> Squeak V5 users will want to upgrade their VMs because they, along with
>> Smalltalk changes to follow soon, fix image segments.  But upgrading is
>> not
>> a trivial process because the VMs on my site are not complete.  The best
>> way to update is to take a copy of the Squeak 5.0 all-in-one and replace
>> the main VM executable there-in with one from my site.  This gets you
>> up-to-date plugins and an up-to-date VM.  I hope that this process will
>> get
>> easier soon.
>>
>>
>> ------------------------------------------------------------------------
>> CogVM binaries as per VMMaker.oscog-eem.1441/r3427
>>
>> Modify Spur ImageSegment load to become the segmentWordArray into an Array
>> of
>> the loaded objects if load is successful, hence decoupling ImageSegment
>> from
>> the assumption that objects are allocated in order.
>>
>> Fix Integer receiver, float arg comparison with NaNs in the machine-code
>> primitive.  This has started failing in the FloatTest>>testNaNCompare
>> since
>> the
>> new machine-code perform primitive invoked the machine-code version of the
>> primitive.  The Interpretewr code has always been correct and the old
>> perform
>> primitive would always run the Interpreter primitive if it exsted, since
>> this
>> would probably be faster.
>>
>> Fix the bug introduced by the fix to primitive function invocation in
>> VMMaker.oscog-eem.1351  The fix correctly changed primitve code to set the
>> primitiveFunctionPointer appropriately when a jitted external primitive
>> was
>> rebound, but it didn't remember to void the jit's record of the offset of
>> the
>> assignment that sets the primitiveFunctionPointer when switching between
>> profiling andf non-profiling regimes, so that the address from the wrong
>> regime
>> would remain and be used to smash prmitive code.  The fix is simply to
>> void
>> the
>> externalSetPrimOffsets in voidCogCompiledCode.  This fixes the bug whose
>> symptom is a hard VM crash when using AndreasSystemProfilier.
>>
>> Integrate Marcel Taeumel & Tobias Pape's v2 SSL plugin changes.
>>
>> Fix negative 64-bit shift in the 64-bit Spur Stack interpreter.
>>
>> Newspeak:
>> Fix MNU for cogged self and outer sends.
>>
>> Make the Newspeak VM packager include the V50 sources file instead of V41.
>>
>> _,,,^..^,,,_
>> best, Eliot



Reply | Threaded
Open this post in threaded view
|

Re: New Cog VMs available...

Paul DeBruicker
Hi Tobias,

The reason this issue has come up is because I'm sitting with Dale attempting to fix builderCI to work with Squeak 5 so we can follow Dale's desired 'fixing metacello for Squeak 5' path and have travis test it.  See here for the travisci result from the work to get builderci running with Squeak 5 thus far:

https://travis-ci.org/dalehenrich/builderCI/builds/76873661



Let me know when you're back from vacation and we can look at this in more depth.   Hope you have a relaxing time.  



Paul


Tobias Pape wrote
Hi Paul,

On 23.08.2015, at 19:57, Paul DeBruicker <[hidden email]> wrote:

> Hi Eliot,
>
> Using this new vm Squeak 5 32bit  runs fine on Ubuntu 12.04 64bit.  
>
> I'm having an issue with running the SqueakSSL plugin.  The 32 bit
> libssl1.0.0:i386 packages installs /lib/i386-linux-gnu/libcrypto.so.1.0.0
> and /lib/i386-linux-gnu/libssl.so.1.0.0.  The SqueakSSL plugin is looking
> for libcrypto.so.10 and libssl.so.10.  When I make a symbolic link named
> libcrypto.so.10 and libssl.so.10 the SqueakSSL plugin finds the library but
> fails with this error:
>
>  /lib/i386-linux-gnu/libcrypto.so.10: version `libcrypto.so.10' not found
> (required by
> /home/deploy/spur-oneclick/Contents/LinuxAndWindows/Linux-i686/lib/squeak/5.0-3427/SqueakSSL)
>
>
>
> What do you use to build the plugin?   Do you have any idea what I should
> try to fix this?  Sorry but my google-fu is failing me.
>
>
>
> I'm limited to ubuntu 12.04 64bit because I'm ultimately trying to use it on
> Travis CI to test Metacello & Seaside.  

builderCI[1] (which you can easily use to test using metacello/seaside!)
uses a statically compiled SqueakSSL plugin[2] that is also used in our
5.0 All in one[3]. You can find the binary plugin at github[4].

I presume the reason it is not in Eliot's bundle is that I haven't yet
figured out and told him how to do the “compile SqueakSSL statically
against LibreSSL” thing in his build setup. Mea culpa. Please be patient on
this one, I'm on vacation currently…

Best regards
        -Tobias


[1]: https://github.com/dalehenrich/builderCI
[2]: https://github.com/dalehenrich/builderCI/blob/master/oneclick/Contents/Linux/SqueakSSL
[3]: http://ftp.squeak.org/5.0/Squeak-5.0-All-in-One.zip
[4]: https://github.com/itsmeront/squeakssl/releases/tag/v0.2.0a

>
>
> Thanks
>
> Paul
>
>
>
> Eliot Miranda-2 wrote
>> ... at http://www.mirandabanda.org/files/Cog/VM/VM.r3427.
>>
>> Squeak V5 users will want to upgrade their VMs because they, along with
>> Smalltalk changes to follow soon, fix image segments.  But upgrading is
>> not
>> a trivial process because the VMs on my site are not complete.  The best
>> way to update is to take a copy of the Squeak 5.0 all-in-one and replace
>> the main VM executable there-in with one from my site.  This gets you
>> up-to-date plugins and an up-to-date VM.  I hope that this process will
>> get
>> easier soon.
>>
>>
>> ------------------------------------------------------------------------
>> CogVM binaries as per VMMaker.oscog-eem.1441/r3427
>>
>> Modify Spur ImageSegment load to become the segmentWordArray into an Array
>> of
>> the loaded objects if load is successful, hence decoupling ImageSegment
>> from
>> the assumption that objects are allocated in order.
>>
>> Fix Integer receiver, float arg comparison with NaNs in the machine-code
>> primitive.  This has started failing in the FloatTest>>testNaNCompare
>> since
>> the
>> new machine-code perform primitive invoked the machine-code version of the
>> primitive.  The Interpretewr code has always been correct and the old
>> perform
>> primitive would always run the Interpreter primitive if it exsted, since
>> this
>> would probably be faster.
>>
>> Fix the bug introduced by the fix to primitive function invocation in
>> VMMaker.oscog-eem.1351  The fix correctly changed primitve code to set the
>> primitiveFunctionPointer appropriately when a jitted external primitive
>> was
>> rebound, but it didn't remember to void the jit's record of the offset of
>> the
>> assignment that sets the primitiveFunctionPointer when switching between
>> profiling andf non-profiling regimes, so that the address from the wrong
>> regime
>> would remain and be used to smash prmitive code.  The fix is simply to
>> void
>> the
>> externalSetPrimOffsets in voidCogCompiledCode.  This fixes the bug whose
>> symptom is a hard VM crash when using AndreasSystemProfilier.
>>
>> Integrate Marcel Taeumel & Tobias Pape's v2 SSL plugin changes.
>>
>> Fix negative 64-bit shift in the 64-bit Spur Stack interpreter.
>>
>> Newspeak:
>> Fix MNU for cogged self and outer sends.
>>
>> Make the Newspeak VM packager include the V50 sources file instead of V41.
>>
>> _,,,^..^,,,_
>> best, Eliot
Reply | Threaded
Open this post in threaded view
|

Re: New Cog VMs available...

Paul DeBruicker
In reply to this post by Tobias Pape
Thanks Tobias.   Copying the statically compiled SqueakSSL into the Spur vm plugin directory fixed the issue I was having with getting builderCI working on Squeak 5.0.


Tobias Pape wrote
Hi Paul,

On 23.08.2015, at 19:57, Paul DeBruicker <[hidden email]> wrote:

> Hi Eliot,
>
> Using this new vm Squeak 5 32bit  runs fine on Ubuntu 12.04 64bit.  
>
> I'm having an issue with running the SqueakSSL plugin.  The 32 bit
> libssl1.0.0:i386 packages installs /lib/i386-linux-gnu/libcrypto.so.1.0.0
> and /lib/i386-linux-gnu/libssl.so.1.0.0.  The SqueakSSL plugin is looking
> for libcrypto.so.10 and libssl.so.10.  When I make a symbolic link named
> libcrypto.so.10 and libssl.so.10 the SqueakSSL plugin finds the library but
> fails with this error:
>
>  /lib/i386-linux-gnu/libcrypto.so.10: version `libcrypto.so.10' not found
> (required by
> /home/deploy/spur-oneclick/Contents/LinuxAndWindows/Linux-i686/lib/squeak/5.0-3427/SqueakSSL)
>
>
>
> What do you use to build the plugin?   Do you have any idea what I should
> try to fix this?  Sorry but my google-fu is failing me.
>
>
>
> I'm limited to ubuntu 12.04 64bit because I'm ultimately trying to use it on
> Travis CI to test Metacello & Seaside.  

builderCI[1] (which you can easily use to test using metacello/seaside!)
uses a statically compiled SqueakSSL plugin[2] that is also used in our
5.0 All in one[3]. You can find the binary plugin at github[4].

I presume the reason it is not in Eliot's bundle is that I haven't yet
figured out and told him how to do the “compile SqueakSSL statically
against LibreSSL” thing in his build setup. Mea culpa. Please be patient on
this one, I'm on vacation currently…

Best regards
        -Tobias


[1]: https://github.com/dalehenrich/builderCI
[2]: https://github.com/dalehenrich/builderCI/blob/master/oneclick/Contents/Linux/SqueakSSL
[3]: http://ftp.squeak.org/5.0/Squeak-5.0-All-in-One.zip
[4]: https://github.com/itsmeront/squeakssl/releases/tag/v0.2.0a

>
>
> Thanks
>
> Paul
>
>
>
> Eliot Miranda-2 wrote
>> ... at http://www.mirandabanda.org/files/Cog/VM/VM.r3427.
>>
>> Squeak V5 users will want to upgrade their VMs because they, along with
>> Smalltalk changes to follow soon, fix image segments.  But upgrading is
>> not
>> a trivial process because the VMs on my site are not complete.  The best
>> way to update is to take a copy of the Squeak 5.0 all-in-one and replace
>> the main VM executable there-in with one from my site.  This gets you
>> up-to-date plugins and an up-to-date VM.  I hope that this process will
>> get
>> easier soon.
>>
>>
>> ------------------------------------------------------------------------
>> CogVM binaries as per VMMaker.oscog-eem.1441/r3427
>>
>> Modify Spur ImageSegment load to become the segmentWordArray into an Array
>> of
>> the loaded objects if load is successful, hence decoupling ImageSegment
>> from
>> the assumption that objects are allocated in order.
>>
>> Fix Integer receiver, float arg comparison with NaNs in the machine-code
>> primitive.  This has started failing in the FloatTest>>testNaNCompare
>> since
>> the
>> new machine-code perform primitive invoked the machine-code version of the
>> primitive.  The Interpretewr code has always been correct and the old
>> perform
>> primitive would always run the Interpreter primitive if it exsted, since
>> this
>> would probably be faster.
>>
>> Fix the bug introduced by the fix to primitive function invocation in
>> VMMaker.oscog-eem.1351  The fix correctly changed primitve code to set the
>> primitiveFunctionPointer appropriately when a jitted external primitive
>> was
>> rebound, but it didn't remember to void the jit's record of the offset of
>> the
>> assignment that sets the primitiveFunctionPointer when switching between
>> profiling andf non-profiling regimes, so that the address from the wrong
>> regime
>> would remain and be used to smash prmitive code.  The fix is simply to
>> void
>> the
>> externalSetPrimOffsets in voidCogCompiledCode.  This fixes the bug whose
>> symptom is a hard VM crash when using AndreasSystemProfilier.
>>
>> Integrate Marcel Taeumel & Tobias Pape's v2 SSL plugin changes.
>>
>> Fix negative 64-bit shift in the 64-bit Spur Stack interpreter.
>>
>> Newspeak:
>> Fix MNU for cogged self and outer sends.
>>
>> Make the Newspeak VM packager include the V50 sources file instead of V41.
>>
>> _,,,^..^,,,_
>> best, Eliot
Reply | Threaded
Open this post in threaded view
|

Re: New Cog VMs available...

J. Vuletich (mail lists)
In reply to this post by Eliot Miranda-2
 
Thanks Eliot!

It works great, and indeed it fixes the issue with  
AndreasSystemProfiler I had reported.

Cheers,
Juan Vuletich

Quoting Eliot Miranda <[hidden email]>:

>



Reply | Threaded
Open this post in threaded view
|

Re: [Cuis] New Cog VMs available...

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

I am running Cuis on an ARM Chromebook using a superannuated cog stack-vm.

Cuis has not yet migrated to Spur.

Any chance of adding stklinuxARM to the build?

Thanks a bunch,
-KenD
-KenD