Build Update for OpenSmalltalk/opensmalltalk-vm -------------------------------------
Build: #1326 Status: Errored
Duration: 20 mins and 56 secs Commit: 2a64f48 (Cog) Author: Eliot Miranda Message: CogVM source as per VMMaker.oscog-eem.2381
General: ** new primitive to compare strings (slang + JIT) answers negative smi, 0 or positive smi (instead of 1, 2 or 3 in the MiscPlugin)
Spur: Fix compiler bug with Apple LLVM version 7.0.0 (clang-700.1.76) for 64-bit Spur segment loading where compiler bug eliminated second version check in segment load when at -Os. Fix is to never inline the 32-bit word byte reversal.
Fix sign extension in printOop: et al on 64-bit Spur.
FFI Plugin: Correct a 32bit-hardcoded pointer size in FFI
Correct two copy/paste typos in num32BitUnitsOf:
Nicolas Cellier: Note: I don't like the FFI code that I just corrected. IMO, it does the wrong thing.
if I have an argument spec is MyLib>>foo: aFoo <cdecl: void foo(Foo *)> where Foo is some ExternalStructure subclass (Foo class>>fields ^#((x 'ushort') (y 'ushort'))) and that I try to pass (MyLib new foo: Foo new), it seems to me that the Foo new getHandle will be (ByteArray new: 4). What I understand from the code that I just corrected is that we are trying to pass the contents of the ByteArray re-interpreted as a void pointer. Scary and wrong...
If I instead pass (MyLib new foo: Foo externalNew), it seems that we don't even bother to check if the (argSpec anyMask: FFIFlagPointer) and just force passing the structure by value (thru a memcpy on stack). Scary and wrong...
In general, every one use <cdecl: void foo(void *)> to work around this ill-behavior, and thus bypass type checks...
Also note that we can't even pass an ExternalData (think an Array of Foo), because ffiArgument:Spec:Class:in: insists on having actualArg class inheritsFrom: argType referentClass. ExternalData does not inherit from Foo, event if its type matches (ExternalType structTypeNamed: #Foo). That's crazy... Another reason while people use <cdecl: void foo(void *)>
It's high time to consider a rewrite IMO.
Git: Add scripts to list modified and untracked files.
View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/42c2af2d4838...2a6...
View the full build log and details: https://travis-ci.org/OpenSmalltalk/opensmalltalk-vm/builds/374223023?utm_so...
--
You can configure recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications
This email was sent to vm-dev@lists.squeakfoundation.org (mailto:vm-dev@lists.squeakfoundation.org) unsubscribe from this list (http://clicks.travis-ci.com/track/unsub.php?u=14313403&id=82653a6a0fa343...)
Hi All,
this is failing because of package dependencies on linux, not because of the commit.
On Wed, May 2, 2018 at 7:20 PM, Travis CI builds@travis-ci.org wrote:
OpenSmalltalk
/
opensmalltalk-vm
https://travis-ci.org/OpenSmalltalk/opensmalltalk-vm?utm_source=email&utm_medium=notification
[image: branch icon]Cog https://github.com/OpenSmalltalk/opensmalltalk-vm/tree/Cog [image: build has errored] Build #1326 has errored https://travis-ci.org/OpenSmalltalk/opensmalltalk-vm/builds/374223023?utm_source=email&utm_medium=notification [image: arrow to build time] [image: clock icon]20 mins and 56 secs
[image: Eliot Miranda avatar]Eliot Miranda 2a64f48 CHANGESET → https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/42c2af2d4838...2a64f480334f
CogVM source as per VMMaker.oscog-eem.2381
General: ** new primitive to compare strings (slang + JIT) answers negative smi, 0 or positive smi (instead of 1, 2 or 3 in the MiscPlugin)
Spur: Fix compiler bug with Apple LLVM version 7.0.0 (clang-700.1.76) for 64-bit Spur segment loading where compiler bug eliminated second version check in segment load when at -Os. Fix is to never inline the 32-bit word byte reversal.
Fix sign extension in printOop: et al on 64-bit Spur.
FFI Plugin: Correct a 32bit-hardcoded pointer size in FFI
Correct two copy/paste typos in num32BitUnitsOf:
Nicolas Cellier: Note: I don't like the FFI code that I just corrected. IMO, it does the wrong thing.
if I have an argument spec is MyLib>>foo: aFoo <cdecl: void foo(Foo *)> where Foo is some ExternalStructure subclass (Foo class>>fields ^#((x 'ushort') (y 'ushort'))) and that I try to pass (MyLib new foo: Foo new), it seems to me that the Foo new getHandle will be (ByteArray new: 4). What I understand from the code that I just corrected is that we are trying to pass the contents of the ByteArray re-interpreted as a void pointer. Scary and wrong...
If I instead pass (MyLib new foo: Foo externalNew), it seems that we don't even bother to check if the (argSpec anyMask: FFIFlagPointer) and just force passing the structure by value (thru a memcpy on stack). Scary and wrong...
In general, every one use <cdecl: void foo(void *)> to work around this ill-behavior, and thus bypass type checks...
Also note that we can't even pass an ExternalData (think an Array of Foo), because ffiArgument:Spec:Class:in: insists on having actualArg class inheritsFrom: argType referentClass. ExternalData does not inherit from Foo, event if its type matches (ExternalType structTypeNamed: #Foo). That's crazy... Another reason while people use <cdecl: void foo(void *)>
It's high time to consider a rewrite IMO.
Git: Add scripts to list modified and untracked files. [image: broadcast tower image] System Message [image: broadcast indicator]
Starting today you can test and deploy open source and private projects on travis-ci.com. For more details read our blog https://goo.gl/hzpbRQ.
Want to know about upcoming build environment updates?
Would you like to stay up-to-date with the upcoming Travis CI build environment updates? We set up a mailing list for you! SIGN UP HERE http://eepurl.com/9OCsP
[image: book icon]
Documentation https://docs.travis-ci.com/ about Travis CI Have any questions? We're here to help. support@travis-ci.com [image: black and white travis ci logo] https://travis-ci.com
Travis CI GmbH, Rigaer Str. 8, 10427 Berlin, Germany | GF: Konstantin Haase, Fritz Thielemann | Contact:contact@travis-ci.com | Amtsgericht Charlottenburg, Berlin, HRB 140133 B | Umsatzsteuer-ID gemäß §27 a Umsatzsteuergesetz: DE282002648
This email was sent to vm-dev@lists.squeakfoundation.org unsubscribe from this list http://clicks.travis-ci.com/track/unsub.php?u=14313403&id=82653a6a0fa34337b61c23a7c04cf815.bhaFHCS7PNgn8KLhhAIsZkVxKmM%3D&r=https%3A%2F%2Fmandrillapp.com%2Funsub%3Fmd_email%3Dvm-dev%2540lists.squeakfoundation.org
vm-dev@lists.squeakfoundation.org