Crash on Virtualbox
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
PyGL3Display |
Fix Released
|
Medium
|
David Griffin |
Bug Description
CURRENT WORKAROUND:
To get Sprites working under VirtualBox, add the following two lines to your code just after import.
from PyGL3Display.
SpriteCommon.
Original Bug report
Alan Bourke (alanpbourke) wrote 23 minutes ago:
I'm getting this too, on the latest trunk as of today (68). A couple of samples like the 'lines' one run OK but criticalMass, for example, throws a similar error to the above.
Ubuntu 12.04 in a Virtualbox VM.
Traceback:
OpenGL Warning: vboxCall failed with VBox status code -54
OpenGL Warning: SHCRGL_
OpenGL Warning: vboxCall failed with VBox status code -54
OpenGL Warning: SHCRGL_
Traceback (most recent call last):
File "/home/alanb/Aptana Studio 3 Workspace/
main()
File "/home/alanb/Aptana Studio 3 Workspace/
x = Level(10, (400,400))
File "/home/alanb/Aptana Studio 3 Workspace/
self.ballImg = loadImage(
File "../PyGL3Displa
return cls.surfaceify(
File "../PyGL3Displa
ret.
File "../PyGL3Displa
Image.
File "../PyGL3Displa
self.
File "../PyGL3Displa
GL_RGBA, GL_UNSIGNED_BYTE, data)
File "/usr/lib/
return self._finalCall( *args, **named )
File "/usr/lib/
raise err
OpenGL.
err = 1282,
description = 'invalid operation',
baseOperation = glTexSubImage2D,
pyArgs = (
GL_TEXTURE_2D,
0,
0,
0,
100,
100,
GL_RGBA,
GL_UNSIGNED_BYTE,
'\xff\
),
cArgs = (
GL_TEXTURE_2D,
0,
0,
0,
100,
100,
GL_RGBA,
GL_UNSIGNED_BYTE,
'\xff\
),
cArguments = (
GL_TEXTURE_2D,
0,
0,
0,
100,
100,
GL_RGBA,
GL_UNSIGNED_BYTE,
'\xff\
)
)
I've done a bit of searching on the bug, and it seems that the error message SHCRGL_ GUEST_FN_ WRITE_READ is the telling factor. I'm a bit in the dark as the Virtualbox website is timing out on me, but this seems to be related to bugs in OpenGL on VirtualBox VMs.
Specifically, it seems that Virtualbox is allowing a texture to be created that is too big for it to use, and then crashing when it is used. It is also passing off all the checks that a developer is supposed to use to determine maximum texture size, and still crashing.
Just to confirm: the examples that work should be lines, ellipses, triangles - all others should crash (as they use textures).
Also: do these crashes happen outside a Virtualbox VM?