Pharo-vm
By thread
pharo-vm@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- 1 participants
- 81 messages
Updated plugin compilation info?
by Hernán Morales Durand
Dear all,
I wrote a stupid debugger plugin and generated the C code using:
ProtoDebugInterpreterPlugin
translateInDirectory: 'ProtoDebug' asFileReference
doInlining: false.
I remember time ago I modified a plugins.ext file and then copied necessary
C headers to a directory (along with my generated .c from Slang) etc etc.
Now where should I put my new .c file?
Which command/script do you use to compile the VM with a new plugin?
Cheers,
Hernán
Sept. 23, 2022
Re: Nooby questio - getting hello world out of a headless vm
by Luc Fabresse
Hi Dave,
I have no clue what this small (204K) file
build/dist/pharo-vm/resources/img.image is.
Anyone knows?
Regarding you libgit issue, I guess this is because
build/dist/lib/libgit2.so.1.4.4 is not there.
On my side, if I use (as Guille wrote):
$ cmake --build vmbuild --target install
external libs are there.
I agree that "install" is confusing here or I misunderstood.
Luc
Le jeu. 15 sept. 2022 à 16:27, David Mason <dmason(a)ryerson.ca> a écrit :
> Thanks! That worked.
>
> I guess the build/dist/pharo-vm/resources/img.image - which I thought
> would be a minimal functional image - isnât. I was trying to get the
> startup .st code working first, and didnât try any other image.
>
> I get a bunch of stderr log messages about
> Cannot locate any of #('libgit2.1.4.4.dylib' 'libgit2.1.0.1.dylib'
> 'libgit2.1.0.0.dylib' 'libgit2.0.25.1.dylib'). Please check if it installed
> on your system
>
> but I can ignore those easily enough.
>
> Thanks, now I can get to my experiment.
>
> ../Dave
> On Sep 15, 2022, 9:40 AM -0400, Guillermo Polito <
> guillermopolito(a)gmail.com>, wrote:
>
> Sure, but Iâd need a bit more of information from your side, because from
> my side, I just compiled latest version and did:
>
> # Compile VM
> $ git clone ⦠repo
> $ cmake -B vmbuild -S repo
> $ cmake âbuild vmbuild âtarget install
>
> #Download a pharo 10 image
> $ wget -O- https://get.pharo.org/100 | bash
>
> #Create your script
>
> $ tee -a hello.st << EOF
> Transcript show: 'hello world!!';cr.
> EOF
>
> $ ./build/build/dist/Pharo.app/Contents/MacOS/Pharo Pharo.image st
> hello.st --save --quit
> hello world!
>
> G
>
> El 15 sept 2022, a las 15:19, David Mason <dmason(a)ryerson.ca> escribió:
>
> Hi Guille,
>
> Iâm just trying to run the img.image that comes with the pharo-project
> install.
>
> All I want at this stage is to execute `Transcript show: âhello
> worldâ;cr.` (and have that show on std-out or std-err) and exit.
>
> ../Dave
> On Sep 15, 2022, 8:53 AM -0400, Guillermo Polito <
> guillermopolito(a)gmail.com>, wrote:
>
> Hi Dave,
>
> a couple of quick hints that could lead us to a solution:
>
> - what image are you running on top? what version?
> - is the image source file close to the image/VM?
> - if the process seems frozen, you can send it the SIGUSR1 signal so it
> dumps a log of the execution
> kill -SIGUSR1 pid
>
> That dumps
> - the native stack
> - the smalltalk stacks
>
> That would show you quickly where the problem is, very probably there is
> an infinite recursion in pharo code.
>
> G
>
> El 14 sept 2022, a las 20:16, David Mason <dmason(a)ryerson.ca> escribió:
>
> Hi,
>
> Iâve built a stackVM straight out of the box from the instructions at
> https://github.com/pharo-project/pharo-vm to run some experiments. So Iâm
> trying for a simple Hello world on stdout/stderr. I assumed on headless
> Transcript would go to some useful place, so I tried,
>
> I have a hello.st
> -----
> Transcript show: 'hello world!';cr.
> "(Smalltalk at: #Transcript) show: 'hello world!';cr."
> -----
> and run-test:
> -----
> #! /bin/sh
> #
> # Run it with a headless Pharo:
> #
> DIR=~/git/pharo-project/stackVM/build
> VM=$DIR/vm/Debug/Pharo.app/Contents/MacOS/Pharo
> #IMAGE=$DIR/dist/pharo-vm/resources/img.image
> IMAGE=img.image
> ls -l $VM $IMAGE
> grep . "$@" /dev/null
> set -x
> $VM -vm-display-null -headless --logLevel=4 $IMAGE "$@" --save --quit
> -----
>
> and I get:
> : Sep14 ; date;./run-test hello.st ;date
> Wed 14 Sep 2022 14:09:17 EDT
> -rwxr-xr-x 1 dmason staff 50226 9 Sep 14:08
> /Users/dmason/git/pharo-project/stackVM/build/vm/Debug/Pharo.app/Contents/MacOS/Pharo
> -rw-r--r-- 1 dmason staff 206336 13 Sep 23:21 img.image
> hello.st:Transcript show: 'hello world!';cr.
> hello.st:"(Smalltalk at: #Transcript) show: 'hello world!';cr."
> +
> /Users/dmason/git/pharo-project/stackVM/build/vm/Debug/Pharo.app/Contents/MacOS/Pharo
> -vm-display-null -headless --logLevel=4 img.image hello.st --save --quit
> [DEBUG] 2022-09-14 14:09:17.000 logParameters
> (src/parameters/parameters.c:341):Image file name: img.image
> [DEBUG] 2022-09-14 14:09:17.000 logParameters
> (src/parameters/parameters.c:342):Is default Image: no
> [DEBUG] 2022-09-14 14:09:17.000 logParameters
> (src/parameters/parameters.c:343):Is interactive session: no
> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector
> (src/parameters/parameters.c:331):vmParameters [count = 5]:
> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector
> (src/parameters/parameters.c:334):
> /Users/dmason/git/pharo-project/stackVM/build/vm/Debug/Pharo.app/Contents/MacOS/Pharo
> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector
> (src/parameters/parameters.c:334): -vm-display-null
> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector
> (src/parameters/parameters.c:334): -headless
> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector
> (src/parameters/parameters.c:334): --logLevel=4
> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector
> (src/parameters/parameters.c:334): --headless
> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector
> (src/parameters/parameters.c:331):imageParameters [count = 3]:
> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector
> (src/parameters/parameters.c:334): hello.st
> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector
> (src/parameters/parameters.c:334): --save
> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector
> (src/parameters/parameters.c:334): --quit
> [INFO ] 2022-09-14 14:09:17.000 vm_main_with_parameters
> (src/client.c:113):Opening Image: img.image
> [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters
> (src/client.c:135):Working Directory /Users/dmason/git/AST-Smalltalk/testing
> [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters
> (src/client.c:137):sizeof(int): 4
> [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters
> (src/client.c:138):sizeof(long): 8
> [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters
> (src/client.c:139):sizeof(long long): 8
> [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters
> (src/client.c:140):sizeof(void*): 8
> [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters
> (src/client.c:141):sizeof(sqInt): 8
> [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters
> (src/client.c:142):sizeof(sqLong): 8
> [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters
> (src/client.c:143):sizeof(float): 4
> [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters
> (src/client.c:144):sizeof(double): 8
> [DEBUG] 2022-09-14 14:09:17.000 runOnMainThread (src/client.c:254):Running
> VM on main thread
> [DEBUG] 2022-09-14 14:09:17.000 sqAllocateMemory
> (src/memoryUnix.c:139):Trying to load the image in 0x804000
> [DEBUG] 2022-09-14 14:09:17.000 sqAllocateMemory
> (src/memoryUnix.c:181):Loading the image in 0x106fa4000
> [WARN ] 2022-09-14 14:09:17.000 ioLoadModule
> (src/externalPrimitives.c:102):Failed to load module: SecurityPlugin
>
> and 40 minutes later it exits having been kill -9âed
>
> Once, it exited quickly, but I have no idea what was different that time.
> Also âsave does seem to do anything.
>
> If it reliably exited, I could experiment, but I have no idea whatâs
> happening.
>
> Help! (and Thanks in advance)
>
> ../Dave
> _______________________________________________
> Pharo-vm mailing list -- pharo-vm(a)lists.pharo.org
> To unsubscribe send an email to pharo-vm-leave(a)lists.pharo.org
>
>
>
> _______________________________________________
> Pharo-vm mailing list -- pharo-vm(a)lists.pharo.org
> To unsubscribe send an email to pharo-vm-leave(a)lists.pharo.org
>
> _______________________________________________
> Pharo-vm mailing list -- pharo-vm(a)lists.pharo.org
> To unsubscribe send an email to pharo-vm-leave(a)lists.pharo.org
>
Sept. 16, 2022
About primitiveMethodXray
by stephane ducasse
Hi
In CoInterpreter we can find
initializePrimitiveTable
super initializePrimitiveTable.
PrimNumberHashMultiply := 159.
self assert: (PrimitiveTable at: PrimNumberHashMultiply + 1) = #primitiveHashMultiply.
#(216 253) do:
[:pidx| self assert: (PrimitiveTable at: pidx + 1) = #primitiveFail].
self assert: (PrimitiveTable at: 215 + 1) = #primitiveFlushCacheByMethod.
PrimitiveTable
at: 253 + 1 put: #primitiveCollectCogCodeConstituents;
at: 215 + 1 put: #primitiveVoidVMStateForMethod;
at: 216 + 1 put: #primitiveMethodXray
There is a primitive primitiveMethodXray :)
primitiveMethodXray
"Lift the veil from a method and answer an integer describing the interior state
of its machine code.
Used for e.g. VM tests so they can verify they're testing what they think they're testing.
0 implies a vanilla method.
Bit 0 = method might be compiled to machine code
Bit 1 = method is currently compiled to machine code
Bit 2 = is compiled frameless.
Bit 3 = method refers to young object.
Bit 4 = method too big to be jitted (more than 64k of code, or needs more than 1.5Mb of stack space to compile)
Bit 5 = method contains unknown/unjittable bytecode
Bit 6 = method should not be jitted because it contains a primitive not to be called from machine code (unused)"
| alreadyCogged flags cogMethod |
<var: #cogMethod type: #'CogMethod *'>
(self methodWithHeaderShouldBeCogged: (objectMemory methodHeaderOf: self stackTop))
ifTrue:
[alreadyCogged := self maybeMethodHasCogMethod: self stackTop.
flags := 1.
alreadyCogged ifFalse:
[cogMethod := cogit cog: self stackTop selector: objectMemory nilObject.
(cogMethod = nil
and: [cogCompiledCodeCompactionCalledFor]) ifTrue:
[self commenceCogCompiledCodeCompaction.
cogMethod := cogit cog: self stackTop selector: objectMemory nilObject].
cogMethod asInteger
caseOf: {
[MethodTooBig] -> [flags := 1 + 16].
[EncounteredUnknownBytecode] -> [flags := 1 + 32].
[ShouldNotJIT] -> [flags := 1 + 64] }
otherwise: [self deny: (cogMethod asInteger between: MaxNegativeErrorCode and: NotFullyInitialized)]].
(flags = 1
and: [self maybeMethodHasCogMethod: self stackTop]) ifTrue:
[cogMethod := self cogMethodOf: self stackTop.
flags := cogMethod stackCheckOffset = 0 ifTrue: [7] ifFalse: [3].
cogMethod cmRefersToYoung ifTrue:
[flags := flags + 8].
alreadyCogged ifFalse:
[cogit freeMethod: cogMethod]]]
ifFalse: [flags := 0].
self pop: 1 thenPush: (objectMemory integerObjectOf: flags)
and I wanted to execute it.
So on compiledMethod I defined a method
CompiledMethod >> xray
<primitive: 216>
and I did (Point>>#degrees) xray
but when I execute I get a compiled method and not an integer.
So I probably do something silly.
But I would like to understand what.
Tx
Sept. 15, 2022
Re: Nooby questio - getting hello world out of a headless vm
by David Mason
Thanks! That worked.
I guess the build/dist/pharo-vm/resources/img.image - which I thought would be a minimal functional image - isnât. I was trying to get the startup .st code working first, and didnât try any other image.
I get a bunch of stderr log messages about
 Cannot locate any of #('libgit2.1.4.4.dylib' 'libgit2.1.0.1.dylib' 'libgit2.1.0.0.dylib' 'libgit2.0.25.1.dylib'). Please check if it installed on your system
but I can ignore those easily enough.
Thanks, now I can get to my experiment.
../Dave
On Sep 15, 2022, 9:40 AM -0400, Guillermo Polito <guillermopolito(a)gmail.com>, wrote:
> Sure, but Iâd need a bit more of information from your side, because from my side, I just compiled latest version and did:
>
> # Compile VM
> $ git clone ⦠repo
> $ cmake -B vmbuild -S repo
> $ cmake âbuild vmbuild âtarget install
>
> #Download a pharo 10 image
> $ wget -O- https://get.pharo.org/100 | bash
>
> #Create your script
>
> $ tee -a hello.st << EOF
> Transcript show: 'hello world!!';cr.
> EOF
>
> $Â ./build/build/dist/Pharo.app/Contents/MacOS/Pharo Pharo.image st hello.st --save --quit
> hello world!
>
> G
>
> > El 15 sept 2022, a las 15:19, David Mason <dmason(a)ryerson.ca> escribió:
> >
> > Hi Guille,
> >
> > Iâm just trying to run the img.image that comes with the pharo-project install.
> >
> > All I want at this stage is to execute `Transcript show: âhello worldâ;cr.` (and have that show on std-out or std-err) and exit.
> >
> > ../Dave
> > On Sep 15, 2022, 8:53 AM -0400, Guillermo Polito <guillermopolito(a)gmail.com>, wrote:
> > > Hi Dave,
> > >
> > > a couple of quick hints that could lead us to a solution:
> > >
> > > - what image are you running on top? what version?
> > > - is the image source file close to the image/VM?
> > > - if the process seems frozen, you can send it the SIGUSR1 signal so it dumps a log of the execution
> > > Â Â kill -SIGUSR1 pid
> > >
> > > That dumps
> > > Â - the native stack
> > > Â - the smalltalk stacks
> > >
> > > That would show you quickly where the problem is, very probably there is an infinite recursion in pharo code.
> > >
> > > G
> > >
> > > > El 14 sept 2022, a las 20:16, David Mason <dmason(a)ryerson.ca> escribió:
> > > >
> > > > Hi,
> > > >
> > > > Iâve built a stackVM straight out of the box from the instructions at https://github.com/pharo-project/pharo-vm to run some experiments. So Iâm trying for a simple Hello world on stdout/stderr. I assumed on headless Transcript would go to some useful place, so I tried,
> > > >
> > > > I have a hello.st
> > > > -----
> > > > Transcript show: 'hello world!';cr.
> > > > "(Smalltalk at: #Transcript) show: 'hello world!';cr."
> > > > -----
> > > > and run-test:
> > > > -----
> > > > #! /bin/sh
> > > > #
> > > > # Run it with a headless Pharo:
> > > > #
> > > > DIR=~/git/pharo-project/stackVM/build
> > > > VM=$DIR/vm/Debug/Pharo.app/Contents/MacOS/Pharo
> > > > #IMAGE=$DIR/dist/pharo-vm/resources/img.image
> > > > IMAGE=img.image
> > > > ls -l $VM $IMAGE
> > > > grep . "$@" /dev/null
> > > > set -x
> > > > $VM -vm-display-null -headless --logLevel=4 $IMAGE "$@" --save --quit
> > > > -----
> > > >
> > > > and I get:
> > > > : Sep14 ; date;./run-test hello.st ;date
> > > > Wed 14 Sep 2022 14:09:17 EDT
> > > > -rwxr-xr-x 1 dmason staff 50226 9 Sep 14:08 /Users/dmason/git/pharo-project/stackVM/build/vm/Debug/Pharo.app/Contents/MacOS/Pharo
> > > > -rw-r--r-- 1 dmason staff 206336 13 Sep 23:21 img.image
> > > > hello.st:Transcript show: 'hello world!';cr.
> > > > hello.st:"(Smalltalk at: #Transcript) show: 'hello world!';cr."
> > > > + /Users/dmason/git/pharo-project/stackVM/build/vm/Debug/Pharo.app/Contents/MacOS/Pharo -vm-display-null -headless --logLevel=4 img.image hello.st --save --quit
> > > > [DEBUG] 2022-09-14 14:09:17.000 logParameters (src/parameters/parameters.c:341):Image file name: img.image
> > > > [DEBUG] 2022-09-14 14:09:17.000 logParameters (src/parameters/parameters.c:342):Is default Image: no
> > > > [DEBUG] 2022-09-14 14:09:17.000 logParameters (src/parameters/parameters.c:343):Is interactive session: no
> > > > [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:331):vmParameters [count = 5]:
> > > > [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): /Users/dmason/git/pharo-project/stackVM/build/vm/Debug/Pharo.app/Contents/MacOS/Pharo
> > > > [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): -vm-display-null
> > > > [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): -headless
> > > > [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): --logLevel=4
> > > > [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): --headless
> > > > [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:331):imageParameters [count = 3]:
> > > > [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334):Â hello.st
> > > > [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): --save
> > > > [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): --quit
> > > > [INFO ] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:113):Opening Image: img.image
> > > > [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:135):Working Directory /Users/dmason/git/AST-Smalltalk/testing
> > > > [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:137):sizeof(int): 4
> > > > [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:138):sizeof(long): 8
> > > > [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:139):sizeof(long long): 8
> > > > [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:140):sizeof(void*): 8
> > > > [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:141):sizeof(sqInt): 8
> > > > [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:142):sizeof(sqLong): 8
> > > > [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:143):sizeof(float): 4
> > > > [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:144):sizeof(double): 8
> > > > [DEBUG] 2022-09-14 14:09:17.000 runOnMainThread (src/client.c:254):Running VM on main thread
> > > > [DEBUG] 2022-09-14 14:09:17.000 sqAllocateMemory (src/memoryUnix.c:139):Trying to load the image in 0x804000
> > > > [DEBUG] 2022-09-14 14:09:17.000 sqAllocateMemory (src/memoryUnix.c:181):Loading the image in 0x106fa4000
> > > > [WARN ] 2022-09-14 14:09:17.000 ioLoadModule (src/externalPrimitives.c:102):Failed to load module: SecurityPlugin
> > > >
> > > > and 40 minutes later it exits having been kill -9âed
> > > >
> > > > Once, it exited quickly, but I have no idea what was different that time. Also âsave does seem to do anything.
> > > >
> > > > If it reliably exited, I could experiment, but I have no idea whatâs happening.
> > > >
> > > > Help! (and Thanks in advance)
> > > >
> > > > ../Dave
> > > > _______________________________________________
> > > > Pharo-vm mailing list -- pharo-vm(a)lists.pharo.org
> > > > To unsubscribe send an email to pharo-vm-leave(a)lists.pharo.org
> > >
>
> _______________________________________________
> Pharo-vm mailing list -- pharo-vm(a)lists.pharo.org
> To unsubscribe send an email to pharo-vm-leave(a)lists.pharo.org
Sept. 15, 2022
Re: Nooby questio - getting hello world out of a headless vm
by Guillermo Polito
Sure, but Iâd need a bit more of information from your side, because from my side, I just compiled latest version and did:
# Compile VM
$ git clone ⦠repo
$ cmake -B vmbuild -S repo
$ cmake âbuild vmbuild âtarget install
#Download a pharo 10 image
$ wget -O- https://get.pharo.org/100 | bash
#Create your script
$ tee -a hello.st << EOF
Transcript show: 'hello world!!';cr.
EOF
$ ./build/build/dist/Pharo.app/Contents/MacOS/Pharo Pharo.image st hello.st --save --quit
hello world!
G
> El 15 sept 2022, a las 15:19, David Mason <dmason(a)ryerson.ca> escribió:
>
> Hi Guille,
>
> Iâm just trying to run the img.image that comes with the pharo-project install.
>
> All I want at this stage is to execute `Transcript show: âhello worldâ;cr.` (and have that show on std-out or std-err) and exit.
>
> ../Dave
> On Sep 15, 2022, 8:53 AM -0400, Guillermo Polito <guillermopolito(a)gmail.com>, wrote:
>> Hi Dave,
>>
>> a couple of quick hints that could lead us to a solution:
>>
>> - what image are you running on top? what version?
>> - is the image source file close to the image/VM?
>> - if the process seems frozen, you can send it the SIGUSR1 signal so it dumps a log of the execution
>> kill -SIGUSR1 pid
>>
>> That dumps
>> - the native stack
>> - the smalltalk stacks
>>
>> That would show you quickly where the problem is, very probably there is an infinite recursion in pharo code.
>>
>> G
>>
>>> El 14 sept 2022, a las 20:16, David Mason <dmason(a)ryerson.ca <mailto:dmason@ryerson.ca>> escribió:
>>>
>>> Hi,
>>>
>>> Iâve built a stackVM straight out of the box from the instructions at https://github.com/pharo-project/pharo-vm <https://github.com/pharo-project/pharo-vm> to run some experiments. So Iâm trying for a simple Hello world on stdout/stderr. I assumed on headless Transcript would go to some useful place, so I tried,
>>>
>>> I have a hello.st <http://hello.st/>
>>> -----
>>> Transcript show: 'hello world!';cr.
>>> "(Smalltalk at: #Transcript) show: 'hello world!';cr."
>>> -----
>>> and run-test:
>>> -----
>>> #! /bin/sh
>>> #
>>> # Run it with a headless Pharo:
>>> #
>>> DIR=~/git/pharo-project/stackVM/build
>>> VM=$DIR/vm/Debug/Pharo.app/Contents/MacOS/Pharo
>>> #IMAGE=$DIR/dist/pharo-vm/resources/img.image
>>> IMAGE=img.image
>>> ls -l $VM $IMAGE
>>> grep . "$@" /dev/null
>>> set -x
>>> $VM -vm-display-null -headless --logLevel=4 $IMAGE "$@" --save --quit
>>> -----
>>>
>>> and I get:
>>> : Sep14 ; date;./run-test hello.st <http://hello.st/> ;date
>>> Wed 14 Sep 2022 14:09:17 EDT
>>> -rwxr-xr-x 1 dmason staff 50226 9 Sep 14:08 /Users/dmason/git/pharo-project/stackVM/build/vm/Debug/Pharo.app/Contents/MacOS/Pharo
>>> -rw-r--r-- 1 dmason staff 206336 13 Sep 23:21 img.image
>>> hello.st <http://hello.st/>:Transcript show: 'hello world!';cr.
>>> hello.st <http://hello.st/>:"(Smalltalk at: #Transcript) show: 'hello world!';cr."
>>> + /Users/dmason/git/pharo-project/stackVM/build/vm/Debug/Pharo.app/Contents/MacOS/Pharo -vm-display-null -headless --logLevel=4 img.image hello.st <http://hello.st/> --save --quit
>>> [DEBUG] 2022-09-14 14:09:17.000 logParameters (src/parameters/parameters.c:341):Image file name: img.image
>>> [DEBUG] 2022-09-14 14:09:17.000 logParameters (src/parameters/parameters.c:342):Is default Image: no
>>> [DEBUG] 2022-09-14 14:09:17.000 logParameters (src/parameters/parameters.c:343):Is interactive session: no
>>> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:331):vmParameters [count = 5]:
>>> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): /Users/dmason/git/pharo-project/stackVM/build/vm/Debug/Pharo.app/Contents/MacOS/Pharo
>>> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): -vm-display-null
>>> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): -headless
>>> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): --logLevel=4
>>> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): --headless
>>> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:331):imageParameters [count = 3]:
>>> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): hello.st <http://hello.st/>
>>> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): --save
>>> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): --quit
>>> [INFO ] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:113):Opening Image: img.image
>>> [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:135):Working Directory /Users/dmason/git/AST-Smalltalk/testing
>>> [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:137):sizeof(int): 4
>>> [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:138):sizeof(long): 8
>>> [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:139):sizeof(long long): 8
>>> [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:140):sizeof(void*): 8
>>> [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:141):sizeof(sqInt): 8
>>> [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:142):sizeof(sqLong): 8
>>> [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:143):sizeof(float): 4
>>> [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:144):sizeof(double): 8
>>> [DEBUG] 2022-09-14 14:09:17.000 runOnMainThread (src/client.c:254):Running VM on main thread
>>> [DEBUG] 2022-09-14 14:09:17.000 sqAllocateMemory (src/memoryUnix.c:139):Trying to load the image in 0x804000
>>> [DEBUG] 2022-09-14 14:09:17.000 sqAllocateMemory (src/memoryUnix.c:181):Loading the image in 0x106fa4000
>>> [WARN ] 2022-09-14 14:09:17.000 ioLoadModule (src/externalPrimitives.c:102):Failed to load module: SecurityPlugin
>>>
>>> and 40 minutes later it exits having been kill -9âed
>>>
>>> Once, it exited quickly, but I have no idea what was different that time. Also âsave does seem to do anything.
>>>
>>> If it reliably exited, I could experiment, but I have no idea whatâs happening.
>>>
>>> Help! (and Thanks in advance)
>>>
>>> ../Dave
>>> _______________________________________________
>>> Pharo-vm mailing list -- pharo-vm(a)lists.pharo.org <mailto:pharo-vm@lists.pharo.org>
>>> To unsubscribe send an email to pharo-vm-leave(a)lists.pharo.org <mailto:pharo-vm-leave@lists.pharo.org>
>>
Sept. 15, 2022
Re: Nooby questio - getting hello world out of a headless vm
by David Mason
Hi Guille,
Iâm just trying to run the img.image that comes with the pharo-project install.
All I want at this stage is to execute `Transcript show: âhello worldâ;cr.` (and have that show on std-out or std-err) and exit.
../Dave
On Sep 15, 2022, 8:53 AM -0400, Guillermo Polito <guillermopolito(a)gmail.com>, wrote:
> Hi Dave,
>
> a couple of quick hints that could lead us to a solution:
>
> - what image are you running on top? what version?
> - is the image source file close to the image/VM?
> - if the process seems frozen, you can send it the SIGUSR1 signal so it dumps a log of the execution
> Â Â kill -SIGUSR1 pid
>
> That dumps
> Â - the native stack
> Â - the smalltalk stacks
>
> That would show you quickly where the problem is, very probably there is an infinite recursion in pharo code.
>
> G
>
> > El 14 sept 2022, a las 20:16, David Mason <dmason(a)ryerson.ca> escribió:
> >
> > Hi,
> >
> > Iâve built a stackVM straight out of the box from the instructions at https://github.com/pharo-project/pharo-vm to run some experiments. So Iâm trying for a simple Hello world on stdout/stderr. I assumed on headless Transcript would go to some useful place, so I tried,
> >
> > I have a hello.st
> > -----
> > Transcript show: 'hello world!';cr.
> > "(Smalltalk at: #Transcript) show: 'hello world!';cr."
> > -----
> > and run-test:
> > -----
> > #! /bin/sh
> > #
> > # Run it with a headless Pharo:
> > #
> > DIR=~/git/pharo-project/stackVM/build
> > VM=$DIR/vm/Debug/Pharo.app/Contents/MacOS/Pharo
> > #IMAGE=$DIR/dist/pharo-vm/resources/img.image
> > IMAGE=img.image
> > ls -l $VM $IMAGE
> > grep . "$@" /dev/null
> > set -x
> > $VM -vm-display-null -headless --logLevel=4 $IMAGE "$@" --save --quit
> > -----
> >
> > and I get:
> > : Sep14 ; date;./run-test hello.st ;date
> > Wed 14 Sep 2022 14:09:17 EDT
> > -rwxr-xr-x 1 dmason staff 50226 9 Sep 14:08 /Users/dmason/git/pharo-project/stackVM/build/vm/Debug/Pharo.app/Contents/MacOS/Pharo
> > -rw-r--r-- 1 dmason staff 206336 13 Sep 23:21 img.image
> > hello.st:Transcript show: 'hello world!';cr.
> > hello.st:"(Smalltalk at: #Transcript) show: 'hello world!';cr."
> > + /Users/dmason/git/pharo-project/stackVM/build/vm/Debug/Pharo.app/Contents/MacOS/Pharo -vm-display-null -headless --logLevel=4 img.image hello.st --save --quit
> > [DEBUG] 2022-09-14 14:09:17.000 logParameters (src/parameters/parameters.c:341):Image file name: img.image
> > [DEBUG] 2022-09-14 14:09:17.000 logParameters (src/parameters/parameters.c:342):Is default Image: no
> > [DEBUG] 2022-09-14 14:09:17.000 logParameters (src/parameters/parameters.c:343):Is interactive session: no
> > [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:331):vmParameters [count = 5]:
> > [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): /Users/dmason/git/pharo-project/stackVM/build/vm/Debug/Pharo.app/Contents/MacOS/Pharo
> > [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): -vm-display-null
> > [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): -headless
> > [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): --logLevel=4
> > [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): --headless
> > [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:331):imageParameters [count = 3]:
> > [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334):Â hello.st
> > [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): --save
> > [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): --quit
> > [INFO ] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:113):Opening Image: img.image
> > [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:135):Working Directory /Users/dmason/git/AST-Smalltalk/testing
> > [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:137):sizeof(int): 4
> > [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:138):sizeof(long): 8
> > [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:139):sizeof(long long): 8
> > [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:140):sizeof(void*): 8
> > [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:141):sizeof(sqInt): 8
> > [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:142):sizeof(sqLong): 8
> > [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:143):sizeof(float): 4
> > [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:144):sizeof(double): 8
> > [DEBUG] 2022-09-14 14:09:17.000 runOnMainThread (src/client.c:254):Running VM on main thread
> > [DEBUG] 2022-09-14 14:09:17.000 sqAllocateMemory (src/memoryUnix.c:139):Trying to load the image in 0x804000
> > [DEBUG] 2022-09-14 14:09:17.000 sqAllocateMemory (src/memoryUnix.c:181):Loading the image in 0x106fa4000
> > [WARN ] 2022-09-14 14:09:17.000 ioLoadModule (src/externalPrimitives.c:102):Failed to load module: SecurityPlugin
> >
> > and 40 minutes later it exits having been kill -9âed
> >
> > Once, it exited quickly, but I have no idea what was different that time. Also âsave does seem to do anything.
> >
> > If it reliably exited, I could experiment, but I have no idea whatâs happening.
> >
> > Help! (and Thanks in advance)
> >
> > ../Dave
> > _______________________________________________
> > Pharo-vm mailing list -- pharo-vm(a)lists.pharo.org
> > To unsubscribe send an email to pharo-vm-leave(a)lists.pharo.org
>
Sept. 15, 2022
Re: Nooby questio - getting hello world out of a headless vm
by Guillermo Polito
Hi Dave,
a couple of quick hints that could lead us to a solution:
- what image are you running on top? what version?
- is the image source file close to the image/VM?
- if the process seems frozen, you can send it the SIGUSR1 signal so it dumps a log of the execution
kill -SIGUSR1 pid
That dumps
- the native stack
- the smalltalk stacks
That would show you quickly where the problem is, very probably there is an infinite recursion in pharo code.
G
> El 14 sept 2022, a las 20:16, David Mason <dmason(a)ryerson.ca> escribió:
>
> Hi,
>
> Iâve built a stackVM straight out of the box from the instructions at https://github.com/pharo-project/pharo-vm <https://github.com/pharo-project/pharo-vm> to run some experiments. So Iâm trying for a simple Hello world on stdout/stderr. I assumed on headless Transcript would go to some useful place, so I tried,
>
> I have a hello.st
> -----
> Transcript show: 'hello world!';cr.
> "(Smalltalk at: #Transcript) show: 'hello world!';cr."
> -----
> and run-test:
> -----
> #! /bin/sh
> #
> # Run it with a headless Pharo:
> #
> DIR=~/git/pharo-project/stackVM/build
> VM=$DIR/vm/Debug/Pharo.app/Contents/MacOS/Pharo
> #IMAGE=$DIR/dist/pharo-vm/resources/img.image
> IMAGE=img.image
> ls -l $VM $IMAGE
> grep . "$@" /dev/null
> set -x
> $VM -vm-display-null -headless --logLevel=4 $IMAGE "$@" --save --quit
> -----
>
> and I get:
> : Sep14 ; date;./run-test hello.st <http://hello.st/> ;date
> Wed 14 Sep 2022 14:09:17 EDT
> -rwxr-xr-x 1 dmason staff 50226 9 Sep 14:08 /Users/dmason/git/pharo-project/stackVM/build/vm/Debug/Pharo.app/Contents/MacOS/Pharo
> -rw-r--r-- 1 dmason staff 206336 13 Sep 23:21 img.image
> hello.st <http://hello.st/>:Transcript show: 'hello world!';cr.
> hello.st <http://hello.st/>:"(Smalltalk at: #Transcript) show: 'hello world!';cr."
> + /Users/dmason/git/pharo-project/stackVM/build/vm/Debug/Pharo.app/Contents/MacOS/Pharo -vm-display-null -headless --logLevel=4 img.image hello.st <http://hello.st/> --save --quit
> [DEBUG] 2022-09-14 14:09:17.000 logParameters (src/parameters/parameters.c:341):Image file name: img.image
> [DEBUG] 2022-09-14 14:09:17.000 logParameters (src/parameters/parameters.c:342):Is default Image: no
> [DEBUG] 2022-09-14 14:09:17.000 logParameters (src/parameters/parameters.c:343):Is interactive session: no
> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:331):vmParameters [count = 5]:
> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): /Users/dmason/git/pharo-project/stackVM/build/vm/Debug/Pharo.app/Contents/MacOS/Pharo
> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): -vm-display-null
> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): -headless
> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): --logLevel=4
> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): --headless
> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:331):imageParameters [count = 3]:
> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): hello.st <http://hello.st/>
> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): --save
> [DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): --quit
> [INFO ] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:113):Opening Image: img.image
> [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:135):Working Directory /Users/dmason/git/AST-Smalltalk/testing
> [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:137):sizeof(int): 4
> [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:138):sizeof(long): 8
> [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:139):sizeof(long long): 8
> [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:140):sizeof(void*): 8
> [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:141):sizeof(sqInt): 8
> [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:142):sizeof(sqLong): 8
> [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:143):sizeof(float): 4
> [DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:144):sizeof(double): 8
> [DEBUG] 2022-09-14 14:09:17.000 runOnMainThread (src/client.c:254):Running VM on main thread
> [DEBUG] 2022-09-14 14:09:17.000 sqAllocateMemory (src/memoryUnix.c:139):Trying to load the image in 0x804000
> [DEBUG] 2022-09-14 14:09:17.000 sqAllocateMemory (src/memoryUnix.c:181):Loading the image in 0x106fa4000
> [WARN ] 2022-09-14 14:09:17.000 ioLoadModule (src/externalPrimitives.c:102):Failed to load module: SecurityPlugin
>
> and 40 minutes later it exits having been kill -9âed
>
> Once, it exited quickly, but I have no idea what was different that time. Also âsave does seem to do anything.
>
> If it reliably exited, I could experiment, but I have no idea whatâs happening.
>
> Help! (and Thanks in advance)
>
> ../Dave
> _______________________________________________
> Pharo-vm mailing list -- pharo-vm(a)lists.pharo.org
> To unsubscribe send an email to pharo-vm-leave(a)lists.pharo.org
Sept. 15, 2022
Nooby questio - getting hello world out of a headless vm
by David Mason
Hi,
Iâve built a stackVM straight out of the box from the instructions at https://github.com/pharo-project/pharo-vm to run some experiments. So Iâm trying for a simple Hello world on stdout/stderr. I assumed on headless Transcript would go to some useful place, so I tried,
I have a hello.st
-----
Transcript show: 'hello world!';cr.
"(Smalltalk at: #Transcript) show: 'hello world!';cr."
-----
and run-test:
-----
#! /bin/sh
#
# Run it with a headless Pharo:
#
DIR=~/git/pharo-project/stackVM/build
VM=$DIR/vm/Debug/Pharo.app/Contents/MacOS/Pharo
#IMAGE=$DIR/dist/pharo-vm/resources/img.image
IMAGE=img.image
ls -l $VM $IMAGE
grep . "$@" /dev/null
set -x
$VM -vm-display-null -headless --logLevel=4 $IMAGE "$@" --save --quit
-----
and I get:
: Sep14 ; date;./run-test hello.st ;date
Wed 14 Sep 2022 14:09:17 EDT
-rwxr-xr-x 1 dmason staff 50226 9 Sep 14:08 /Users/dmason/git/pharo-project/stackVM/build/vm/Debug/Pharo.app/Contents/MacOS/Pharo
-rw-r--r-- 1 dmason staff 206336 13 Sep 23:21 img.image
hello.st:Transcript show: 'hello world!';cr.
hello.st:"(Smalltalk at: #Transcript) show: 'hello world!';cr."
+ /Users/dmason/git/pharo-project/stackVM/build/vm/Debug/Pharo.app/Contents/MacOS/Pharo -vm-display-null -headless --logLevel=4 img.image hello.st --save --quit
[DEBUG] 2022-09-14 14:09:17.000 logParameters (src/parameters/parameters.c:341):Image file name: img.image
[DEBUG] 2022-09-14 14:09:17.000 logParameters (src/parameters/parameters.c:342):Is default Image: no
[DEBUG] 2022-09-14 14:09:17.000 logParameters (src/parameters/parameters.c:343):Is interactive session: no
[DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:331):vmParameters [count = 5]:
[DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): /Users/dmason/git/pharo-project/stackVM/build/vm/Debug/Pharo.app/Contents/MacOS/Pharo
[DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): -vm-display-null
[DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): -headless
[DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): --logLevel=4
[DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): --headless
[DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:331):imageParameters [count = 3]:
[DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334):Â hello.st
[DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): --save
[DEBUG] 2022-09-14 14:09:17.000 logParameterVector (src/parameters/parameters.c:334): --quit
[INFO ] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:113):Opening Image: img.image
[DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:135):Working Directory /Users/dmason/git/AST-Smalltalk/testing
[DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:137):sizeof(int): 4
[DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:138):sizeof(long): 8
[DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:139):sizeof(long long): 8
[DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:140):sizeof(void*): 8
[DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:141):sizeof(sqInt): 8
[DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:142):sizeof(sqLong): 8
[DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:143):sizeof(float): 4
[DEBUG] 2022-09-14 14:09:17.000 vm_main_with_parameters (src/client.c:144):sizeof(double): 8
[DEBUG] 2022-09-14 14:09:17.000 runOnMainThread (src/client.c:254):Running VM on main thread
[DEBUG] 2022-09-14 14:09:17.000 sqAllocateMemory (src/memoryUnix.c:139):Trying to load the image in 0x804000
[DEBUG] 2022-09-14 14:09:17.000 sqAllocateMemory (src/memoryUnix.c:181):Loading the image in 0x106fa4000
[WARN ] 2022-09-14 14:09:17.000 ioLoadModule (src/externalPrimitives.c:102):Failed to load module: SecurityPlugin
and 40 minutes later it exits having been kill -9âed
Once, it exited quickly, but I have no idea what was different that time. Also âsave does seem to do anything.
If it reliably exited, I could experiment, but I have no idea whatâs happening.
Help! (and Thanks in advance)
../Dave
Sept. 14, 2022
A/B Testing the latest VM on the Pharo repository PRs
by Guillermo Polito
Hi all,
TL;DR; I propose we start testing the latest VMs on PRs to the Pharo repository in a "semi-randomâ way. The idea is to earn some confidence while having a small impact on all of you.
====
We need to slowly start pushing the latest VM version, right now hosted in the pharoX branch of the VM repository.
This branch so far has all our latest work on the VM for at least one year. Some highlights
Interpreter variable auto-localization (Feat/automatic localization pharo-vm#371 <https://github.com/pharo-project/pharo-vm/pull/371>)
Slang cleanups and improvements (Clean slang warnings pharo-vm#413 <https://github.com/pharo-project/pharo-vm/pull/413>, Fix while statement printing pharo-vm#265 <https://github.com/pharo-project/pharo-vm/pull/265>, Cast pharo-vm#230 <https://github.com/pharo-project/pharo-vm/pull/230>, Clean slang warnings pharo-vm#413 <https://github.com/pharo-project/pharo-vm/pull/413>, Switch translation to CAST, and tests pharo-vm#311 <https://github.com/pharo-project/pharo-vm/pull/311>, Add several CAST translations and tests pharo-vm#307 <https://github.com/pharo-project/pharo-vm/pull/307>, Fix type inference tests pharo-vm#291 <https://github.com/pharo-project/pharo-vm/pull/291>)
SIMD support in the JIT (Speed up object initialization in AArch64 using SIMD instructions pharo-vm#421 <https://github.com/pharo-project/pharo-vm/pull/421>, SIMD bytecodes pharo-vm#444 <https://github.com/pharo-project/pharo-vm/pull/444>)
Initial work on the perm space (Composed image format pharo-vm#377 <https://github.com/pharo-project/pharo-vm/pull/377>, Composed image format: C translation pharo-vm#388 <https://github.com/pharo-project/pharo-vm/pull/388>, Refactoring of Snapshot and Loading of Images pharo-vm#372 <https://github.com/pharo-project/pharo-vm/pull/372>, Perm space on image pharo-vm#416 <https://github.com/pharo-project/pharo-vm/pull/416>, New & old remembered sets pharo-vm#418 <https://github.com/pharo-project/pharo-vm/pull/418>)
Many many bugfixes
â¦
To not disrupt anybodyâs work, I propose to make some kind of AB testing on the CI, only impacting PRs to the Pharo repository.
odd builds (1,3,5,â¦) use the latest VM
even builds (2,4,6,â¦) use the stable VM
This will make sure that:
the latest VM will be tested in a complex scenario (load code, run testsâ¦)
people that have a problem can re-run their builds to get a stable run
Iâve made the following PR that follows this idea https://github.com/pharo-project/pharo/pull/11678
G
Sept. 14, 2022