Error in Cobalt

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Error in Cobalt

Les Howell
I finally got to the full nvidia setup for graphics and accelleration.
Speed is now 1300fps by glxgears at full screen.

But I still get errors in Cobalt.  I cannot seem to copy them, and
emailing them is therefore not reasonable.

I attempted to use the email error tool, but it doesn't work either it
appears, maybe due to the crash of the graphics interface.

        The error(s) seem to be related to a primitive not being recognized.
It seems to be pointing to one called TransposeMatrixf.  I just updated
the livna nvidia drivers on Fedora 8, and verified that glxgears ran
successfully with the speed reported (which is quite good actually).  

        I suspect that I need to update Cobalt due to the changes in libraries.
What is the current version.  I am running Croquet.1.0.18.image which I
installed April 9, along with the rest of the Cobalt directory.
And the Cobalt stuff is:
-rw-r--r--  1 lesh lesh 10646719 2008-04-16 17:19 cobalt.1.changes
-rw-r--r--  1 lesh lesh 28343572 2008-03-17 06:53 cobalt.1.image

Here is the SqueakDebug.log Error: a primitive has failed
29 June 2008 11:45:30 am

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]}

This is from my last run attempt.  This has been going on for sometime,
and I waited until I reloaded the livna Nvidia driver before opening it
up again (after being told that openGL was the problem and that the
nvidia drivers would fix it.

I do have to say that the only changes between Fedora 7 and Fedora 8 are
the nvidia drivers, but both sets are from the Nvidia corporation, and
not from Open source (but the mesa driver exhibits the same issue).
Perhaps the TransposeMatrixf call has been removed from the latest
libraries of OpenGL?  Is there a suitable substitute?

Regards,
Les H