Bug #1216

Render opengl errors - master branch

Added by Rob Baer 10 months ago. Updated 9 months ago.

Status:NewStart date:02/11/2018
Priority:NormalDue date:
Assignee:Jonas Hauquier% Done:

0%

Category:OpenGL
Target version:Master Py3 Community

Description

Windows 10 master branch commit:
commit e705854f3c3352dcba79ccf49f2a29b99d3129ff (HEAD > master, origin/master, origin/HEAD)
Author: Joel Palmius <>
Date: Wed Feb 7 13:33:33 2018 +0100
------------

Steps to reproduce:
Start MH
select Render > Scene Coldlights (may not need this step)
Render tab and render several times - 1st time may not trigger error

If one mouses over the result there seems to be some additional exceptions that accompany redraws with and without the cold-light in the redraw (toggling between?)

The exceptions are opengl 1282 and 1283, but maybe a few additional clues about underlying cause.

Log Errors:

Exception during event onClicked
Traceback (most recent call last):
  File "./core\events3d.py", line 211, in callEvent
    method(event)
  File "plugins/4_rendering_opengl\__init__.py", line 125, in onClicked
    mh2opengl.Render(settings)
  File "plugins/4_rendering_opengl\mh2opengl.py", line 104, in Render
    img = mh.renderToBuffer(width, height)
  File "./lib\glmodule.py", line 858, in renderToBuffer
    glPushAttrib(GL_VIEWPORT_BIT)
  File "C:\Users\Rob\Anaconda3\envs\MH3\lib\site-packages\OpenGL\error.py", line 232, in glCheckError
    baseOperation = baseOperation,
OpenGL.error.GLError: GLError(
    err = 1283,
    description = b'stack overflow',
    baseOperation = glPushAttrib,
    cArguments = (GL_VIEWPORT_BIT,)
)
Exception during event onClicked
Traceback (most recent call last):
  File "./core\events3d.py", line 211, in callEvent
    method(event)
  File "plugins/4_rendering_opengl\__init__.py", line 125, in onClicked
    mh2opengl.Render(settings)
  File "plugins/4_rendering_opengl\mh2opengl.py", line 104, in Render
    img = mh.renderToBuffer(width, height)
  File "./lib\glmodule.py", line 858, in renderToBuffer
    glPushAttrib(GL_VIEWPORT_BIT)
  File "C:\Users\Rob\Anaconda3\envs\MH3\lib\site-packages\OpenGL\error.py", line 232, in glCheckError
    baseOperation = baseOperation,
OpenGL.error.GLError: GLError(
    err = 1283,
    description = b'stack overflow',
    baseOperation = glPushAttrib,
    cArguments = (GL_VIEWPORT_BIT,)
)
Exception during event onMouseMovedCallback
Traceback (most recent call last):
  File "./core\events3d.py", line 211, in callEvent
    method(event)
  File "./core\gui3d.py", line 607, in onMouseMovedCallback
    picked = self.getSelectedFaceGroupAndObject()
  File "./core\gui3d.py", line 437, in getSelectedFaceGroupAndObject
    picked = mh.getPickedColor()
  File "./lib\glmodule.py", line 188, in getPickedColor
    updatePickingBuffer()
  File "./lib\glmodule.py", line 150, in updatePickingBuffer
    glReadPixels(0, 0, rwidth, height, GL_RGB, GL_UNSIGNED_BYTE, pickingBuffer)
  File "C:\Users\Rob\Anaconda3\envs\MH3\lib\site-packages\OpenGL\GL\images.py", line 372, in glReadPixels
    imageData
  File "C:\Users\Rob\Anaconda3\envs\MH3\lib\site-packages\OpenGL\error.py", line 232, in glCheckError
    baseOperation = baseOperation,
OpenGL.error.GLError: GLError(
    err = 1282,
    description = b'invalid operation',
    baseOperation = glReadPixels,
    cArguments = (
        0,
        0,
        1600,
        1200,
        GL_RGB,
        GL_UNSIGNED_BYTE,
        c_void_p(2070738518080),
    )
)
Exception during event onMouseMovedCallback
Traceback (most recent call last):
  File "./core\events3d.py", line 211, in callEvent
    method(event)
  File "./core\gui3d.py", line 607, in onMouseMovedCallback
    picked = self.getSelectedFaceGroupAndObject()
  File "./core\gui3d.py", line 437, in getSelectedFaceGroupAndObject
    picked = mh.getPickedColor()
  File "./lib\glmodule.py", line 188, in getPickedColor
    updatePickingBuffer()
  File "./lib\glmodule.py", line 150, in updatePickingBuffer
    glReadPixels(0, 0, rwidth, height, GL_RGB, GL_UNSIGNED_BYTE, pickingBuffer)
  File "C:\Users\Rob\Anaconda3\envs\MH3\lib\site-packages\OpenGL\GL\images.py", line 372, in glReadPixels
    imageData
  File "C:\Users\Rob\Anaconda3\envs\MH3\lib\site-packages\OpenGL\error.py", line 232, in glCheckError
    baseOperation = baseOperation,
OpenGL.error.GLError: GLError(
    err = 1282,
    description = b'invalid operation',
    baseOperation = glReadPixels,
    cArguments = (
        0,
        0,
        1600,
        1200,
        GL_RGB,
        GL_UNSIGNED_BYTE,
        c_void_p(2070738518080),
    )
)
Exception during event onMouseMovedCallback
Traceback (most recent call last):
  File "./core\events3d.py", line 211, in callEvent
    method(event)
  File "./core\gui3d.py", line 607, in onMouseMovedCallback
    picked = self.getSelectedFaceGroupAndObject()
  File "./core\gui3d.py", line 437, in getSelectedFaceGroupAndObject
    picked = mh.getPickedColor()
  File "./lib\glmodule.py", line 188, in getPickedColor
    updatePickingBuffer()
  File "./lib\glmodule.py", line 150, in updatePickingBuffer
    glReadPixels(0, 0, rwidth, height, GL_RGB, GL_UNSIGNED_BYTE, pickingBuffer)
  File "C:\Users\Rob\Anaconda3\envs\MH3\lib\site-packages\OpenGL\GL\images.py", line 372, in glReadPixels
    imageData
  File "C:\Users\Rob\Anaconda3\envs\MH3\lib\site-packages\OpenGL\error.py", line 232, in glCheckError
    baseOperation = baseOperation,
OpenGL.error.GLError: GLError(
    err = 1282,
    description = b'invalid operation',
    baseOperation = glReadPixels,
    cArguments = (
        0,
        0,
        1600,
        1200,
        GL_RGB,
        GL_UNSIGNED_BYTE,
        c_void_p(2070738518080),
    )
)
Exception during event onMouseMovedCallback

History

#1 Updated by Jonas Hauquier 9 months ago

I just discovered a very useful tool for opengl debugging called apitrace.
It works both on linux and windows, which is great.

https://github.com/apitrace/apitrace/

To use it, run a trace on makehuman:

apitrace trace makehuman.py

It will probably save to a file called python2.7.trace, unless you explicitly specify a different output filename

This trace can then be viewed and played back in the apitrace gui

qapitrace python2.7.trace

Now you can inspect all the opengl calls and any errors or warnings.

Also available in: Atom