Hello list, We are approaching to release and one big thing of this one is the 64bits supports for Pharo (limited, since there is still not support for Windows, but it will arrive, eventually ;) ) I asked you to test a couple of months ago but now we are in better shape to do it. - VM and image are getting more and more stable and crashes shouldnât happen (but thatâs why I want you to test: to discover possible bugs/crashes) - I made 64bits a zeroconf citizen: http://get.pharo.org/64 Now, you can test it by just doing: curl get.pharo.org/64/60+vmLatest | bash (In linux or mac, remember it will not work for Windows) thanks! Esteban
Hi Esteban, On Wed, Apr 12, 2017 at 04:44:51PM +0200, Esteban Lorenzano wrote:
Hello list,
We are approaching to release and one big thing of this one is the 64bits supports for Pharo (limited, since there is still not support for Windows, but it will arrive, eventually ;) ) I asked you to test a couple of months ago but now we are in better shape to do it.
- VM and image are getting more and more stable and crashes shouldn???t happen (but that???s why I want you to test: to discover possible bugs/crashes) - I made 64bits a zeroconf citizen: http://get.pharo.org/64
Now, you can test it by just doing:
curl get.pharo.org/64/60+vmLatest | bash (In linux or mac, remember it will not work for Windows)
I'm getting: LGit_GIT_ERROR: no error message set by libgit2 (full stack below) while executing: Metacello new githubUser: 'pharophile' project: 'TilingWindowManager' commitish: 'master' path: 'packages'; baseline: 'TilingWindowManager'; onWarningLog; load. Checking that libgit2.so is OK produces: $ ldd libgit2.so ./libgit2.so: /dev/shm/p6/pharo-vm/lib/pharo/5.0-201704120850/libssl.so.1.0.0: no version information available (required by /usr/lib/x86_64-linux-gnu/libcurl.so.4) ./libgit2.so: /dev/shm/p6/pharo-vm/lib/pharo/5.0-201704120850/libssl.so.1.0.0: no version information available (required by /usr/lib/x86_64-linux-gnu/libcurl.so.4) ./libgit2.so: /dev/shm/p6/pharo-vm/lib/pharo/5.0-201704120850/libssl.so.1.0.0: no version information available (required by /usr/lib/x86_64-linux-gnu/libcurl.so.4) ./libgit2.so: /dev/shm/p6/pharo-vm/lib/pharo/5.0-201704120850/libcrypto.so.1.0.0: no version information available (required by /usr/lib/x86_64-linux-gnu/libcurl.so.4) linux-vdso.so.1 => (0x00007ffde370e000) libcurl.so.4 => /usr/lib/x86_64-linux-gnu/libcurl.so.4 (0x00007f3b11727000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f3b1150d000) libssl.so.1.0.0 => /dev/shm/p6/pharo-vm/lib/pharo/5.0-201704120850/libssl.so.1.0.0 (0x00007f3b1129c000) libcrypto.so.1.0.0 => /dev/shm/p6/pharo-vm/lib/pharo/5.0-201704120850/libcrypto.so.1.0.0 (0x00007f3b10ebf000) libssh2.so.1 => /dev/shm/p6/pharo-vm/lib/pharo/5.0-201704120850/libssh2.so.1 (0x00007f3b10c86000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f3b10a7d000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f3b10860000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3b10497000) libidn.so.11 => /usr/lib/x86_64-linux-gnu/libidn.so.11 (0x00007f3b10263000) librtmp.so.1 => /usr/lib/x86_64-linux-gnu/librtmp.so.1 (0x00007f3b10047000) libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f3b0fdfd000) liblber-2.4.so.2 => /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007f3b0fbed000) libldap_r-2.4.so.2 => /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007f3b0f99c000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f3b0f798000) /lib64/ld-linux-x86-64.so.2 (0x0000561a2abc3000) libgnutls.so.30 => /usr/lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007f3b0f467000) libhogweed.so.4 => /usr/lib/x86_64-linux-gnu/libhogweed.so.4 (0x00007f3b0f234000) libnettle.so.6 => /usr/lib/x86_64-linux-gnu/libnettle.so.6 (0x00007f3b0effd000) libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f3b0ed7d000) libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f3b0eaab000) libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f3b0e87b000) libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f3b0e677000) libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f3b0e46c000) libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f3b0e250000) libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007f3b0e035000) libgssapi.so.3 => /usr/lib/x86_64-linux-gnu/libgssapi.so.3 (0x00007f3b0ddf4000) libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007f3b0db8f000) libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007f3b0d97c000) libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f3b0d778000) libheimntlm.so.0 => /usr/lib/x86_64-linux-gnu/libheimntlm.so.0 (0x00007f3b0d56e000) libkrb5.so.26 => /usr/lib/x86_64-linux-gnu/libkrb5.so.26 (0x00007f3b0d2e4000) libasn1.so.8 => /usr/lib/x86_64-linux-gnu/libasn1.so.8 (0x00007f3b0d041000) libhcrypto.so.4 => /usr/lib/x86_64-linux-gnu/libhcrypto.so.4 (0x00007f3b0ce0e000) libroken.so.18 => /usr/lib/x86_64-linux-gnu/libroken.so.18 (0x00007f3b0cbf8000) libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f3b0c9ef000) libwind.so.0 => /usr/lib/x86_64-linux-gnu/libwind.so.0 (0x00007f3b0c7c6000) libheimbase.so.1 => /usr/lib/x86_64-linux-gnu/libheimbase.so.1 (0x00007f3b0c5b7000) libhx509.so.5 => /usr/lib/x86_64-linux-gnu/libhx509.so.5 (0x00007f3b0c36b000) libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f3b0c096000) libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f3b0be5e000) The first few lines look dodgy to me. Searching on google (admittedly briefly) it wasn't clear to me whether this is a fatal error or just a warning. Most of the responses suggest recompiling with matching versions, symbols, etc. Is there something else you'd like me to try? I can have a go at compiling if you think it will help. Cheers, Alistair LGitReturnCodeEnum>>handleLGitReturnCode LGitRepository(LGitExternalObject)>>withReturnHandlerDo: LGitRepository>>clone:options:to: LGitRepository>>clone:options: [ | repo cloneOptions | repo := LGitRepository on: self location. cloneOptions := LGitCloneOptions withCredentialsProvider: IceCredentialsProvider default. repo clone: url options: cloneOptions. aBranchName ifNotNil: [ repo checkout: aBranchName ]. (LGitRemote of: repo named: 'origin') lookup; setUrl: url ] in IceLibgitLocalRepository>>cloneRepositoryFrom:branch: in Block: [ | repo cloneOptions |... [ self checkInitialized. aBlock value ] in LGitGlobal class>>runSequence: in Block: [ self checkInitialized.... [ activeProcess psValueAt: index put: anObject. aBlock value ] in LGitActionSequence(DynamicVariable)>>value:during: in Block: [ activeProcess psValueAt: index put: anObject.... BlockClosure>>ensure: LGitActionSequence(DynamicVariable)>>value:during: LGitActionSequence class(DynamicVariable class)>>value:during: LGitGlobal class>>runSequence: IceLibgitLocalRepository>>cloneRepositoryFrom:branch: IceRepositoryCreator>>createRepository [ (IceRepositoryCreator new url: remoteUrl; subdirectory: repoPath; branchName: self projectVersion; createRepository) register ] in MCGitHubRepository>>getOrCreateIcebergRepository in Block: [ (IceRepositoryCreator new... OrderedCollection(Collection)>>detect:ifFound:ifNone: OrderedCollection(Collection)>>detect:ifNone: MCGitHubRepository>>getOrCreateIcebergRepository IceGithubRepositoryType>>mcRepository Iceberg class>>mcRepositoryFor: [ :cl | (cl enableMetacelloIntegration and: [ IceMetacelloRepositoryType canHandleType: type ]) ifTrue: [ ^ cl mcRepositoryFor: aRepositorySpec description ] ] in MetacelloPharo30Platform(MetacelloPharoCommonPlatform)>>createRepository: in Block: [ :cl | ... BlockClosure>>cull: SystemDictionary(Dictionary)>>at:ifPresent: SmalltalkImage>>at:ifPresent: MetacelloPharo30Platform(MetacelloPharoCommonPlatform)>>createRepository: MetacelloMCBaselineProject(MetacelloMCProject)>>createRepository: MetacelloRepositorySpec>>createRepository [ aSpec createRepository ] in [ :aSpec | | description repo | description := aSpec description. (repo := repositories detect: [ :rep | rep description = description ] ifNone: [ aSpec createRepository ]) ~~ nil ifTrue: [ repos add: repo ] ] in MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>repositoriesFrom:ignoreOverrides: in Block: [ aSpec createRepository ] Array(Collection)>>detect:ifFound:ifNone: Array(Collection)>>detect:ifNone: [ :aSpec | | description repo | description := aSpec description. (repo := repositories detect: [ :rep | rep description = description ] ifNone: [ aSpec createRepository ]) ~~ nil ifTrue: [ repos add: repo ] ] in MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>repositoriesFrom:ignoreOverrides: in Block: [ :aSpec | ...
forget to say that iceberg will not work 100% yet :) but here, problem is because you need to install the threaded version, which of course I forget to point :P curl get.pharo.org/64/60+vmTLatest | bash this is the correct one for linux users. Esteban
On 12 Apr 2017, at 17:23, Alistair Grant <akgrant0710@gmail.com> wrote:
Hi Esteban,
On Wed, Apr 12, 2017 at 04:44:51PM +0200, Esteban Lorenzano wrote:
Hello list,
We are approaching to release and one big thing of this one is the 64bits supports for Pharo (limited, since there is still not support for Windows, but it will arrive, eventually ;) ) I asked you to test a couple of months ago but now we are in better shape to do it.
- VM and image are getting more and more stable and crashes shouldn???t happen (but that???s why I want you to test: to discover possible bugs/crashes) - I made 64bits a zeroconf citizen: http://get.pharo.org/64
Now, you can test it by just doing:
curl get.pharo.org/64/60+vmLatest | bash (In linux or mac, remember it will not work for Windows)
I'm getting:
LGit_GIT_ERROR: no error message set by libgit2
(full stack below)
while executing:
Metacello new githubUser: 'pharophile' project: 'TilingWindowManager' commitish: 'master' path: 'packages'; baseline: 'TilingWindowManager'; onWarningLog; load.
Checking that libgit2.so is OK produces:
$ ldd libgit2.so ./libgit2.so: /dev/shm/p6/pharo-vm/lib/pharo/5.0-201704120850/libssl.so.1.0.0: no version information available (required by /usr/lib/x86_64-linux-gnu/libcurl.so.4) ./libgit2.so: /dev/shm/p6/pharo-vm/lib/pharo/5.0-201704120850/libssl.so.1.0.0: no version information available (required by /usr/lib/x86_64-linux-gnu/libcurl.so.4) ./libgit2.so: /dev/shm/p6/pharo-vm/lib/pharo/5.0-201704120850/libssl.so.1.0.0: no version information available (required by /usr/lib/x86_64-linux-gnu/libcurl.so.4) ./libgit2.so: /dev/shm/p6/pharo-vm/lib/pharo/5.0-201704120850/libcrypto.so.1.0.0: no version information available (required by /usr/lib/x86_64-linux-gnu/libcurl.so.4) linux-vdso.so.1 => (0x00007ffde370e000) libcurl.so.4 => /usr/lib/x86_64-linux-gnu/libcurl.so.4 (0x00007f3b11727000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f3b1150d000) libssl.so.1.0.0 => /dev/shm/p6/pharo-vm/lib/pharo/5.0-201704120850/libssl.so.1.0.0 (0x00007f3b1129c000) libcrypto.so.1.0.0 => /dev/shm/p6/pharo-vm/lib/pharo/5.0-201704120850/libcrypto.so.1.0.0 (0x00007f3b10ebf000) libssh2.so.1 => /dev/shm/p6/pharo-vm/lib/pharo/5.0-201704120850/libssh2.so.1 (0x00007f3b10c86000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f3b10a7d000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f3b10860000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3b10497000) libidn.so.11 => /usr/lib/x86_64-linux-gnu/libidn.so.11 (0x00007f3b10263000) librtmp.so.1 => /usr/lib/x86_64-linux-gnu/librtmp.so.1 (0x00007f3b10047000) libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f3b0fdfd000) liblber-2.4.so.2 => /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007f3b0fbed000) libldap_r-2.4.so.2 => /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007f3b0f99c000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f3b0f798000) /lib64/ld-linux-x86-64.so.2 (0x0000561a2abc3000) libgnutls.so.30 => /usr/lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007f3b0f467000) libhogweed.so.4 => /usr/lib/x86_64-linux-gnu/libhogweed.so.4 (0x00007f3b0f234000) libnettle.so.6 => /usr/lib/x86_64-linux-gnu/libnettle.so.6 (0x00007f3b0effd000) libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f3b0ed7d000) libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f3b0eaab000) libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f3b0e87b000) libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f3b0e677000) libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f3b0e46c000) libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f3b0e250000) libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007f3b0e035000) libgssapi.so.3 => /usr/lib/x86_64-linux-gnu/libgssapi.so.3 (0x00007f3b0ddf4000) libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007f3b0db8f000) libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007f3b0d97c000) libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f3b0d778000) libheimntlm.so.0 => /usr/lib/x86_64-linux-gnu/libheimntlm.so.0 (0x00007f3b0d56e000) libkrb5.so.26 => /usr/lib/x86_64-linux-gnu/libkrb5.so.26 (0x00007f3b0d2e4000) libasn1.so.8 => /usr/lib/x86_64-linux-gnu/libasn1.so.8 (0x00007f3b0d041000) libhcrypto.so.4 => /usr/lib/x86_64-linux-gnu/libhcrypto.so.4 (0x00007f3b0ce0e000) libroken.so.18 => /usr/lib/x86_64-linux-gnu/libroken.so.18 (0x00007f3b0cbf8000) libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f3b0c9ef000) libwind.so.0 => /usr/lib/x86_64-linux-gnu/libwind.so.0 (0x00007f3b0c7c6000) libheimbase.so.1 => /usr/lib/x86_64-linux-gnu/libheimbase.so.1 (0x00007f3b0c5b7000) libhx509.so.5 => /usr/lib/x86_64-linux-gnu/libhx509.so.5 (0x00007f3b0c36b000) libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f3b0c096000) libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f3b0be5e000)
The first few lines look dodgy to me. Searching on google (admittedly briefly) it wasn't clear to me whether this is a fatal error or just a warning. Most of the responses suggest recompiling with matching versions, symbols, etc.
Is there something else you'd like me to try? I can have a go at compiling if you think it will help.
Cheers, Alistair
LGitReturnCodeEnum>>handleLGitReturnCode LGitRepository(LGitExternalObject)>>withReturnHandlerDo: LGitRepository>>clone:options:to: LGitRepository>>clone:options: [ | repo cloneOptions | repo := LGitRepository on: self location. cloneOptions := LGitCloneOptions withCredentialsProvider: IceCredentialsProvider default. repo clone: url options: cloneOptions. aBranchName ifNotNil: [ repo checkout: aBranchName ]. (LGitRemote of: repo named: 'origin') lookup; setUrl: url ] in IceLibgitLocalRepository>>cloneRepositoryFrom:branch: in Block: [ | repo cloneOptions |... [ self checkInitialized. aBlock value ] in LGitGlobal class>>runSequence: in Block: [ self checkInitialized.... [ activeProcess psValueAt: index put: anObject. aBlock value ] in LGitActionSequence(DynamicVariable)>>value:during: in Block: [ activeProcess psValueAt: index put: anObject.... BlockClosure>>ensure: LGitActionSequence(DynamicVariable)>>value:during: LGitActionSequence class(DynamicVariable class)>>value:during: LGitGlobal class>>runSequence: IceLibgitLocalRepository>>cloneRepositoryFrom:branch: IceRepositoryCreator>>createRepository [ (IceRepositoryCreator new url: remoteUrl; subdirectory: repoPath; branchName: self projectVersion; createRepository) register ] in MCGitHubRepository>>getOrCreateIcebergRepository in Block: [ (IceRepositoryCreator new... OrderedCollection(Collection)>>detect:ifFound:ifNone: OrderedCollection(Collection)>>detect:ifNone: MCGitHubRepository>>getOrCreateIcebergRepository IceGithubRepositoryType>>mcRepository Iceberg class>>mcRepositoryFor: [ :cl | (cl enableMetacelloIntegration and: [ IceMetacelloRepositoryType canHandleType: type ]) ifTrue: [ ^ cl mcRepositoryFor: aRepositorySpec description ] ] in MetacelloPharo30Platform(MetacelloPharoCommonPlatform)>>createRepository: in Block: [ :cl | ... BlockClosure>>cull: SystemDictionary(Dictionary)>>at:ifPresent: SmalltalkImage>>at:ifPresent: MetacelloPharo30Platform(MetacelloPharoCommonPlatform)>>createRepository: MetacelloMCBaselineProject(MetacelloMCProject)>>createRepository: MetacelloRepositorySpec>>createRepository [ aSpec createRepository ] in [ :aSpec | | description repo | description := aSpec description. (repo := repositories detect: [ :rep | rep description = description ] ifNone: [ aSpec createRepository ]) ~~ nil ifTrue: [ repos add: repo ] ] in MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>repositoriesFrom:ignoreOverrides: in Block: [ aSpec createRepository ] Array(Collection)>>detect:ifFound:ifNone: Array(Collection)>>detect:ifNone: [ :aSpec | | description repo | description := aSpec description. (repo := repositories detect: [ :rep | rep description = description ] ifNone: [ aSpec createRepository ]) ~~ nil ifTrue: [ repos add: repo ] ] in MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>repositoriesFrom:ignoreOverrides: in Block: [ :aSpec | ...
Hi Esteban, On Wed, Apr 12, 2017 at 06:08:56PM +0200, Esteban Lorenzano wrote:
forget to say that iceberg will not work 100% yet :) but here, problem is because you need to install the threaded version, which of course I forget to point :P
curl get.pharo.org/64/60+vmTLatest | bash
this is the correct one for linux users.
Thanks, I'm successfully past the Metacello load. Next problem: PrimitiveFailed: primitive #integerAt:put:size:signed: in ExternalAddress failed while executing: proc := OSSUnixSubprocess new command: 'git'; arguments: #('config' '--global' 'user.name' 'AlistairGrant'); runAndWaitOnExitDo: [ :cmd :out :err | self assert: cmd isSuccess ]. I'm going to have to learn about FFI some time... Full stack below. I should have also added I'm on Ubuntu 16.04, and this obviously all works fine in the 32bit VM / image. Cheers, Alistair ExternalAddress(Object)>>primitiveFailed: ExternalAddress(Object)>>primitiveFailed ExternalAddress(ByteArray)>>integerAt:put:size:signed: ExternalAddress(ByteArray)>>unsignedLongAt:put: ExternalAddress(ByteArray)>>nbUInt32AtOffset:put: [ :string :index | | pointer | "0 terminated" pointer := ExternalAddress allocate: string size + 1. self registerPointer: pointer. LibC memCopy: string to: pointer size: string size. pointer nbUInt8AtOffset: string size put: 0. "string terminating null char" aPointer nbUInt32AtOffset: (index - 1) * self systemAccessor sizeOfPointer put: pointer value ] in OSSUnixSubprocess>>collectArgumentPointersInto: in Block: [ :string :index | ... OrderedCollection(SequenceableCollection)>>withIndexDo: OSSUnixSubprocess>>collectArgumentPointersInto: OSSUnixSubprocess>>buildPrimitiveArgVArgument OSSUnixSubprocess>>internalRun [ self internalRun ] in OSSUnixSubprocess>>run in Block: [ self internalRun ] BlockClosure>>ensure: OSSUnixSubprocess>>run OSSUnixSubprocess>>runAndWaitOnExitDo: UndefinedObject>>DoIt OpalCompiler>>evaluate DoItChunk>>importFor: [ :declaration | requestor ifNotNil: [ requestor contents: declaration contents ]. value := declaration importFor: requestor ] in CodeImporter>>evaluateDeclarations in Block: [ :declaration | ... OrderedCollection>>do: CodeImporter>>evaluateDeclarations CodeImporter class>>evaluateFileStream: MultiByteFileStream(FileStream)>>fileIn FileStream class>>fileIn: SimpleServiceEntry>>performServiceFor: PluggableButtonMorph>>performAction: [ :m | (m containsPoint: evt cursorPoint) ifTrue: [ m enabled ifTrue: [ m performAction: evt ] ] ] in PluggableButtonMorph>>mouseUp: in Block: [ :m | ... Array(SequenceableCollection)>>do: PluggableButtonMorph>>mouseUp: PluggableButtonMorph(Morph)>>handleMouseUp: MouseButtonEvent>>sentTo:
On 12 Apr 2017, at 18:43, Alistair Grant <akgrant0710@gmail.com> wrote:
Hi Esteban,
On Wed, Apr 12, 2017 at 06:08:56PM +0200, Esteban Lorenzano wrote:
forget to say that iceberg will not work 100% yet :) but here, problem is because you need to install the threaded version, which of course I forget to point :P
curl get.pharo.org/64/60+vmTLatest | bash
this is the correct one for linux users.
Thanks, I'm successfully past the Metacello load.
Next problem:
PrimitiveFailed: primitive #integerAt:put:size:signed: in ExternalAddress failed
the OSSubprocess maintainer needs to adapt his sources, I guess⦠we cannot provide automatic compatibility⦠:) Esteban
while executing:
proc := OSSUnixSubprocess new command: 'git'; arguments: #('config' '--global' 'user.name' 'AlistairGrant'); runAndWaitOnExitDo: [ :cmd :out :err | self assert: cmd isSuccess ].
I'm going to have to learn about FFI some time...
Full stack below.
I should have also added I'm on Ubuntu 16.04, and this obviously all works fine in the 32bit VM / image.
Cheers, Alistair
ExternalAddress(Object)>>primitiveFailed: ExternalAddress(Object)>>primitiveFailed ExternalAddress(ByteArray)>>integerAt:put:size:signed: ExternalAddress(ByteArray)>>unsignedLongAt:put: ExternalAddress(ByteArray)>>nbUInt32AtOffset:put: [ :string :index | | pointer | "0 terminated" pointer := ExternalAddress allocate: string size + 1. self registerPointer: pointer. LibC memCopy: string to: pointer size: string size. pointer nbUInt8AtOffset: string size put: 0. "string terminating null char" aPointer nbUInt32AtOffset: (index - 1) * self systemAccessor sizeOfPointer put: pointer value ] in OSSUnixSubprocess>>collectArgumentPointersInto: in Block: [ :string :index | ... OrderedCollection(SequenceableCollection)>>withIndexDo: OSSUnixSubprocess>>collectArgumentPointersInto: OSSUnixSubprocess>>buildPrimitiveArgVArgument OSSUnixSubprocess>>internalRun [ self internalRun ] in OSSUnixSubprocess>>run in Block: [ self internalRun ] BlockClosure>>ensure: OSSUnixSubprocess>>run OSSUnixSubprocess>>runAndWaitOnExitDo: UndefinedObject>>DoIt OpalCompiler>>evaluate DoItChunk>>importFor: [ :declaration | requestor ifNotNil: [ requestor contents: declaration contents ]. value := declaration importFor: requestor ] in CodeImporter>>evaluateDeclarations in Block: [ :declaration | ... OrderedCollection>>do: CodeImporter>>evaluateDeclarations CodeImporter class>>evaluateFileStream: MultiByteFileStream(FileStream)>>fileIn FileStream class>>fileIn: SimpleServiceEntry>>performServiceFor: PluggableButtonMorph>>performAction: [ :m | (m containsPoint: evt cursorPoint) ifTrue: [ m enabled ifTrue: [ m performAction: evt ] ] ] in PluggableButtonMorph>>mouseUp: in Block: [ :m | ... Array(SequenceableCollection)>>do: PluggableButtonMorph>>mouseUp: PluggableButtonMorph(Morph)>>handleMouseUp: MouseButtonEvent>>sentTo:
Hi Esteban, On Wed, Apr 12, 2017 at 06:54:16PM +0200, Esteban Lorenzano wrote:
On 12 Apr 2017, at 18:43, Alistair Grant <akgrant0710@gmail.com> wrote:
Hi Esteban,
On Wed, Apr 12, 2017 at 06:08:56PM +0200, Esteban Lorenzano wrote:
forget to say that iceberg will not work 100% yet :) but here, problem is because you need to install the threaded version, which of course I forget to point :P
curl get.pharo.org/64/60+vmTLatest | bash
this is the correct one for linux users.
Thanks, I'm successfully past the Metacello load.
Next problem:
PrimitiveFailed: primitive #integerAt:put:size:signed: in ExternalAddress failed
the OSSubprocess maintainer needs to adapt his sources, I guess??? we cannot provide automatic compatibility??? :)
OK, thanks. Hopefully Mariano is listening. ;-) Cheers, Alistair
Hi Alistair, for that I switch to OSProcess when on Pharo 64 bits. Regards, Thierry Le 12/04/2017 à 19:08, Alistair Grant a écrit :
Hi Esteban,
On Wed, Apr 12, 2017 at 06:54:16PM +0200, Esteban Lorenzano wrote:
On 12 Apr 2017, at 18:43, Alistair Grant <akgrant0710@gmail.com> wrote:
Hi Esteban,
On Wed, Apr 12, 2017 at 06:08:56PM +0200, Esteban Lorenzano wrote:
forget to say that iceberg will not work 100% yet :) but here, problem is because you need to install the threaded version, which of course I forget to point :P
curl get.pharo.org/64/60+vmTLatest | bash
this is the correct one for linux users.
Thanks, I'm successfully past the Metacello load.
Next problem:
PrimitiveFailed: primitive #integerAt:put:size:signed: in ExternalAddress failed
the OSSubprocess maintainer needs to adapt his sources, I guess??? we cannot provide automatic compatibility??? :)
OK, thanks. Hopefully Mariano is listening. ;-)
Cheers, Alistair
Hi Esteban, I've basically moved my personal environment to 64 bits, which means all of the following have been loaded and most have had some adhoc testing: Iceberg OSProcess MessageFlowBrowser TilingWindowManager Beacon NeoCSV (not tested) UDBC (SQLite3) Glorp Pillar Roassal2 Soup (not tested) Zinc Server I don't use anything in a particularly sophisticated manner, although I may use Iceberg in some not so normal ways (I load packages manually as part of a startup script), but the basics at least are all working. Great job to everyone involved! Thanks, Alistair
Hi Esteban, On Fri, Apr 14, 2017 at 08:06:05AM +0000, Alistair Grant wrote:
I've basically moved my personal environment to 64 bits, which means all of the following have been loaded and most have had some adhoc testing:
Iceberg OSProcess
If I try this with any of the VMs I built, OSProcess causes the image to lock up as soon as a process is forked (there aren't any error messages on the console and Ctrl-. doesn't work). Also the grimReaper process fails regularly. I haven't tried every recent commit, but it appears that the only VM I have that works with OSProcess is: $ ./pharo --version 5.0-201704120850 Wed Apr 12 09:11:51 UTC 2017 gcc 4.6.3 [Production Spur 64-bit VM] CoInterpreter VMMaker.oscog-eem.2188 uuid: ff4ca601-cd05-4792-ab0d-dcdf19975239 Apr 12 2017 StackToRegisterMappingCogit VMMaker.oscog-eem.2188 uuid: ff4ca601-cd05-4792-ab0d-dcdf19975239 Apr 12 2017 VM: 201704120850 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $ Date: Wed Apr 12 10:50:48 2017 +0200 $ Plugins: 201704120850 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $ Linux testing-gce-05737cd5-38bf-479c-9575-20f53c3bf93b 3.13.0-103-generic #150~precise1-Ubuntu SMP Thu Nov 24 11:05:34 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux plugin path: /dev/shm/pharo64/pharo-vm/lib/pharo/5.0-201704120850 [default: /dev/shm/pharo64/pharo-vm/lib/pharo/5.0-201704120850/] Note: I'm building from https://github.com/pharo-project/pharo-vm.git Should I open an issue in fogbugz for this (with code to reproduce and more details on the grim reaper process)? P.S. I think Pharo 5 included in the commit id in the version information. It would be nice for that to reappear in V6. Thanks! Alistair
Hi Estaban, I've started working with this version and seems to be working ok. Just a minor detail with the zeroconf stuff, It still shows the 32 bits libraries notice when you download the image and vm: On a 64-bit system? You must install the 32-bit libraries Try `sudo aptitude install ia32-libs` or see http://pharo.org/gnu-linux-installation#64-bit-System-Setup for more info We can remove it when downloading the 64 bits version ;) On Wed, Apr 12, 2017 at 1:08 PM, Esteban Lorenzano <estebanlm@gmail.com> wrote:
forget to say that iceberg will not work 100% yet :) but here, problem is because you need to install the threaded version, which of course I forget to point :P
curl get.pharo.org/64/60+vmTLatest | bash
this is the correct one for linux users.
Esteban
On 12 Apr 2017, at 17:23, Alistair Grant <akgrant0710@gmail.com> wrote:
Hi Esteban,
On Wed, Apr 12, 2017 at 04:44:51PM +0200, Esteban Lorenzano wrote:
Hello list,
We are approaching to release and one big thing of this one is the 64bits supports for Pharo (limited, since there is still not support for Windows, but it will arrive, eventually ;) ) I asked you to test a couple of months ago but now we are in better shape to do it.
- VM and image are getting more and more stable and crashes shouldn???t happen (but that???s why I want you to test: to discover possible bugs/crashes) - I made 64bits a zeroconf citizen: http://get.pharo.org/64
Now, you can test it by just doing:
curl get.pharo.org/64/60+vmLatest | bash (In linux or mac, remember it will not work for Windows)
I'm getting:
LGit_GIT_ERROR: no error message set by libgit2
(full stack below)
while executing:
Metacello new githubUser: 'pharophile' project: 'TilingWindowManager' commitish: 'master' path: 'packages'; baseline: 'TilingWindowManager'; onWarningLog; load.
Checking that libgit2.so is OK produces:
$ ldd libgit2.so ./libgit2.so: /dev/shm/p6/pharo-vm/lib/pharo/5.0-201704120850/libssl.so.1.0.0: no version information available (required by /usr/lib/x86_64-linux-gnu/libcurl.so.4) ./libgit2.so: /dev/shm/p6/pharo-vm/lib/pharo/5.0-201704120850/libssl.so.1.0.0: no version information available (required by /usr/lib/x86_64-linux-gnu/libcurl.so.4) ./libgit2.so: /dev/shm/p6/pharo-vm/lib/pharo/5.0-201704120850/libssl.so.1.0.0: no version information available (required by /usr/lib/x86_64-linux-gnu/libcurl.so.4) ./libgit2.so: /dev/shm/p6/pharo-vm/lib/pharo/5.0-201704120850/libcrypto.so.1.0.0: no version information available (required by /usr/lib/x86_64-linux-gnu/libcurl.so.4) linux-vdso.so.1 => (0x00007ffde370e000) libcurl.so.4 => /usr/lib/x86_64-linux-gnu/libcurl.so.4 (0x00007f3b11727000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f3b1150d000) libssl.so.1.0.0 => /dev/shm/p6/pharo-vm/lib/pharo/5.0-201704120850/libssl.so.1.0.0 (0x00007f3b1129c000) libcrypto.so.1.0.0 => /dev/shm/p6/pharo-vm/lib/pharo/5.0-201704120850/libcrypto.so.1.0.0 (0x00007f3b10ebf000) libssh2.so.1 => /dev/shm/p6/pharo-vm/lib/pharo/5.0-201704120850/libssh2.so.1 (0x00007f3b10c86000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f3b10a7d000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f3b10860000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3b10497000) libidn.so.11 => /usr/lib/x86_64-linux-gnu/libidn.so.11 (0x00007f3b10263000) librtmp.so.1 => /usr/lib/x86_64-linux-gnu/librtmp.so.1 (0x00007f3b10047000) libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f3b0fdfd000) liblber-2.4.so.2 => /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007f3b0fbed000) libldap_r-2.4.so.2 => /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007f3b0f99c000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f3b0f798000) /lib64/ld-linux-x86-64.so.2 (0x0000561a2abc3000) libgnutls.so.30 => /usr/lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007f3b0f467000) libhogweed.so.4 => /usr/lib/x86_64-linux-gnu/libhogweed.so.4 (0x00007f3b0f234000) libnettle.so.6 => /usr/lib/x86_64-linux-gnu/libnettle.so.6 (0x00007f3b0effd000) libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f3b0ed7d000) libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f3b0eaab000) libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f3b0e87b000) libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f3b0e677000) libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f3b0e46c000) libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f3b0e250000) libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007f3b0e035000) libgssapi.so.3 => /usr/lib/x86_64-linux-gnu/libgssapi.so.3 (0x00007f3b0ddf4000) libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007f3b0db8f000) libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007f3b0d97c000) libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f3b0d778000) libheimntlm.so.0 => /usr/lib/x86_64-linux-gnu/libheimntlm.so.0 (0x00007f3b0d56e000) libkrb5.so.26 => /usr/lib/x86_64-linux-gnu/libkrb5.so.26 (0x00007f3b0d2e4000) libasn1.so.8 => /usr/lib/x86_64-linux-gnu/libasn1.so.8 (0x00007f3b0d041000) libhcrypto.so.4 => /usr/lib/x86_64-linux-gnu/libhcrypto.so.4 (0x00007f3b0ce0e000) libroken.so.18 => /usr/lib/x86_64-linux-gnu/libroken.so.18 (0x00007f3b0cbf8000) libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f3b0c9ef000) libwind.so.0 => /usr/lib/x86_64-linux-gnu/libwind.so.0 (0x00007f3b0c7c6000) libheimbase.so.1 => /usr/lib/x86_64-linux-gnu/libheimbase.so.1 (0x00007f3b0c5b7000) libhx509.so.5 => /usr/lib/x86_64-linux-gnu/libhx509.so.5 (0x00007f3b0c36b000) libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f3b0c096000) libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f3b0be5e000)
The first few lines look dodgy to me. Searching on google (admittedly briefly) it wasn't clear to me whether this is a fatal error or just a warning. Most of the responses suggest recompiling with matching versions, symbols, etc.
Is there something else you'd like me to try? I can have a go at compiling if you think it will help.
Cheers, Alistair
LGitReturnCodeEnum>>handleLGitReturnCode LGitRepository(LGitExternalObject)>>withReturnHandlerDo: LGitRepository>>clone:options:to: LGitRepository>>clone:options: [ | repo cloneOptions | repo := LGitRepository on: self location. cloneOptions := LGitCloneOptions withCredentialsProvider: IceCredentialsProvider default. repo clone: url options: cloneOptions. aBranchName ifNotNil: [ repo checkout: aBranchName ]. (LGitRemote of: repo named: 'origin') lookup; setUrl: url ] in IceLibgitLocalRepository>>cloneRepositoryFrom:branch: in Block: [ | repo cloneOptions |... [ self checkInitialized. aBlock value ] in LGitGlobal class>>runSequence: in Block: [ self checkInitialized.... [ activeProcess psValueAt: index put: anObject. aBlock value ] in LGitActionSequence(DynamicVariable)>>value:during: in Block: [ activeProcess psValueAt: index put: anObject.... BlockClosure>>ensure: LGitActionSequence(DynamicVariable)>>value:during: LGitActionSequence class(DynamicVariable class)>>value:during: LGitGlobal class>>runSequence: IceLibgitLocalRepository>>cloneRepositoryFrom:branch: IceRepositoryCreator>>createRepository [ (IceRepositoryCreator new url: remoteUrl; subdirectory: repoPath; branchName: self projectVersion; createRepository) register ] in MCGitHubRepository>>getOrCreateIcebergRepository in Block: [ (IceRepositoryCreator new... OrderedCollection(Collection)>>detect:ifFound:ifNone: OrderedCollection(Collection)>>detect:ifNone: MCGitHubRepository>>getOrCreateIcebergRepository IceGithubRepositoryType>>mcRepository Iceberg class>>mcRepositoryFor: [ :cl | (cl enableMetacelloIntegration and: [ IceMetacelloRepositoryType canHandleType: type ]) ifTrue: [ ^ cl mcRepositoryFor: aRepositorySpec description ] ] in MetacelloPharo30Platform(MetacelloPharoCommonPlatform)>>createRepository: in Block: [ :cl | ... BlockClosure>>cull: SystemDictionary(Dictionary)>>at:ifPresent: SmalltalkImage>>at:ifPresent: MetacelloPharo30Platform(MetacelloPharoCommonPlatform)>>createRepository: MetacelloMCBaselineProject(MetacelloMCProject)>>createRepository: MetacelloRepositorySpec>>createRepository [ aSpec createRepository ] in [ :aSpec | | description repo | description := aSpec description. (repo := repositories detect: [ :rep | rep description = description ] ifNone: [ aSpec createRepository ]) ~~ nil ifTrue: [ repos add: repo ] ] in MetacelloFetchingMCSpecLoader( MetacelloCommonMCSpecLoader)>>repositoriesFrom:ignoreOverrides: in Block: [ aSpec createRepository ] Array(Collection)>>detect:ifFound:ifNone: Array(Collection)>>detect:ifNone: [ :aSpec | | description repo | description := aSpec description. (repo := repositories detect: [ :rep | rep description = description ] ifNone: [ aSpec createRepository ]) ~~ nil ifTrue: [ repos add: repo ] ] in MetacelloFetchingMCSpecLoader( MetacelloCommonMCSpecLoader)>>repositoriesFrom:ignoreOverrides: in Block: [ :aSpec | ...
- Iceberg commits do not work (known issue) - "OSWindowWorldMorph new open" does not work but it seems to do not work now on 32 bits too :-( - Roassal and Moose works well - when I did a RefshHunter snapshot of the image with Moose, saved the image and tried to create a new RefsHunter snapshot for generating of a large image, I got VM crashes. I can imagine that it is related to some obsolete FFI objects that are referenced by the RH snapshot from the previous session. -- Pavel 2017-04-12 16:44 GMT+02:00 Esteban Lorenzano <estebanlm@gmail.com>:
Hello list,
We are approaching to release and one big thing of this one is the 64bits supports for Pharo (limited, since there is still not support for Windows, but it will arrive, eventually ;) ) I asked you to test a couple of months ago but now we are in better shape to do it.
- VM and image are getting more and more stable and crashes shouldnât happen (but thatâs why I want you to test: to discover possible bugs/crashes) - I made 64bits a zeroconf citizen: http://get.pharo.org/64
Now, you can test it by just doing:
curl get.pharo.org/64/60+vmLatest | bash
(In linux or mac, remember it will not work for Windows)
thanks! Esteban
2017-04-14 13:20 GMT+02:00 Alistair Grant <akgrant0710@gmail.com>:
On Wed, Apr 12, 2017 at 05:44:05PM +0200, Pavel Krivanek wrote:
- Iceberg commits do not work (known issue)
Is there a fogbugz issue for this?
Iceberg issues are currently not maintained by FogBugz but own issue GitHub issue tracker. Anyway, this issue is not reported there, we were only talking about it with Esteban before. Iceberg was not supposed to work on 64-bits. -- Pavel
Thanks, Alistair
On 14 Apr 2017, at 13:20, Alistair Grant <akgrant0710@gmail.com> wrote:
On Wed, Apr 12, 2017 at 05:44:05PM +0200, Pavel Krivanek wrote:
- Iceberg commits do not work (known issue)
Is there a fogbugz issue for this?
no, and there is also no iceberg issue (iceberg is developed separately, at least for the moment) but Iâm tracking the problem and I will have a solution soon ;) Esteban
Thanks, Alistair
On Fri, Apr 14, 2017 at 01:29:05PM +0200, Esteban Lorenzano wrote:
On 14 Apr 2017, at 13:20, Alistair Grant <akgrant0710@gmail.com> wrote:
On Wed, Apr 12, 2017 at 05:44:05PM +0200, Pavel Krivanek wrote:
- Iceberg commits do not work (known issue)
Is there a fogbugz issue for this?
no, and there is also no iceberg issue (iceberg is developed separately, at least for the moment) but I???m tracking the problem and I will have a solution soon ;)
Thanks (and to Pavel) for the update / clarification. Cheers, Alistair
PharmIDE works fine. But both images should has same bits 2017-04-12 16:44 GMT+02:00 Esteban Lorenzano <estebanlm@gmail.com>:
Hello list,
We are approaching to release and one big thing of this one is the 64bits supports for Pharo (limited, since there is still not support for Windows, but it will arrive, eventually ;) ) I asked you to test a couple of months ago but now we are in better shape to do it.
- VM and image are getting more and more stable and crashes shouldnât happen (but thatâs why I want you to test: to discover possible bugs/crashes) - I made 64bits a zeroconf citizen: http://get.pharo.org/64
Now, you can test it by just doing:
curl get.pharo.org/64/60+vmLatest | bash
(In linux or mac, remember it will not work for Windows)
thanks! Esteban
And I fixed compatibility between images. So now you can develop remotely 32bits server image on 64bits client and otherwise. 2017-04-12 18:07 GMT+02:00 Denis Kudriashov <dionisiydk@gmail.com>:
PharmIDE works fine. But both images should has same bits
2017-04-12 16:44 GMT+02:00 Esteban Lorenzano <estebanlm@gmail.com>:
Hello list,
We are approaching to release and one big thing of this one is the 64bits supports for Pharo (limited, since there is still not support for Windows, but it will arrive, eventually ;) ) I asked you to test a couple of months ago but now we are in better shape to do it.
- VM and image are getting more and more stable and crashes shouldnât happen (but thatâs why I want you to test: to discover possible bugs/crashes) - I made 64bits a zeroconf citizen: http://get.pharo.org/64
Now, you can test it by just doing:
curl get.pharo.org/64/60+vmLatest | bash
(In linux or mac, remember it will not work for Windows)
thanks! Esteban
I guess its time for me to throw away my 32-bit Linux install and upgrade to 64-bit. I only installed it to make playing with 32-bit FFI easier. That reason should be passed now. cheers -ben On Wed, Apr 12, 2017 at 10:44 PM, Esteban Lorenzano <estebanlm@gmail.com> wrote:
Hello list,
We are approaching to release and one big thing of this one is the 64bits supports for Pharo (limited, since there is still not support for Windows, but it will arrive, eventually ;) ) I asked you to test a couple of months ago but now we are in better shape to do it.
- VM and image are getting more and more stable and crashes shouldnât happen (but thatâs why I want you to test: to discover possible bugs/crashes) - I made 64bits a zeroconf citizen: http://get.pharo.org/64
Now, you can test it by just doing:
curl get.pharo.org/64/60+vmLatest | bash
(In linux or mac, remember it will not work for Windows)
thanks! Esteban
participants (7)
-
Alistair Grant -
Ben Coman -
Denis Kudriashov -
Esteban Lorenzano -
Gabriel Cotelli -
Pavel Krivanek -
Thierry Goubier