--- Begin Message ---
PharoDebug.log attached
pf
> Ohh sorry - better screenshot link:
>
>
>
>
>
> https://app.box.com/s/isd7tdyv8lgr8aj5449xqkrxt4y4uxqy
>
>
>
>
>
> pf
>
>
> > Hi Petr,
> >
> > On Sun, 23 Sep 2018 at 19:52, Petr Fischer via Pharo-dev
> > <[email protected]> wrote:
> > >
> > > Hello, I want to propose some small fixes to Pharo, it took me hours just
> > > to run Pharo with Iceberg on CentOS 7 (I don't care about Ubuntu)...
> > >
> > > Now I am stuck with this Iceberg error:
> > > https://app.box.com/file/321243070589
> >
> > I was presented with a login box when I tried to view this.
> >
> >
> > > I am using 64bit Pharo VM + latest Pharo7 image from zeroconf (and latest
> > > CentOS7) - is Iceberg OK on 64bits?
> >
> > Yes, I use it all the time (on Ubuntu 16.04 64 bit).
> >
> > Cheers,
> > Alistair
>
THERE_BE_DRAGONS_HERE
PrimitiveFailed: primitive #allocateExecutablePage in FFICallbackThunk class
failed
23 September 2018 11:37:43.581541 pm
VM: unix - x86_64 - linux-gnu - CoInterpreter VMMaker.oscog-eem.2401 uuid:
29232e0e-c9e3-41d8-ae75-519db862e02c Jun 28 2018
StackToRegisterMappingCogit VMMaker.oscog-eem.2401 uuid:
29232e0e-c9e3-41d8-ae75-519db862e02c Jun 28 2018
VM: 201806281256 https://github.com/OpenSmalltalk/opensmalltalk-vm.git Date:
Thu Jun 28 14:56:30 2018 CommitHash: a8a1dc1 Plugins: 201806281256
https://github.com/OpenSmalltalk/opensmalltalk-vm.git
Image: Pharo7.0alpha [Build information:
Pharo-7.0+alpha.build.1261.sha.9ed1473c3fb9c3853ee730e406bfb012c9fa8297 (64
Bit)]
FFICallbackThunk class(ProtoObject)>>primitiveFailed:
Receiver: FFICallbackThunk
Arguments and temporary variables:
selector: #allocateExecutablePage
Receiver's instance variables:
superclass: Alien
methodDict: a
MethodDictionary(#address->FFICallbackThunk>>#address #free->FFIC...etc...
format: 1048576
layout: a ByteLayout
organization: a ClassOrganization
subclasses: nil
name: #FFICallbackThunk
classPool: a Dictionary(#AccessProtect->a Semaphore()
#AllocatedThunks->an Alie...etc...
sharedPools: an OrderedCollection()
environment: a SystemDictionary(lots of globals)
category: #'Alien-Core'
lifoCallbackSemaphore: nil
FFICallbackThunk class(ProtoObject)>>primitiveFailed
Receiver: FFICallbackThunk
Arguments and temporary variables:
Receiver's instance variables:
superclass: Alien
methodDict: a
MethodDictionary(#address->FFICallbackThunk>>#address #free->FFIC...etc...
format: 1048576
layout: a ByteLayout
organization: a ClassOrganization
subclasses: nil
name: #FFICallbackThunk
classPool: a Dictionary(#AccessProtect->a Semaphore()
#AllocatedThunks->an Alie...etc...
sharedPools: an OrderedCollection()
environment: a SystemDictionary(lots of globals)
category: #'Alien-Core'
lifoCallbackSemaphore: nil
FFICallbackThunk class>>allocateExecutablePage
Receiver: FFICallbackThunk
Arguments and temporary variables:
errorCode: #'insufficient C memory'
Receiver's instance variables:
superclass: Alien
methodDict: a
MethodDictionary(#address->FFICallbackThunk>>#address #free->FFIC...etc...
format: 1048576
layout: a ByteLayout
organization: a ClassOrganization
subclasses: nil
name: #FFICallbackThunk
classPool: a Dictionary(#AccessProtect->a Semaphore()
#AllocatedThunks->an Alie...etc...
sharedPools: an OrderedCollection()
environment: a SystemDictionary(lots of globals)
category: #'Alien-Core'
lifoCallbackSemaphore: nil
[ ExecutablePages add: self allocateExecutablePage ] in FFICallbackThunk
class>>unusedBlockInExecutablePage
Receiver: FFICallbackThunk
Arguments and temporary variables:
Receiver's instance variables:
superclass: Alien
methodDict: a
MethodDictionary(#address->FFICallbackThunk>>#address #free->FFIC...etc...
format: 1048576
layout: a ByteLayout
organization: a ClassOrganization
subclasses: nil
name: #FFICallbackThunk
classPool: a Dictionary(#AccessProtect->a Semaphore()
#AllocatedThunks->an Alie...etc...
sharedPools: an OrderedCollection()
environment: a SystemDictionary(lots of globals)
category: #'Alien-Core'
lifoCallbackSemaphore: nil
[ caught := true.
self wait.
blockValue := mutuallyExcludedBlock value ] in Semaphore>>critical:
Receiver: a Semaphore()
Arguments and temporary variables:
mutuallyExcludedBlock: [ ExecutablePages add: self
allocateExecutablePage ]
caught: true
blockValue: nil
Receiver's instance variables:
firstLink: nil
lastLink: nil
excessSignals: 0
BlockClosure>>ensure:
Receiver: [ caught := true.
self wait.
blockValue := mutuallyExcludedBlock value ]
Arguments and temporary variables:
aBlock: [ caught
ifTrue: [ self signal ] ]
complete: nil
returnValue: nil
Receiver's instance variables:
outerContext: Semaphore>>critical:
startpc: 70
numArgs: 0
Semaphore>>critical:
Receiver: a Semaphore()
Arguments and temporary variables:
caught: true
blockValue: nil
mutuallyExcludedBlock: [ ExecutablePages add: self
allocateExecutablePage ]
Receiver's instance variables:
firstLink: nil
lastLink: nil
excessSignals: 0
FFICallbackThunk class>>unusedBlockInExecutablePage
Receiver: FFICallbackThunk
Arguments and temporary variables:
Receiver's instance variables:
superclass: Alien
methodDict: a
MethodDictionary(#address->FFICallbackThunk>>#address #free->FFIC...etc...
format: 1048576
layout: a ByteLayout
organization: a ClassOrganization
subclasses: nil
name: #FFICallbackThunk
classPool: a Dictionary(#AccessProtect->a Semaphore()
#AllocatedThunks->an Alie...etc...
sharedPools: an OrderedCollection()
environment: a SystemDictionary(lots of globals)
category: #'Alien-Core'
lifoCallbackSemaphore: nil
FFICallbackThunk class>>privateFinalizingNew
Receiver: FFICallbackThunk
Arguments and temporary variables:
address: nil
Receiver's instance variables:
superclass: Alien
methodDict: a
MethodDictionary(#address->FFICallbackThunk>>#address #free->FFIC...etc...
format: 1048576
layout: a ByteLayout
organization: a ClassOrganization
subclasses: nil
name: #FFICallbackThunk
classPool: a Dictionary(#AccessProtect->a Semaphore()
#AllocatedThunks->an Alie...etc...
sharedPools: an OrderedCollection()
environment: a SystemDictionary(lots of globals)
category: #'Alien-Core'
lifoCallbackSemaphore: nil
FFICallbackThunk class>>newCCall
Receiver: FFICallbackThunk
Arguments and temporary variables:
Receiver's instance variables:
superclass: Alien
methodDict: a
MethodDictionary(#address->FFICallbackThunk>>#address #free->FFIC...etc...
format: 1048576
layout: a ByteLayout
organization: a ClassOrganization
subclasses: nil
name: #FFICallbackThunk
classPool: a Dictionary(#AccessProtect->a Semaphore()
#AllocatedThunks->an Alie...etc...
sharedPools: an OrderedCollection()
environment: a SystemDictionary(lots of globals)
category: #'Alien-Core'
lifoCallbackSemaphore: nil
CallbackForX64(Callback)>>callbackEvaluator:
Receiver: a CallbackForX64
Arguments and temporary variables:
anEvaluator: a LGitTransportCertificateCheckCallback
Receiver's instance variables:
block: a LGitTransportCertificateCheckCallback
thunk: nil
evaluator: #evaluatorValueWithContext:sp:
numEvaluatorArgs: 2
argsProxyClass: nil
Callback class>>forCallbackEvaluator:
Receiver: Callback
Arguments and temporary variables:
anEvaluator: a LGitTransportCertificateCheckCallback
Receiver's instance variables:
superclass: Object
methodDict: a
MethodDictionary(#addToThunkTable->Callback>>#addToThunkTable #bl...etc...
format: 65541
layout: a FixedLayout
organization: a ClassOrganization
subclasses: {CallbackForARM32. CallbackForIA32.
CallbackForWin64X64. CallbackFo...etc...
name: #Callback
classPool: a Dictionary(#ABI->'X64'
#FlushThunkToCallbackMap->true #ThunkToCall...etc...
sharedPools: an OrderedCollection()
environment: a SystemDictionary(lots of globals)
category: #'Alien-Core'
concreteClass: CallbackForX64
LGitTransportCertificateCheckCallback(FFICallback)>>signature:block:
Receiver: a LGitTransportCertificateCheckCallback
Arguments and temporary variables:
signature: #(#int #(#void #* #cert #, #int #valid #,
#String #host #, #void #* ...etc...
aBlock: [ :cert :value :host :payload | 1 ]
Receiver's instance variables:
callback: nil
thunk: nil
functionSpec: a FFIFunctionSpec
block: [ :cert :value :host :payload | 1 ]
LGitTransportCertificateCheckCallback class(FFICallback class)>>signature:block:
Receiver: LGitTransportCertificateCheckCallback
Arguments and temporary variables:
aSignature: #(#int #(#void #* #cert #, #int #valid #,
#String #host #, #void #*...etc...
aBlock: [ :cert :value :host :payload | 1 ]
Receiver's instance variables:
superclass: LGitCallback
methodDict: a MethodDictionary()
format: 65540
layout: a FixedLayout
organization: a ClassOrganization
subclasses: nil
name: #LGitTransportCertificateCheckCallback
classPool: a Dictionary()
sharedPools: an OrderedCollection()
environment: a SystemDictionary(lots of globals)
category: #'LibGit-Core-FFI-Callbacks'
LGitTransportCertificateCheckCallback class(LGitCallback class)>>on:
Receiver: LGitTransportCertificateCheckCallback
Arguments and temporary variables:
aBlock: [ :cert :value :host :payload | 1 ]
Receiver's instance variables:
superclass: LGitCallback
methodDict: a MethodDictionary()
format: 65540
layout: a FixedLayout
organization: a ClassOrganization
subclasses: nil
name: #LGitTransportCertificateCheckCallback
classPool: a Dictionary()
sharedPools: an OrderedCollection()
environment: a SystemDictionary(lots of globals)
category: #'LibGit-Core-FFI-Callbacks'
LGitRemoteCallbacks class>>newCertificateCheckCallback
Receiver: LGitRemoteCallbacks
Arguments and temporary variables:
Receiver's instance variables:
superclass: LGitStructWithDefaults
methodDict: a
MethodDictionary(#certificateCheck:->LGitRemoteCallbacks>>#certif...etc...
format: 65541
layout: a FixedLayout
organization: a ClassOrganization
subclasses: nil
name: #LGitRemoteCallbacks
classPool: a Dictionary(#OFFSET_PRIM_CERTIFICATE_CHECK->33
#OFFSET_PRIM_COMPLET...etc...
sharedPools: an OrderedCollection()
environment: a SystemDictionary(lots of globals)
category: #'LibGit-Core-FFI-Structs'
compiledSpec: a WordArray(65640 100925444 393224 393224
393224 393224 393224 39...etc...
externalStructureAlignment: 8
LGitRemoteCallbacks class>>defaults
Receiver: LGitRemoteCallbacks
Arguments and temporary variables:
Receiver's instance variables:
superclass: LGitStructWithDefaults
methodDict: a
MethodDictionary(#certificateCheck:->LGitRemoteCallbacks>>#certif...etc...
format: 65541
layout: a FixedLayout
organization: a ClassOrganization
subclasses: nil
name: #LGitRemoteCallbacks
classPool: a Dictionary(#OFFSET_PRIM_CERTIFICATE_CHECK->33
#OFFSET_PRIM_COMPLET...etc...
sharedPools: an OrderedCollection()
environment: a SystemDictionary(lots of globals)
category: #'LibGit-Core-FFI-Structs'
compiledSpec: a WordArray(65640 100925444 393224 393224
393224 393224 393224 39...etc...
externalStructureAlignment: 8
LGitRemoteCallbacks class>>withProvider:
Receiver: LGitRemoteCallbacks
Arguments and temporary variables:
provider: an IceTipInteractiveCredentialsProvider
Receiver's instance variables:
superclass: LGitStructWithDefaults
methodDict: a
MethodDictionary(#certificateCheck:->LGitRemoteCallbacks>>#certif...etc...
format: 65541
layout: a FixedLayout
organization: a ClassOrganization
subclasses: nil
name: #LGitRemoteCallbacks
classPool: a Dictionary(#OFFSET_PRIM_CERTIFICATE_CHECK->33
#OFFSET_PRIM_COMPLET...etc...
sharedPools: an OrderedCollection()
environment: a SystemDictionary(lots of globals)
category: #'LibGit-Core-FFI-Structs'
compiledSpec: a WordArray(65640 100925444 393224 393224
393224 393224 393224 39...etc...
externalStructureAlignment: 8
LGitCloneOptions class>>withCredentialsProvider:
Receiver: LGitCloneOptions
Arguments and temporary variables:
provider: an IceTipInteractiveCredentialsProvider
fetchOptions: nil
Receiver's instance variables:
superclass: LGitStructWithDefaults
methodDict: a
MethodDictionary(#checkoutOptions->LGitCloneOptions>>#checkoutOpt...etc...
format: 65538
layout: a FixedLayout
organization: a ClassOrganization
subclasses: nil
name: #LGitCloneOptions
classPool: a Dictionary(#OFFSET_PRIM_BARE->337
#OFFSET_PRIM_CHECKOUT_BRANCH->34...etc...
sharedPools: an OrderedCollection()
environment: a SystemDictionary(lots of globals)
category: #'LibGit-Core-FFI-Structs'
compiledSpec: nil
externalStructureAlignment: 8
[ location ensureCreateDirectory.
repo := LGitRepository on: location.
cloneOptions := LGitCloneOptions
withCredentialsProvider: (IceCredentialsProvider defaultForRemoteUrl:
url).
"Keeping references, because if not the GC take them."
checkoutOptions := cloneOptions checkoutOptions.
callbacks := cloneOptions fetchOptions callbacks.
callbacks transferProgress: IceGitTransferProgress new.
checkoutOptions
checkoutStrategy: LGitCheckoutStrategyEnum git_checkout_force.
checkoutOptions progressCallback: IceGitCheckoutProgress new.
repo clone: url options: cloneOptions.
(LGitRemote of: repo named: 'origin')
lookup;
setUrl: url ] in IceGitClone>>execute
Receiver: an IceGitClone
Arguments and temporary variables:
checkoutOptions: nil
repo: a LGitRepository (<not initialized>)
cloneOptions: nil
callbacks: nil
Receiver's instance variables:
location: File @
/home/pf/Pharo7-fixes/pharo-local/iceberg/petr-fischer/pharo
url: '[email protected]:petr-fischer/pharo.git'
BlockClosure>>on:do:
Receiver: [ location ensureCreateDirectory.
repo := LGitRepository on: location.
cloneOptions := LGi...etc...
Arguments and temporary variables:
exception: an ExceptionSet
handlerAction: [ :error |
location exists
ifTrue: [ location ensureDeleteAll ...etc...
Receiver's instance variables:
outerContext: IceGitClone>>execute
startpc: 320
numArgs: 0
IceGitClone>>execute
Receiver: an IceGitClone
Arguments and temporary variables:
checkoutOptions: nil
repo: a LGitRepository (<not initialized>)
cloneOptions: nil
callbacks: nil
Receiver's instance variables:
location: File @
/home/pf/Pharo7-fixes/pharo-local/iceberg/petr-fischer/pharo
url: '[email protected]:petr-fischer/pharo.git'
IceRepositoryCreator>>cloneRepository
Receiver: an IceRepositoryCreator
Arguments and temporary variables:
Receiver's instance variables:
location: File @
/home/pf/Pharo7-fixes/pharo-local/iceberg/petr-fischer/pharo
url: nil
remote: noname ([email protected]:petr-fischer/pharo.git)
branchName: nil
subdirectory: nil
repository: IceLibgitRepository(pharo)
ensureProjectFile: false
[ self validate.
self isCloning
ifTrue: [ self cloneRepository ]
ifFalse: [ self addLocalRepository ] ] in
IceRepositoryCreator>>createRepository
Receiver: an IceRepositoryCreator
Arguments and temporary variables:
Receiver's instance variables:
location: File @
/home/pf/Pharo7-fixes/pharo-local/iceberg/petr-fischer/pharo
url: nil
remote: noname ([email protected]:petr-fischer/pharo.git)
branchName: nil
subdirectory: nil
repository: IceLibgitRepository(pharo)
ensureProjectFile: false
BlockClosure>>on:do:
Receiver: [ self validate.
self isCloning
ifTrue: [ self cloneRepository ]
ifFalse: [ self addLoca...etc...
Arguments and temporary variables:
exception: IceDuplicatedRepository
handlerAction: [ :e | "This is a HACK to allow process to
recover from here" e ...etc...
Receiver's instance variables:
outerContext: IceRepositoryCreator>>createRepository
startpc: 93
numArgs: 0
IceRepositoryCreator>>createRepository
Receiver: an IceRepositoryCreator
Arguments and temporary variables:
Receiver's instance variables:
location: File @
/home/pf/Pharo7-fixes/pharo-local/iceberg/petr-fischer/pharo
url: nil
remote: noname ([email protected]:petr-fischer/pharo.git)
branchName: nil
subdirectory: nil
repository: IceLibgitRepository(pharo)
ensureProjectFile: false
[ ^ IceRepositoryCreator new
repository: repository;
remote: (IceGitRemote url: self remoteUrl);
location: self projectLocation location;
createRepository ] in
IceTipGitHubRepositoryPanel(IceTipGitRepositoryPanel)>>newRepository
Receiver: an IceTipGitHubRepositoryPanel
Arguments and temporary variables:
Receiver's instance variables:
dependents: a DependentsArray(a MorphicContainerAdapter a
MorphicContainerAdapt...etc...
announcer: an Announcer
focusOrder: an OrderedCollection(a TextInputFieldPresenter
a TextInputFieldPres...etc...
owner: nil
window: a NewValueHolder[ nil ]
spec: a SpecWrapper
extentHolder: a NewValueHolder[ nil ]
needRebuild: a NewValueHolder[ true ]
additionalKeyBindings:
--- End Message ---