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 () cloneOptions: nil callbacks: nil Receiver's instance variables: location: File @ /home/pf/Pharo7-fixes/pharo-local/iceberg/petr-fischer/pharo url: 'git@github.com: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 () cloneOptions: nil callbacks: nil Receiver's instance variables: location: File @ /home/pf/Pharo7-fixes/pharo-local/iceberg/petr-fischer/pharo url: 'git@github.com: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 (git@github.com: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 (git@github.com: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 (git@github.com: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: