Sorry, I do know better, but I was a bit wrapped up in what I was
seeing.
Here is the log
Regards,
Les H
On Sun, 2008-07-06 at 12:31 +0200, Bert Freudenberg wrote:
> Am 06.07.2008 um 10:00 schrieb Joshua Gargus:
>
> > If the bug shows up, can you provide as much information as
> > possible from the debugger (Squeak will probably be more responsive
> > than when the error occurs while running Cobalt)? In particular,
> > I'm interested in the receiver and argument of/to #unsignedCharAt:
>
>
> Attaching a debug log is much more informative than a screenshot.
>
> - Bert -
>
>
[SqueakDebug.log]
Error: a primitive has failed
5 July 2008 8:47:10 pm
VM: unix - a SmalltalkImage
Image: Croquet1.0beta [latest update: #2]
SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /home/lesh/Software/Cobalt/cobalt-base-current-build
Trusted Dir /home/lesh/Software/Cobalt/cobalt-base-current-build/secure
Untrusted Dir /home/lesh/Software/Cobalt/cobalt-base-current-build/My Squeak
ExternalAddress(Object)>>error:
Receiver: @ 16r00000000
Arguments and temporary variables:
aString: 'a primitive has failed'
Receiver's instance variables:
@ 16r00000000
ExternalAddress(Object)>>primitiveFailed
Receiver: @ 16r00000000
Arguments and temporary variables:
Receiver's instance variables:
@ 16r00000000
ExternalAddress(ByteArray)>>integerAt:size:signed:
Receiver: @ 16r00000000
Arguments and temporary variables:
byteOffset: 1
nBytes: 1
aBoolean: false
Receiver's instance variables:
@ 16r00000000
ExternalAddress(ByteArray)>>unsignedByteAt:
Receiver: @ 16r00000000
Arguments and temporary variables:
byteOffset: 1
Receiver's instance variables:
@ 16r00000000
--- The full stack ---
ExternalAddress(Object)>>error:
ExternalAddress(Object)>>primitiveFailed
ExternalAddress(ByteArray)>>integerAt:size:signed:
ExternalAddress(ByteArray)>>unsignedByteAt:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ExternalAddress(ByteArray)>>unsignedCharAt:
ExternalData>>fromCString
OGLUnixX11LE(OpenGL)>>extensions
*OGLExtManager(OGLExtManager)>>loadExtension:
*OGLExtManager(OGLExtManager)>>doesNotUnderstand:
OGLUnixX11LE(OpenGL)>>glLoadTransposeMatrixf:
TSpace>>renderSpace:port:depth:ghostFrame:
TSpace>>renderSpace:
TCamera>>renderView:space:overlay:
TSpace(TFrame)>>renderView:overlay:
[] in TFarRef>>syncSend:withArguments: {[result := myValue perform: selector withArguments: args]}
BlockContext>>ensure:
TFarRef>>syncSend:withArguments:
TFarRef>>syncSend:
TMessageMaker>>doesNotUnderstand:
[] in TFarRef>>renderView:overlay: {[:vp | vp renderView: ogl overlay: ov]}
TFarRef>>send:
TFarRef>>renderView:overlay:
TPortal>>renderView:with:
[] in TFarRef>>syncSend:withArguments: {[result := myValue perform: selector withArguments: args]}
BlockContext>>ensure:
TFarRef>>syncSend:withArguments:
TFarRef>>syncSend:
TMessageMaker>>doesNotUnderstand:
[] in CroquetHarnessWithMenu(CroquetHarness)>>renderWorld {[:vp | vp renderView: ogl with: {systemOverlayPortal}]}
TFarRef>>send:
[] in CroquetHarnessWithMenu(CroquetHarness)>>renderWorld {[readyToRender wait. randomList := (controllers select: [:cc | cc islan...]}
TMutexSet>>pvtCritical:startingAt:
[] in TMutexSet>>pvtCritical:startingAt: {[self pvtCritical: aBlock startingAt: index + 1]}
BlockContext>>ensure:
[] in TMutex>>critical: {[owner := activeProcess. aBlock ensure: [owner := nil]]}
[] in Semaphore>>critical: {[blockValue := mutuallyExcludedBlock value]}
BlockContext>>ensure:
Semaphore>>critical:
TMutex>>critical:
TMutexSet>>pvtCritical:startingAt:
[] in TMutexSet>>pvtCritical:startingAt: {[self pvtCritical: aBlock startingAt: index + 1]}
BlockContext>>ensure:
[] in TMutex>>critical: {[owner := activeProcess. aBlock ensure: [owner := nil]]}
[] in Semaphore>>critical: {[blockValue := mutuallyExcludedBlock value]}
BlockContext>>ensure:
Semaphore>>critical:
TMutex>>critical:
TMutexSet>>pvtCritical:startingAt:
TMutexSet>>critical:
CroquetHarnessWithMenu(CroquetHarness)>>renderWorld
[] in CroquetHarnessWithMenu(CroquetHarness)>>renderProcess {[self renderWorld]}
BlockContext>>ensure:
CroquetHarnessWithMenu(CroquetHarness)>>renderProcess
[] in CroquetHarnessWithMenu(Object)>>fork:at: {[self perform: aSelector]}
[] in BlockContext>>newProcess {[self value. Processor terminateActive]}