Hi, We're building the pharo.cog.spur VM on Debian (32 bits, itimer, on 64 with compat libs). Unfortunately, we're running into one particular problem with OSProcess. Some primitives like primitiveFileStat work but forking a child process (e.g. with #waitForCommand) produces a segfault. We've tried to find a difference between our build and the VM downloaded from bintray but we weren't very successful. One difference we do see is that our libc6 version is 2.19, while the one used in the travis build is 2.15 (although both binaries use the 2.19 version at runtime). I'm aware that OSProcess hasn't been tagged as officially ready for Pharo 6 (which is where I'm using it). However, all of my tests with the prebuilt VM's have been successful. Do any of you have an idea as to what the problem could be? I've attached the stack trace below. One possibly interesting thing is that the stack trace is being printed in an infinite loop, i.e. the process isn't killed but the VM just keeps printing out the same trace. Cheers, Max could not open "[redacted]/crash.dmp" for writing. Segmentation fault Tue May 16 14:52:22 2017 /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/pharo Pharo VM version: 5.0-$URL$ Tue May 16 12:22:16 UTC 2017 gcc 4.9.2 [Production Spur ITHB VM] Built from: CoInterpreter VMMaker.oscog-eem.2207 uuid: 8da5de9b-33d7-478b-9081-58591f7da69a May 16 2017 With: StackToRegisterMappingCogit VMMaker.oscog-eem.2208 uuid: 4877be7d-941d-4e15-b6df-4f1b8c7072a8 May 16 2017 Revision: VM: $URL$ $Date$ Date: $Rev$ Plugins: $Rev$ Build host: Linux nuc 4.10.0-20-generic #22-Ubuntu SMP Thu Apr 20 09:22:42 UTC 2017 i686 GNU/Linux plugin path: /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/ [default: /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/] C stack backtrace & registers: eax 0xffb43924 ebx 0xffb43840 ecx 0xffb438d8 edx 0xffb4388c edi 0xffb43710 esi 0xffb43710 ebp 0xffb437a8 esp 0xffb437f4 eip 0xffb43a08 *[0xffb43a08] /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/pharo[0x805dc40] /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/pharo[0x805f52d] linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xf7745d40] /lib/i386-linux-gnu/i686/cmov/libc.so.6(abort+0x223)[0xf752db03] /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/pharo[0x805f556] linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xf7745d40] /lib/i386-linux-gnu/i686/cmov/libc.so.6(abort+0x223)[0xf752db03] /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/pharo[0x805f556] linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xf7745d40] /lib/i386-linux-gnu/i686/cmov/libc.so.6(abort+0x223)[0xf752db03] /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/pharo[0x805f556] linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xf7745d40] /lib/i386-linux-gnu/i686/cmov/libc.so.6(abort+0x223)[0xf752db03] /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/pharo[0x805f556] linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xf7745d40] /lib/i386-linux-gnu/i686/cmov/libc.so.6(abort+0x223)[0xf752db03] /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/pharo[0x805f556] linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xf7745d40] /lib/i386-linux-gnu/i686/cmov/libc.so.6(abort+0x223)[0xf752db03] /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/pharo[0x805f556] linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xf7745d40] /lib/i386-linux-gnu/i686/cmov/libc.so.6(abort+0x223)[0xf752db03] /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/pharo[0x805f556] linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xf7745d40] /lib/i386-linux-gnu/i686/cmov/libc.so.6(abort+0x223)[0xf752db03] /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/pharo[0x805f556] linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xf7745d40] /lib/i386-linux-gnu/i686/cmov/libc.so.6(abort+0x223)[0xf752db03] /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/pharo[0x805f556] linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xf7745d40] /lib/i386-linux-gnu/i686/cmov/libc.so.6(abort+0x223)[0xf752db03] /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/pharo[0x805f556] linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xf7745d40] /lib/i386-linux-gnu/i686/cmov/libc.so.6(abort+0x223)[0xf752db03] /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/pharo[0x805f556] linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xf7745d40] /lib/i386-linux-gnu/i686/cmov/libc.so.6(abort+0x223)[0xf752db03] /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/pharo[0x805f556] linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xf7745d40] /lib/i386-linux-gnu/i686/cmov/libc.so.6(abort+0x223)[0xf752db03] /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/pharo[0x805f556] linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xf7745d40] /lib/i386-linux-gnu/i686/cmov/libc.so.6(abort+0x223)[0xf752db03] /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/pharo[0x805f556] linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xf7745d40] /lib/i386-linux-gnu/i686/cmov/libc.so.6(abort+0x223)[0xf752db03] /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/pharo[0x805f556] linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xf7745d40] /lib/i386-linux-gnu/i686/cmov/libc.so.6(abort+0x223)[0xf752db03] /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/pharo[0x805f556] linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xf7745d40] /lib/i386-linux-gnu/i686/cmov/libc.so.6(abort+0x223)[0xf752db03] /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/pharo[0x805f556] linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xf7745d40] /lib/i386-linux-gnu/i686/cmov/libc.so.6(abort+0x223)[0xf752db03] /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/pharo[0x805f556] linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xf7745d40] /lib/i386-linux-gnu/i686/cmov/libc.so.6(abort+0x223)[0xf752db03] /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/pharo[0x805f556] linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xf7745d40] /lib/i386-linux-gnu/i686/cmov/libc.so.6(abort+0x223)[0xf752db03] /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/pharo[0x805f556] linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xf7745d40] /lib/i386-linux-gnu/i686/cmov/libc.so.6(abort+0x223)[0xf752db03] /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/pharo[0x81399a0] Smalltalk stack dump: 0xffd15d1c I UnixOSProcessAccessor>forkAndExec:stdIn:stdOut:stdErr:argBuf:argOffsets:envBuf:envOffsets:workingDir: 0xe39e3b8: a(n) UnixOSProcessAccessor 0xffd15d98 I UnixProcess>processProxy:forkAndExec:arguments:environment:descriptors: 0xcdd1fd8: a(n) UnixProcess 0xffd15dcc I ExternalUnixOSProcess>forkChild 0x9b79318: a(n) ExternalUnixOSProcess 0xffd15df0 I ExternalUnixOSProcess class>forkAndExec:arguments:environment:descriptors: 0xcd70c30: a(n) ExternalUnixOSProcess class 0xffd15e20 I UnixProcess>forkAndExec:arguments:environment:descriptors: 0xcdd1fd8: a(n) UnixProcess 0xffd15e50 I UnixProcess>forkJob:arguments:environment:descriptors: 0xcdd1fd8: a(n) UnixProcess 0xffd14c10 I UnixProcess>waitForCommand: 0xcdd1fd8: a(n) UnixProcess 0xffd14c2c M UndefinedObject>DoIt 0x9cc4c70: a(n) UndefinedObject 0xffd14c5c I OpalCompiler>evaluate 0x9b5efa8: a(n) OpalCompiler 0xffd14c7c I OpalCompiler(AbstractCompiler)>evaluate: 0x9b5efa8: a(n) OpalCompiler 0xffd14ca0 M [] in EvaluateCommandLineHandler>evaluate: 0x9b5e308: a(n) EvaluateCommandLineHandler 0xffd14cb8 M BlockClosure>on:do: 0x9b5ef70: a(n) BlockClosure 0xffd14ce4 I EvaluateCommandLineHandler>evaluate: 0x9b5e308: a(n) EvaluateCommandLineHandler 0xffd14d0c I EvaluateCommandLineHandler>evaluateArguments 0x9b5e308: a(n) EvaluateCommandLineHandler 0xffd14d2c I EvaluateCommandLineHandler>activate 0x9b5e308: a(n) EvaluateCommandLineHandler 0xffd14d4c I EvaluateCommandLineHandler class(CommandLineHandler class)>activateWith: 0xa1fd638: a(n) EvaluateCommandLineHandler class 0xffd14d6c M [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: 0xe694a28: a(n) PharoCommandLineHandler 0xffd14d84 M BlockClosure>on:do: 0x9b5e2d8: a(n) BlockClosure 0xffd14da4 M PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: 0xe694a28: a(n) PharoCommandLineHandler 0xffd14dcc I PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand 0xe694a28: a(n) PharoCommandLineHandler 0xffd14dec I PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: 0xe694a28: a(n) PharoCommandLineHandler 0xffd14e08 M [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate 0xe694a28: a(n) PharoCommandLineHandler 0xffd14e20 M BlockClosure>on:do: 0x9b5caf8: a(n) BlockClosure 0xffd14e40 M PharoCommandLineHandler(BasicCommandLineHandler)>activate 0xe694a28: a(n) PharoCommandLineHandler 0xffd14e60 I PharoCommandLineHandler>activate 0xe694a28: a(n) PharoCommandLineHandler 0xffd0bc1c I PharoCommandLineHandler class(CommandLineHandler class)>activateWith: 0xa07e658: a(n) PharoCommandLineHandler class 0xffd0bc44 I [] in PharoCommandLineHandler class>activateWith: 0xa07e658: a(n) PharoCommandLineHandler class 0xffd0bc64 I NonInteractiveUIManager(UIManager)>defer: 0xe61f510: a(n) NonInteractiveUIManager 0xffd0bc88 I PharoCommandLineHandler class>activateWith: 0xa07e658: a(n) PharoCommandLineHandler class 0xffd0bca8 M [] in BasicCommandLineHandler>activateSubCommand: 0xe694080: a(n) BasicCommandLineHandler 0xffd0bcc0 M BlockClosure>on:do: 0xe694098: a(n) BlockClosure 0xffd0bce8 I BasicCommandLineHandler>activateSubCommand: 0xe694080: a(n) BasicCommandLineHandler 0xffd0bd10 I BasicCommandLineHandler>handleSubcommand 0xe694080: a(n) BasicCommandLineHandler 0xffd0bd30 I BasicCommandLineHandler>handleArgument: 0xe694080: a(n) BasicCommandLineHandler 0xffd0bd4c M [] in BasicCommandLineHandler>activate 0xe694080: a(n) BasicCommandLineHandler 0xffd0bd64 M BlockClosure>on:do: 0xe694210: a(n) BlockClosure 0xffd0bd8c I BasicCommandLineHandler>activate 0xe694080: a(n) BasicCommandLineHandler 0xffd0bda4 M [] in BasicCommandLineHandler class>startUp: 0xa07e5e8: a(n) BasicCommandLineHandler class 0xffd0bdbc M BlockClosure>cull: 0xe6942a0: a(n) BlockClosure 0xffd0bde4 I WorkingSession>executeDeferredStartupActions: 0xe61e630: a(n) WorkingSession 0xffd0be08 I WorkingSession>runStartup: 0xe61e630: a(n) WorkingSession 0xffd0be2c I WorkingSession>start: 0xe61e630: a(n) WorkingSession 0xffd0be58 I SessionManager>snapshot:andQuit: 0xb904f38: a(n) SessionManager 0xe39f508 s [] in SmalltalkImage>snapshot:andQuit: 0xe3a08b8 s CurrentExecutionEnvironment class>activate:for: 0xe3a1010 s DefaultExecutionEnvironment(ExecutionEnvironment)>beActiveDuring: 0xe3a1810 s DefaultExecutionEnvironment class>beActiveDuring: 0xe3a1070 s SmalltalkImage>snapshot:andQuit: 0xe3a1870 s EvaluateCommandLineHandler>activate 0xe3a1b78 s EvaluateCommandLineHandler class(CommandLineHandler class)>activateWith: 0xe3a1e20 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: 0xe3a1fd0 s BlockClosure>on:do: 0xe3a2120 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: 0xe3a3260 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand 0xe3a34e8 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: 0xe3a36e0 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate 0xe3a3960 s BlockClosure>on:do: 0xe3a3b38 s PharoCommandLineHandler(BasicCommandLineHandler)>activate 0xe3a3cd0 s PharoCommandLineHandler>activate 0xe3a3d30 s PharoCommandLineHandler class(CommandLineHandler class)>activateWith: 0xe3a3d90 s [] in PharoCommandLineHandler class>activateWith: 0xe3a3df0 s NonInteractiveUIManager(UIManager)>defer: 0xe3a3e68 s PharoCommandLineHandler class>activateWith: 0xe3a3ed8 s [] in BasicCommandLineHandler>activateSubCommand: 0xe3a3f38 s BlockClosure>on:do: 0xe3a3fc8 s BasicCommandLineHandler>activateSubCommand: 0xe3a4080 s BasicCommandLineHandler>handleSubcommand 0xe3a4100 s BasicCommandLineHandler>handleArgument: 0xe3a4198 s [] in BasicCommandLineHandler>activate 0xe3a42f8 s BlockClosure>on:do: 0xe3a44d0 s BasicCommandLineHandler>activate 0xe3a4668 s [] in BasicCommandLineHandler class>startUp: 0xe3a46c8 s BlockClosure>cull: 0xe3a4740 s WorkingSession>executeDeferredStartupActions: 0xe3a4800 s WorkingSession>runStartup: 0xe3a4860 s WorkingSession>start: 0xe36abe8 s SessionManager>snapshot:andQuit: 0xe36ac58 s [] in SmalltalkImage>snapshot:andQuit: 0xe36acb8 s CurrentExecutionEnvironment class>activate:for: 0xe36ad18 s DefaultExecutionEnvironment(ExecutionEnvironment)>beActiveDuring: 0xe36ad78 s DefaultExecutionEnvironment class>beActiveDuring: 0xe36ab78 s SmalltalkImage>snapshot:andQuit: 0xbe92200 s EvaluateCommandLineHandler>activate 0xbe94118 s EvaluateCommandLineHandler class(CommandLineHandler class)>activateWith: 0xbe94768 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: 0xbe94948 s BlockClosure>on:do: 0xbe94b78 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: 0xbe94c20 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand 0xbe94e18 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: 0xbe94eb8 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate 0xbe95000 s BlockClosure>on:do: 0xbe95078 s PharoCommandLineHandler(BasicCommandLineHandler)>activate 0xbe72248 s PharoCommandLineHandler>activate 0xbe71e50 s PharoCommandLineHandler class(CommandLineHandler class)>activateWith: 0xbe72c10 s [] in PharoCommandLineHandler class>activateWith: 0xbe73468 s NonInteractiveUIManager(UIManager)>defer: 0xbe71ed8 s PharoCommandLineHandler class>activateWith: 0xbe72c70 s [] in BasicCommandLineHandler>activateSubCommand: 0xbe734c8 s BlockClosure>on:do: 0xbe71f80 s BasicCommandLineHandler>activateSubCommand: 0xbe71ff8 s BasicCommandLineHandler>handleSubcommand 0xbe72cd0 s BasicCommandLineHandler>handleArgument: 0xbe72068 s [] in BasicCommandLineHandler>activate 0xbe72d30 s BlockClosure>on:do: 0xbe720f8 s BasicCommandLineHandler>activate 0xbe72d90 s [] in BasicCommandLineHandler class>startUp: 0xbe73528 s BlockClosure>cull: 0xbe74378 s WorkingSession>executeDeferredStartupActions: 0xbe72170 s WorkingSession>runStartup: 0xbe721d0 s WorkingSession>start: 0xbe6fd78 s SessionManager>snapshot:andQuit: 0xbe6fdf8 s [] in SmalltalkImage>snapshot:andQuit: 0xbe6fe58 s CurrentExecutionEnvironment class>activate:for: 0xbe6fed8 s DefaultExecutionEnvironment(ExecutionEnvironment)>beActiveDuring: 0xbe6ff98 s DefaultExecutionEnvironment class>beActiveDuring: 0xbe6ff38 s SmalltalkImage>snapshot:andQuit: 0xbe6fff8 s [] in UndefinedObject>DoIt 0xbe70058 s [] in BlockClosure>newProcess Most recent primitives at:put: size at: at:put: size at: at:put: size at: at:put: size at: at:put: size at: at:put: size at: at:put: size at: at:put: size at: at:put: size at: at:put: size at: at:put: size at: at:put: size at: at:put: size at: at:put: size at: at:put: size at: at:put: size at: at:put: size at: at:put: at:put: - - - - at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: replaceFrom:to:with:startingAt: at:put: at:put: at:put: at:put: at:put: objectAt:put: objectAt:put: objectAt:put: objectAt:put: objectAt:put: objectAt:put: species value: bitAnd: **PrimitiveFailure** bitAnd: **PrimitiveFailure** bitOr: **PrimitiveFailure** bitOr: **PrimitiveFailure** bitClear: class class objectAt:put: stringHash:initialHash: objectAt:put: withArgs:executeMethod: basicNew basicNew **StackOverflow** stringHash:initialHash: perform: size class basicNew quo: indexOfAscii:inString:startingAt: replaceFrom:to:with:startingAt: indexOfAscii:inString:startingAt: replaceFrom:to:with:startingAt: indexOfAscii:inString:startingAt: replaceFrom:to:with:startingAt: compare:with:collated: compare:with:collated: basicNew: basicNew imageFile replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: translate:from:to:table: compare:with:collated: replaceFrom:to:with:startingAt: translate:from:to:table: basicIdentityHash stringHash:initialHash: replaceFrom:to:with:startingAt: translate:from:to:table: stringHash:initialHash: replaceFrom:to:with:startingAt: translate:from:to:table: compare:with:collated: basicNew replaceFrom:to:with:startingAt: basicNew replaceFrom:to:with:startingAt: indexOfAscii:inString:startingAt: replaceFrom:to:with:startingAt: indexOfAscii:inString:startingAt: replaceFrom:to:with:startingAt: indexOfAscii:inString:startingAt: replaceFrom:to:with:startingAt: indexOfAscii:inString:startingAt: replaceFrom:to:with:startingAt: indexOfAscii:inString:startingAt: replaceFrom:to:with:startingAt: indexOfAscii:inString:startingAt: replaceFrom:to:with:startingAt: indexOfAscii:inString:startingAt: replaceFrom:to:with:startingAt: indexOfAscii:inString:startingAt: replaceFrom:to:with:startingAt: compare:with:collated: size replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: translate:from:to:table: compare:with:collated: replaceFrom:to:with:startingAt: translate:from:to:table: stringHash:initialHash: replaceFrom:to:with:startingAt: translate:from:to:table: stringHash:initialHash: replaceFrom:to:with:startingAt: translate:from:to:table: compare:with:collated: findFirstInString:inSet:startingAt: replaceFrom:to:with:startingAt: class replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: translate:from:to:table: compare:with:collated: replaceFrom:to:with:startingAt: translate:from:to:table: stringHash:initialHash: replaceFrom:to:with:startingAt: translate:from:to:table: stringHash:initialHash: replaceFrom:to:with:startingAt: translate:from:to:table: compare:with:collated: findFirstInString:inSet:startingAt: replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: lookupDirectory:filename: basicNew **StackOverflow** basicIdentityHash value primGetCurrentWorkingDirectory new: at:put: at:put: at:put: value: replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: value: replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: primSizeOfPointer value: collect: value:value: inject:into: primSizeOfPointer timesRepeat: replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: new: collect: inject:into: replaceFrom:to:with:startingAt: at: at: at: at: at: at: at: at: primGetCurrentWorkingDirectory compare:with:collated: primForkExec:stdIn:stdOut:stdErr:argBuf:argOffsets:envBuf:envOffsets:workingDir: stack page bytes 4096 available headroom 2788 minimum unused headroom 3004 (Segmentation fault) output file stack is empty. |
Hi Max, I can't answer your question directly, but just wondering why you are using the itimer VM when the are known issues with external calls, and not the heartbeat VM? P.S. I would love to see OSProcess working in 32 bit mode. Cheers, Alistair On 16 May 2017 14:57, "Max Leske" <[hidden email]> wrote:
|