Ciao Eliot,


Hi Dario,

    if you look at the end of the PharoDebug.log you will see:

Most recent primitives
doesNotUnderstand:
doesNotUnderstand:
doesNotUnderstand:
doesNotUnderstand:
doesNotUnderstand:
doesNotUnderstand:
doesNotUnderstand:
doesNotUnderstand:
doesNotUnderstand:
.......
......
doesNotUnderstand:
doesNotUnderstand:
doesNotUnderstand:
doesNotUnderstand:
doesNotUnderstand:
doesNotUnderstand:
doesNotUnderstand:
doesNotUnderstand:
doesNotUnderstand:
doesNotUnderstand:
doesNotUnderstand:

So you have a recursive doesNotUnderstand: error and the system is running out of memory.  The questions are where and why?  You can try and debug this further by running the VM with --trace=259, e.g.

pharo-vm/pharo --trace=259 my image.image

This will produce lots of output, eventually ending in an endless stream of doesNotUnderstand:'s.  So capture the first few megabytes of output (see e.g. head(1) ($ man head))

FYI
"traceFlags is a set of flags.
 1 => print trace (if something below is selected)
 2 => trace sends
 4 => trace block activations
 8 => trace interpreter primitives
 16 => trace events (context switches, GCs, etc)
 32 => trace stack overflow
 64 => send breakpoint on implicit receiver (Newspeak VM only)
128 => check stack depth on send (simulation only)
256 => trace linked sends "

Alternatively you could use a debugger such as gdb and I can tell you how to put a breakpoint on doesNotUnderstand:

I do this command:

party@party001:/opt/pharolauncher/pharo-vm$ ./pharo --trace=259 /home/party/Pharo/images/Pharo7.0-64DTRDevErr/Pharo7.0-64DTRDevErr.image

This is the output:

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/pharo.conf
*      hard rtprio  2
*      soft rtprio  2
END

and report to the pharo 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
SessionManager>installNewSession
SessionManager>newSession
WorkingSession class(Behavior)>new
WorkingSession class(Behavior)>basicNew
WorkingSession>initialize
Object(ProtoObject)>initialize
OrderedCollection class>new
OrderedCollection class>new:
OrderedCollection class(Behavior)>basicNew
OrderedCollection class>arrayType
Array class>new:
OrderedCollection>setCollection:
OrderedCollection>reset
OrderedCollection>resetTo:
DateAndTime class>now
DateAndTime class>clock
Time class>microsecondClockValue
Time class>primUTCMicrosecondsClock
SmallInteger>*
Integer>*
SmallInteger(Integer)>isInteger
SmallInteger(Number)>negative
SmallInteger(Number)>negative
SmallInteger(Integer)>digitMultiply:neg:
DateAndTime class(Behavior)>basicNew
DateAndTime class>localOffset
DateAndTime class>localTimeZone
LocalTimeZone>offset
LocalTimeZone>primOffset
SmallInteger(Number)>minutes
Duration class>minutes:
Duration class>seconds:nanoSeconds:
Duration class(Behavior)>basicNew
SmallInteger(Integer)>truncated
SmallInteger(Number)>fractionPart
SmallInteger(Number)>integerPart
SmallInteger(Integer)>truncated
Duration>seconds:nanoSeconds:
SmallInteger(Integer)>rounded
DateAndTime>setJdn:seconds:nano:offset:
DateAndTime>normalizeSecondsAndNanos
SmallInteger><=
Integer><=
LargePositiveInteger(Integer)>isInteger
SmallInteger(Number)>negative
LargePositiveInteger>negative
SmallInteger(Number)>negative
SmallInteger><
SmallInteger(Integer)>digitCompare:
LargePositiveInteger(LargeInteger)>//
LargePositiveInteger(LargeInteger)>\\
WorkingSession>manager:
SessionManager>installSession:
SessionManager>currentSession
WorkingSession>start:
SmalltalkImage>vm
VirtualMachine>setGCParameters
VirtualMachine>edenSpaceSize
VirtualMachine>parameterAt:
VirtualMachine>wordSize
SmallFloat64(Float)>rounded
SmallFloat64>fractionPart
SmallFloat64(Float)>abs
SmallFloat64>truncated
VirtualMachine>tenuringThreshold:
VirtualMachine>parameterAt:put:
SmalltalkImage>clearExternalObjects
ExternalSemaphoreTable class>clearExternalObjects
Semaphore>critical:
BlockClosure>ensure:
BlockClosure>valueNoContextSwitch
Semaphore>wait
Array class(ArrayedCollection class)>new
Array class>new:
ExternalSemaphoreTable class>unprotectedExternalObjects:
SmalltalkImage>specialObjectsArray
Array(Object)>at:put:

