Hi Dario, On Sun, Dec 16, 2018 at 11:23 AM Trussardi Dario Romano < dario.trussardi@tiscali.it> wrote:
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 <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 <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 <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?
No :-). Can you put your image and changes up anywhere I can get at them? Or can you put them in a zip or tar archive and email them to me? I'm curious. _,,,^..^,,,_ best, Eliot