We want to run Pharo6 with Ubuntu 16.04 Linux (in a Docker Image) and use OSSubprocess.
For this, we use this vm: https://get.pharo.org/61+vmT [1] tells me: "If you are installing under Linux, then you must use a threaded heartbeat VM" We also created a file /etc/security/limits.d/pharo.conf and put the parameters in like described in the message [2] when startup. Also we log out and in. Question 1: the message (pthread_setschedparam failed: Operation not permitted) comes again to the console each time we use OSSubprocess. As far as I understand, it should disappear. Does this mean, that we did not edit the pharo.conf correctly? Question 2: after several uses of OSSubprocess within our application, Pharo crashes (no PharoDebug.log) with the following messages [3]. How can we avoid this, what are we doing wrong? Question 3: sometimes (!) when we load (exactly the same code loaded with a script), we also get a crash, see [4]. Bug? wrong vm? I am unhappy with this and it takes a lot of time. What are we doing wrong? We want to run Pharo6 with OSSubprocess in Linux within a docker image for our staging environment. Help very welcome :-) Sabine [1]https://github.com/marianopeck/OSSubprocess [2](https://github.com/OpenSmalltalk/opensmalltalk-vm/releases/tag/r3732#linux) [3]crash message *** buffer overflow detected ***: /spf/build/pharo-vm/lib/pharo/5.0-201707201942/pharo terminated ======= Backtrace: ========= /lib/i386-linux-gnu/libc.so.6(+0x67377)[0xf75f3377] /lib/i386-linux-gnu/libc.so.6(__fortify_fail+0x68)[0xf7683708] /lib/i386-linux-gnu/libc.so.6(+0xf58f8)[0xf76818f8] /lib/i386-linux-gnu/libc.so.6(+0xf75fa)[0xf76835fa] /spf/build/pharo-vm/lib/pharo/5.0-201707201942/pharo(aioEnable+0x31)[0x80c9811] /spf/build/pharo-vm/lib/pharo/5.0-201707201942/pharo[0x81215ee] [0xa1010e0] [0xa1c2bb8] [0xa15f50c] ....a lot more [4] PharoDebug.log HERE_BE_DRAGONS_HERE KeyNotFound: key #arg1 not found in Dictionary 5 March 2018 11:31:51.792142 am VM: unix - i686 - linux-gnu - CoInterpreter VMMaker.oscog-eem.2254 uuid: 4f2c2cce-f4a2-469a-93f1-97ed941df0ad Jul 20 2017 StackToRegisterMappingCogit VMMaker.oscog-eem.2252 uuid: 2f3e9b0e-ecd3-4adf-b092-cce2e2587a5c Jul 20 2017 VM: 201707201942 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $ Date: Thu Jul 20 12:42:21 2017 -0700 $ Plugins: 201707201942 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $ Image: Pharo6.0 [Latest update: #60536] Dictionary>>errorKeyNotFound: Receiver: a Dictionary(#arg3->1 #tmp2->2 ) Arguments and temporary variables: aKey: #arg1 Receiver's instance variables: tally: 2 array: {nil. nil. #arg3->1. #tmp2->2. nil} [ self errorKeyNotFound: key ] in Dictionary>>at: Receiver: a Dictionary(#arg3->1 #tmp2->2 ) Arguments and temporary variables: key: #arg1 Receiver's instance variables: tally: 2 array: {nil. nil. #arg3->1. #tmp2->2. nil} Dictionary>>at:ifAbsent: Receiver: a Dictionary(#arg3->1 #tmp2->2 ) Arguments and temporary variables: arg1: #arg1 arg2: [ self errorKeyNotFound: key ] tmp1: nil Receiver's instance variables: tally: 2 array: {nil. nil. #arg3->1. #tmp2->2. nil} Dictionary>>at: Receiver: a Dictionary(#arg3->1 #tmp2->2 ) Arguments and temporary variables: key: #arg1 Receiver's instance variables: tally: 2 array: {nil. nil. #arg3->1. #tmp2->2. nil} IRPushClosureCopy>>indexForVarNamed: Receiver: pushClosureCopyCopiedValues: #() args: #(#arg3) Arguments and temporary variables: aName: #arg1 Receiver's instance variables: sourceNode: RBBlockNode([ :arg3 | | tmp2 | tmp2 := arg3. tmp2 nextPutAll: arg...etc... bytecodeIndex: nil sequence: an IRSequence (1) destination: an IRSequence (3) successor: nil numArgs: nil blockSequence: an IRSequence (2) tempMap: a Dictionary(#arg3->1 #tmp2->2 ) copiedValues: #() lastBlockSequence: an IRSequence (2) arguments: #(#arg3) IRTranslatorV2>>visitPushTemp: Receiver: an IRTranslatorV2 Arguments and temporary variables: tmp: pushTemp: #arg1 Receiver's instance variables: gen: an IRBytecodeGenerator currentScope: a Stack(pushClosureCopyCopiedValues: #() args: #(#arg3) an IRMeth...etc... trailer: a CompiledMethodTrailer tempVectorStack: a Stack() compilationContext: a CompilationContext IRPushTemp>>accept: Receiver: pushTemp: #arg1 Arguments and temporary variables: aVisitor: an IRTranslatorV2 Receiver's instance variables: sourceNode: RBArgumentNode(arg1) bytecodeIndex: nil sequence: an IRSequence (2) name: #arg1 IRTranslatorV2(IRVisitor)>>visitNode: Receiver: an IRTranslatorV2 Arguments and temporary variables: elem: pushTemp: #arg1 Receiver's instance variables: gen: an IRBytecodeGenerator currentScope: a Stack(pushClosureCopyCopiedValues: #() args: #(#arg3) an IRMeth...etc... trailer: a CompiledMethodTrailer tempVectorStack: a Stack() compilationContext: a CompilationContext IRTranslatorV2>>visitInstruction: Receiver: an IRTranslatorV2 Arguments and temporary variables: instr: pushTemp: #arg1 Receiver's instance variables: gen: an IRBytecodeGenerator currentScope: a Stack(pushClosureCopyCopiedValues: #() args: #(#arg3) an IRMeth...etc... trailer: a CompiledMethodTrailer tempVectorStack: a Stack() compilationContext: a CompilationContext [ :arg2 | self visitInstruction: arg2 ] in IRTranslatorV2(IRVisitor)>>visitSequence: Receiver: an IRTranslatorV2 Arguments and temporary variables: arg1: an IRSequence (2) arg2: pushTemp: #arg1 Receiver's instance variables: gen: an IRBytecodeGenerator currentScope: a Stack(pushClosureCopyCopiedValues: #() args: #(#arg3) an IRMeth...etc... trailer: a CompiledMethodTrailer tempVectorStack: a Stack() compilationContext: a CompilationContext OrderedCollection>>do: Receiver: an OrderedCollection(pushTemp: #arg3 popIntoTemp: #tmp2 pushTemp: #tmp2 pushDup pushTemp: ...etc... Arguments and temporary variables: <<error during printing> Receiver's instance variables: array: an Array(pushTemp: #arg3 popIntoTemp: #tmp2 pushTemp: #tmp2 pushDup push...etc... firstIndex: 1 lastIndex: 25 IRSequence>>do: Receiver: an IRSequence (2) Arguments and temporary variables: aBlock: [ :arg2 | self visitInstruction: arg2 ] Receiver's instance variables: sequence: an OrderedCollection(pushTemp: #arg3 popIntoTemp: #tmp2 pushTemp: #tm...etc... orderNumber: 2 method: an IRMethod IRTranslatorV2(IRVisitor)>>visitSequence: Receiver: an IRTranslatorV2 Arguments and temporary variables: arg1: an IRSequence (2) Receiver's instance variables: gen: an IRBytecodeGenerator currentScope: a Stack(pushClosureCopyCopiedValues: #() args: #(#arg3) an IRMeth...etc... trailer: a CompiledMethodTrailer tempVectorStack: a Stack() compilationContext: a CompilationContext IRTranslatorV2>>visitSequence: Receiver: an IRTranslatorV2 Arguments and temporary variables: instructionSequence: an IRSequence (2) Receiver's instance variables: gen: an IRBytecodeGenerator currentScope: a Stack(pushClosureCopyCopiedValues: #() args: #(#arg3) an IRMeth...etc... trailer: a CompiledMethodTrailer tempVectorStack: a Stack() compilationContext: a CompilationContext IRSequence>>accept: Receiver: an IRSequence (2) Arguments and temporary variables: aVisitor: an IRTranslatorV2 Receiver's instance variables: sequence: an OrderedCollection(pushTemp: #arg3 popIntoTemp: #tmp2 pushTemp: #tm...etc... orderNumber: 2 method: an IRMethod IRTranslatorV2(IRVisitor)>>visitNode: Receiver: an IRTranslatorV2 Arguments and temporary variables: elem: an IRSequence (2) Receiver's instance variables: gen: an IRBytecodeGenerator currentScope: a Stack(pushClosureCopyCopiedValues: #() args: #(#arg3) an IRMeth...etc... trailer: a CompiledMethodTrailer tempVectorStack: a Stack() compilationContext: a CompilationContext [ :arg2 | self visitNode: arg2 ] in IRTranslatorV2(IRVisitor)>>visitNodes: Receiver: an IRTranslatorV2 Arguments and temporary variables: arg1: a SortedCollection(an IRSequence (1) an IRSequence (2) an IRSequence (3) ...etc... arg2: an IRSequence (2) Receiver's instance variables: gen: an IRBytecodeGenerator currentScope: a Stack(pushClosureCopyCopiedValues: #() args: #(#arg3) an IRMeth...etc... trailer: a CompiledMethodTrailer tempVectorStack: a Stack() compilationContext: a CompilationContext SortedCollection(OrderedCollection)>>do: Receiver: a SortedCollection(an IRSequence (1) an IRSequence (2) an IRSequence (3) an IRSequence (4)...etc... Arguments and temporary variables: <<error during printing> Receiver's instance variables: array: an Array(an IRSequence (1) an IRSequence (2) an IRSequence (3) an IRSequ...etc... firstIndex: 1 lastIndex: 7 sortBlock: [ :arg2 :arg3 | arg2 orderNumber <= arg3 orderNumber ] IRTranslatorV2(IRVisitor)>>visitNodes: Receiver: an IRTranslatorV2 Arguments and temporary variables: arg1: a SortedCollection(an IRSequence (1) an IRSequence (2) an IRSequence (3) ...etc... Receiver's instance variables: gen: an IRBytecodeGenerator currentScope: a Stack(pushClosureCopyCopiedValues: #() args: #(#arg3) an IRMeth...etc... trailer: a CompiledMethodTrailer tempVectorStack: a Stack() compilationContext: a CompilationContext IRTranslatorV2>>visitSequences: Receiver: an IRTranslatorV2 Arguments and temporary variables: arg1: a SortedCollection(an IRSequence (1) an IRSequence (2) an IRSequence (3) ...etc... Receiver's instance variables: gen: an IRBytecodeGenerator currentScope: a Stack(pushClosureCopyCopiedValues: #() args: #(#arg3) an IRMeth...etc... trailer: a CompiledMethodTrailer tempVectorStack: a Stack() compilationContext: a CompilationContext IRTranslatorV2>>visitMethod: Receiver: an IRTranslatorV2 Arguments and temporary variables: anIr: an IRMethod Receiver's instance variables: gen: an IRBytecodeGenerator currentScope: a Stack(pushClosureCopyCopiedValues: #() args: #(#arg3) an IRMeth...etc... trailer: a CompiledMethodTrailer tempVectorStack: a Stack() compilationContext: a CompilationContext IRMethod>>accept: Receiver: an IRMethod Arguments and temporary variables: aVisitor: an IRTranslatorV2 Receiver's instance variables: sourceNode: logError: arg1 inContext: arg2 self logStdErrorDuring: [ :arg3 |...etc... startSequence: an IRSequence (1) numArgs: 2 properties: nil tempMap: a Dictionary(#arg1->1 #arg2->2 ) pragmas: an OrderedCollection() additionalLiterals: an OCLiteralSet(#ifNotNil:) compiledMethod: nil compilationContext: a CompilationContext irPrimitive: primitive 0 -- Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html