no room in eden for allocateSmallNewSpaceSlots:format:classIndex:

/opt/pharolauncher/pharo-vm/lib/pharo/5.0-201805090836/pharo
Pharo VM version: 5.0-201805090836  Wed May 9 08:54:40 UTC 2018 gcc 4.8 [Production Spur 64-bit VM]
Built from: CoInterpreter VMMaker.oscog-eem.2380 uuid: c76d37e1-445c-4e34-9796-fc836dfd50c9 May  9 2018
With: StackToRegisterMappingCogit VMMaker.oscog-eem.2380 uuid: c76d37e1-445c-4e34-9796-fc836dfd50c9 May  9 2018
Revision: VM: 201805090836 https://github.com/OpenSmalltalk/opensmalltalk-vm.git
Date: Wed May 9 10:36:12 2018 CommitHash: 334be97
Plugins: 201805090836 https://github.com/OpenSmalltalk/opensmalltalk-vm.git
Build host: Linux travis-job-5ab63a26-b2a8-4841-93ff-7aa5dc4e571e 4.4.0-101-generic #124~14.04.1-Ubuntu SMP Fri Nov 10 19:05:36 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
plugin path: ./lib/pharo/5.0-201805090836 [default: /opt/pharolauncher/pharo-vm/lib/pharo/5.0-201805090836/]


C stack backtrace & registers:
*./lib/pharo/5.0-201805090836/pharo[0x41b0c5]
./lib/pharo/5.0-201805090836/pharo(error+0xf)[0x41c7af]
./lib/pharo/5.0-201805090836/pharo[0x432afc]
./lib/pharo/5.0-201805090836/pharo[0x43f6b3]
./lib/pharo/5.0-201805090836/pharo[0x4485bf]
./lib/pharo/5.0-201805090836/pharo[0x45aee1]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
./lib/pharo/5.0-201805090836/pharo[0x45a217]
./lib/pharo/5.0-201805090836/pharo[0x45aee6]
[0x21e78c0]


