The MethodContext>>numArgs is I guess to be expected because there's no implementation so far. Find attached. 'From Pharo-1.1.1-- of 12 September 2010 [Latest update: #11414] on 2 January 2011 at 2:23:32 pm'! !MethodContext methodsFor: 'accessing' stamp: 'eem 1/2/2011 14:23'! numArgs "Answer the number of arguments required to evaluate this method or block." ^closureOrNil ifNil: [method numArgs] ifNotNil: [closureOrNil numArgs]! ! On Sun, Jan 2, 2011 at 2:49 AM, Mariano Martinez Peck <marianopeck@gmail.com
wrote:
Hi Eliot. Running:
- Mac OS - VM r2340 - PharoCore 1.2 12288
Running all tests I got this DNU. It is reproducable running the test testClosureRestart which seems to pass well in previous VMs.
Cheers
Mariano
THERE_BE_DRAGONS_HERE MessageNotUnderstood: MethodContext>>numArgs 2 January 2011 11:38:31 am
VM: Mac OS - intel - 1065 - Croquet Closure Cog VM [CoInterpreter VMMaker-oscog.41] Croquet Cog 3.0.0 Image: Pharo1.2beta [Latest update: #12288]
SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir /Users/mariano/Pharo/imagenes/PharoCore-1.2beta-12283 Trusted Dir /foobar/tooBar/forSqueak/bogus/ Untrusted Dir /Users/mariano/Library/Preferences/Croquet/Internet/Untrusted
MethodContext(Object)>>doesNotUnderstand: #numArgs Receiver: [| b | self assert: 10 == a. self assert: nil == b. b := a + 20. firstTimeThrough ifT...etc... Arguments and temporary variables: t1: numArgs t2: nil t3: nil Receiver's instance variables: sender: nil pc: nil stackp: 3 method: (MethodContextTest>>#privRestartBlockTest "a CompiledMethod(700186624)"...etc... closureOrNil: [| b | self assert: 10 == a. self assert: nil == b. b := a + 20...etc... receiver: MethodContextTest>>#testClosureRestart
--- The full stack --- MethodContext(Object)>>doesNotUnderstand: #numArgs ------------------------------------------------------------
On Sun, Jan 2, 2011 at 8:52 AM, Philippe Marschall <kustos@gmx.net> wrote:
On 01.01.2011 21:38, Eliot Miranda wrote:
Hi All,
there are new versions of both the SimpleStackBasedCogit and the StackToRegisterMappingCogit Cog VMs in VM.r2337/ <http://www.mirandabanda.org/files/Cog/VM/VM.r2337/> & VM.r2338/ <http://www.mirandabanda.org/files/Cog/VM/VM.r2338/> respectively. These contain fixes for another bad pc mapping bug that could cause hard crashes when jitting on a backward branch in a looping interpreted method. If you're trying to reproduce Cog crashes please upgrade to one of tthese two VMs.
TIA and happy new 2011, P.S. according to an FBF RT @dpp RT @giuliodeluise 2011 is a prime number & the sum of 11 consecutive prime numbers: 2011=157+163+167+173+179+181+191+193+197+199+211
Crashes right at start up:
Segmentation fault
Smalltalk stack dump: 0xff8aafb4 M Error class(Exception class)>handles: -1246542340: a(n) Error class 0xff8aafdc M MethodContext(ContextPart)>handleSignal: -1220670568: a(n) MethodContext 0xff8aaffc M MethodContext(ContextPart)>handleSignal: -1216945468: a(n) MethodContext 0xff8ab020 I UnhandledError(Exception)>signal -1216945236: a(n) UnhandledError 0xff8ab040 I UnhandledError class>signalForException: -1246541380: a(n) UnhandledError class 0xff8ab064 I MessageNotUnderstood(Error)>defaultAction -1216945688: a(n) MessageNotUnderstood 0xff8ab084 I MessageNotUnderstood>defaultAction -1216945688: a(n) MessageNotUnderstood 0xff8ab0a8 I UndefinedObject>handleSignal: -1247481852: a(n) UndefinedObject 0xff8ab0cc I MessageNotUnderstood(Exception)>pass -1216945688: a(n) MessageNotUnderstood 0xff8ab0f8 I [] in PasteUpMorph>becomeActiveDuring: -1245846436: a(n) PasteUpMorph 0xff8ab11c I BlockClosure>valueWithPossibleArgs: -1221000224: a(n) BlockClosure 0xff8ab13c M [] in MethodContext(ContextPart)>handleSignal: -1220670568: a(n) MethodContext 0xff8ab15c M BlockClosure>ensure: -1216945284: a(n) BlockClosure 0xff8ab17c M MethodContext(ContextPart)>handleSignal: -1220670568: a(n) MethodContext 0xff8ab1a4 I MethodContext(ContextPart)>handleSignal: -1216945468: a(n) MethodContext 0xff8ab1c8 I MessageNotUnderstood(Exception)>signal -1216945688: a(n) MessageNotUnderstood 0xff8ab1f0 I ProcessorScheduler(Object)>doesNotUnderstand: >= -1247476532: a(n) ProcessorScheduler 0xff8ab210 M Process>priority: -1216945752: a(n) Process 0xff8ab238 I BlockClosure>forkAt: -1216945972: a(n) BlockClosure 0xff8ab25c I InputEventPollingFetcher(InputEventFetcher)>installEventLoop -1246030580: a(n) InputEventPollingFetcher 0xff8ab280 I InputEventPollingFetcher(InputEventFetcher)>startUp -1246030580: a(n) InputEventPollingFetcher 0xff8ab2a0 I InputEventFetcher class>startUp -1246046280: a(n) InputEventFetcher class 0xff8ab2b8 M InputEventFetcher class(Behavior)>startUp: -1246046280: a(n) InputEventFetcher class 0xff8ab2e0 M [] in SmalltalkImage>send:toClassesNamedIn:with: -1242015264: a(n) SmalltalkImage 0xff8ab2fc M BlockClosure>on:do: -1216946688: a(n) BlockClosure 0xff8ab32c M [] in SmalltalkImage>send:toClassesNamedIn:with: -1242015264: a(n) SmalltalkImage 0xff8ab354 I OrderedCollection>do: -1241999736: a(n) OrderedCollection 0xff8ab37c I SmalltalkImage>send:toClassesNamedIn:with: -1242015264: a(n) SmalltalkImage 0xff8ab3a8 I SmalltalkImage>processStartUpList: -1242015264: a(n) SmalltalkImage 0xff8ab3d4 I SmalltalkImage>snapshot:andQuit:embedded: -1242015264: a(n) SmalltalkImage -1220672224 s SmalltalkImage>snapshot:andQuit: -1220672132 s WorldState class>saveAndQuit -1220672040 s [] in ToggleMenuItemMorph(MenuItemMorph)>invokeWithEvent: -1220671948 s BlockClosure>ensure: -1220999860 s CursorWithMask(Cursor)>showWhile: -1220999972 s ToggleMenuItemMorph(MenuItemMorph)>invokeWithEvent: -1220671856 s ToggleMenuItemMorph(MenuItemMorph)>mouseUp: -1220671764 s ToggleMenuItemMorph(MenuItemMorph)>handleMouseUp: -1220671672 s MouseButtonEvent>sentTo: -1220671580 s ToggleMenuItemMorph(Morph)>handleEvent: -1220671488 s MorphicEventDispatcher>dispatchDefault:with: -1220671396 s MorphicEventDispatcher>dispatchEvent:with: -1220671304 s ToggleMenuItemMorph(Morph)>processEvent:using: -1220671212 s MorphicEventDispatcher>dispatchDefault:with: -1220671120 s MorphicEventDispatcher>dispatchEvent:with: -1220671028 s MenuMorph(Morph)>processEvent:using: -1220670936 s MenuMorph(Morph)>processEvent: -1220670844 s MenuMorph>handleFocusEvent: -1220670752 s [] in HandMorph>sendFocusEvent:to:clear: -1220670660 s [] in PasteUpMorph>becomeActiveDuring: -1220670568 s BlockClosure>on:do: -1221000336 s PasteUpMorph>becomeActiveDuring: -1221000456 s HandMorph>sendFocusEvent:to:clear: -1220670476 s HandMorph>sendEvent:focus:clear: -1221000572 s HandMorph>sendMouseEvent: -1221000664 s HandMorph>handleEvent: -1220670384 s HandMorph>processEvents -1220670292 s [] in WorldState>doOneCycleNowFor: -1220670200 s Array(SequenceableCollection)>do: -1220670108 s WorldState>handsDo: -1221001008 s WorldState>doOneCycleNowFor: -1220670016 s WorldState>doOneCycleFor: -1220669924 s PasteUpMorph>doOneCycle -1221589100 s [] in Project class>spawnNewProcess -1221602884 s [] in BlockClosure>newProcess
Most recent primitives basicNew size at: basicNew: decompress:fromByteArray:at: beCursorWithMask: vmParameterAt:put: vmParameterAt:put: setGCBiasToGrowGCLimit: setGCBiasToGrow: ensure: valueNoContextSwitch wait value specialObjectsArray new: at:put: value signal basicNew new: at: value: basicIdentityHash on:do: value perform:with: millisecondClockValue signal value: size size bitShift: \\ \\ \\ \\ \\ perform:with: shallowCopy subclasses new: new: new: // value: value: value: = = value: value: at:put: value: at:put: addAll: - + + + size at: do: do: value: getSystemAttribute: compare:with:collated: value: value: platformName = = value: value: getSystemAttribute: compare:with:collated: determineActivePlatformStartingAt: determineActivePlatformStartingAt: basicNew value: value: value: value: perform:with: actualScreenSize species species supportsDisplayDepth: new: basicNew beDisplay value: perform:with: isMemberOf: value: perform:with: basicNew critical: critical: wait wait specialObjectsArray species new: replaceFrom:to:with:startingAt: specialObjectsArray at:put: at:put: primSetInputSemaphore: suspend findNextUnwindContextUpTo: value: bottomContext objectAt: basicNew: basicNew basicNew findNextHandlerContextStarting tempAt: nextHandlerContext handleSignal: isKindOf: tempAt:put: tempAt:put: tempAt:put: valueWithArguments: findNextHandlerContextStarting basicNew findNextHandlerContextStarting tempAt: findNextHandlerContextStarting tempAt: Abgebrochen
Cheers Philippe