Luke, I don't see this in the latest binary and I have not adjusted the rtprio figures at all. I can try running some simple tests if you send them to me. $ curl get.pharo.org/64/60+vmLatest | bash .... file Pharo.image Pharo.image: Smalltalk image Spur 64b +C+NF+Tag (68021) $ prlimit --rtprio RESOURCE DESCRIPTION SOFT HARD UNITS RTPRIO max real-time priority 0 0 $ pharo-vm/lib/pharo/5.0-201704120850/pharo --version 5.0-201704120850 Wed Apr 12 09:13:59 UTC 2017 gcc 4.6.3 [Production Spur 64-bit ITHB 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-504e47eb-4202-4e16-92e1-3d42dab82e2f 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: /opt/share/downloads/pharo/64/pharo-vm/lib/pharo/5.0-201704120850/ [default: /opt/share/downloads/pharo/64/pharo-vm/lib/pharo/5.0-201704120850/] $ ./pharo Pharo.image eval 0 tinyBenchmarks '923354373 bytecodes/sec; 82191014 sends/sec' Regards .. Subbu On Monday 17 April 2017 03:25 AM, Luke Gorrie wrote:
I have the VM building under nix from the master branch now. The build is based loosely on the linux.64x64 mvm script so it's building a 64-bit x86-64 VM. The pharo-vm commit I am testing is 1c38b03f (from wednesday.)
I have tried opening both Pharo-60465.image and Pharo-50771.image and both give this error:
This interpreter (vers. 68021) cannot read image file (vers. 6521).
How come? Is this because I built a 64-bit VM? If I want to use those images then should I build a 32-bit image instead? (Or none of the above?)
Then I found Pharo64-60465.image and this does open and display a window but it's frozen and prints these messages:
pthread_setschedparam failed: Operation not permitted This VM uses a separate heartbeat thread to update its internal clock and handle events. For best operation, this thread should run at a higher priority, however the VM was unable to change the priority. The effect is that heavily loaded systems may experience some latency issues. If this occurs, please create the appropriate configuration file in /etc/security/limits.d/ as shown below:
cat <<END | sudo tee /etc/security/limits.d/squeak.conf * hard rtprio 2 * soft rtprio 2 END
and report to the squeak mailing list whether this improves behaviour.
You will need to log out and log back in for the limits to take effect. For more information please see https://github.com/OpenSmalltalk/opensmalltalk-vm/releases/tag/r3732#linux 'Your VM is too old for this image. Please download the latest VM.' Error: Can't find the requested origin
UnixResolver(PlatformResolver)>>cantFindOriginError [ self cantFindOriginError ] in UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed: in Block: [ self cantFindOriginError ] [ ^ aBlock value ] in UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or: in Block: [ ^ aBlock value ] BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: Error(Exception)>>signal Error(Exception)>>signal: ExternalLibraryFunction(Object)>>error: ExternalLibraryFunction(Object)>>externalCallFailed ExternalLibraryFunction(ExternalFunction)>>invokeWithArguments: UnixEnvironment(OSEnvironment)>>getEnv: UnixEnvironment(OSEnvironment)>>at:ifAbsent: [ Smalltalk os environment at: aString ifAbsent: [ nil ] ] in UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or: in Block: [ Smalltalk os environment at: aString ifAbse\ nt: [...etc... BlockClosure>>on:do: UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or: UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed: UnixResolver>>home [ self home / '.config' ] in UnixResolver>>preferences in Block: [ self home / '.config' ] [ ^ aBlock value ] in UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or: in Block: [ ^ aBlock value ] BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: Error(Exception)>>signal Error(Exception)>>signal: ExternalLibraryFunction(Object)>>error: ExternalLibraryFunction(Object)>>externalCallFailed ExternalLibraryFunction(ExternalFunction)>>invokeWithArguments: UnixEnvironment(OSEnvironment)>>getEnv: FFICalloutAPI>>function:module:
Googling around it sounds like this "origin error" is caused by not finding the Sources file but I have provided the PharoV50.sources and strace suggests that it is opened okay:
open("/nix/store/w85ynpp3zm33k8h1hvzh2g7hf7ggwx1k-pharo-share-1.0/lib/PharoV50.sources", O_RDONLY) = 3 open("/nix/store/w85ynpp3zm33k8h1hvzh2g7hf7ggwx1k-pharo-share-1.0/lib/PharoV50.sources", O_RDONLY) = 6
So maybe the problem is that I need a different source file? Or maybe that I should switch to a 32-bit VM? Or something else entirely...?
Any help appreciated :) -Luke