Smalltalk stack dump:
   0x7ffdf8a345f8 I ExternalSemaphoreTable class>unprotectedExternalObjects: 0x22044b0: a(n) ExternalSemaphoreTable class
   0x7ffdf8a34640 I [] in ExternalSemaphoreTable class>clearExternalObjects 0x22044b0: a(n) ExternalSemaphoreTable class
   0x7ffdf8a34690 I [] in Semaphore>critical: 0x261ec80: a(n) Semaphore
   0x7ffdf8a346e0 I BlockClosure>ensure: 0x1b5e2d0: a(n) BlockClosure
   0x7ffdf8a34730 I Semaphore>critical: 0x261ec80: a(n) Semaphore
   0x7ffdf8a34778 I ExternalSemaphoreTable class>clearExternalObjects 0x22044b0: a(n) ExternalSemaphoreTable class
   0x7ffdf8a347b8 I SmalltalkImage>clearExternalObjects 0x220a920: a(n) SmalltalkImage
   0x7ffdf8a347f8 I WorkingSession>start: 0x1b5e000: a(n) WorkingSession
   0x7ffdf8a34850 I SessionManager>launchSnapshot:andQuit: 0x2270a10: a(n) SessionManager
        0xc4f6c50 s SessionManager>snapshot:andQuit:
        0xc506a18 s [] in SmalltalkImage>snapshot:andQuit:
        0xc515188 s CurrentExecutionEnvironment class>activate:for:
        0xc51b590 s DefaultExecutionEnvironment(ExecutionEnvironment)>beActiveDuring:
        0xc5322e0 s DefaultExecutionEnvironment class>beActiveDuring:
        0xc51b648 s SmalltalkImage>snapshot:andQuit:
        0xc532398 s [] in WorldState class>saveSession
        0xc53a310 s BlockClosure>ensure:
        0xc552b18 s CursorWithMask(Cursor)>showWhile:
        0xc552bf8 s WorldState class>saveSession
        0xc55a110 s [] in ToggleMenuItemMorph(MenuItemMorph)>invokeWithEvent:
        0xc571550 s BlockClosure>ensure:
        0xc571ee8 s CursorWithMask(Cursor)>showWhile:
        0xc571fc8 s ToggleMenuItemMorph(MenuItemMorph)>invokeWithEvent:
        0xc572420 s ToggleMenuItemMorph(MenuItemMorph)>mouseUp:
        0xc572590 s ToggleMenuItemMorph(MenuItemMorph)>handleMouseUp:
        0xc572648 s MouseButtonEvent>sentTo:
        0xc572700 s ToggleMenuItemMorph(Morph)>handleEvent:
        0xc5727b8 s MorphicEventDispatcher>dispatchDefault:with:
        0xc572870 s MorphicEventDispatcher>handleMouseUp:
        0xc572928 s MouseButtonEvent>sentTo:
        0xc5729e0 s [] in MorphicEventDispatcher>dispatchEvent:with:
        0xc572a98 s BlockClosure>ensure:
        0xc572b78 s MorphicEventDispatcher>dispatchEvent:with:
        0xc572c50 s ToggleMenuItemMorph(Morph)>processEvent:using:
        0xc572d08 s MorphicEventDispatcher>dispatchDefault:with:
        0xc572dc0 s MorphicEventDispatcher>handleMouseUp:
        0xc572ec8 s MouseButtonEvent>sentTo:
        0xc572f80 s [] in MorphicEventDispatcher>dispatchEvent:with:
        0xc573038 s BlockClosure>ensure:
        0xc573118 s MorphicEventDispatcher>dispatchEvent:with:
        0xc5731f0 s MenuMorph(Morph)>processEvent:using:
        0xc5732a8 s MenuMorph(Morph)>processEvent:
        0xc573360 s MenuMorph>handleFocusEvent:
        0xc573418 s [] in HandMorph>sendFocusEvent:to:clear:
        0xc5734d0 s BlockClosure>on:do:
        0xc5735d0 s WorldMorph(PasteUpMorph)>becomeActiveDuring:
        0xc5736c0 s HandMorph>sendFocusEvent:to:clear:
        0xc5737c0 s HandMorph>sendEvent:focus:clear:
        0xc5738b0 s HandMorph>sendMouseEvent:
        0xc573968 s HandMorph>handleEvent:
        0xc573a20 s HandMorph>processEventsFromQueue:
        0xc573ad8 s HandMorph>processEvents
        0xc573b90 s [] in WorldState>doOneCycleNowFor:
        0xc573c48 s Array(SequenceableCollection)>do:
        0xc573d20 s WorldState>handsDo:
        0xc573dd8 s WorldState>doOneCycleNowFor:
        0xc573e90 s WorldState>doOneCycleFor:
        0xc573f48 s WorldMorph>doOneCycle
        0xc574000 s WorldMorph class>doOneCycle
        0xc040f88 s [] in MorphicUIManager>spawnNewProcess
        0xc040d40 s [] in BlockClosure>newProcess

Most recent primitives

stack page bytes 8192 available headroom 5576 minimum unused headroom 7200

(no room in eden for allocateSmallNewSpaceSlots:format:classIndex:)
Annullato (core dump creato)

Are the data you expected?

Thanks,
Dario