Re: access violation when calling glGenFramebuffers

Patrick Dietrich <[email protected]> Thu, 04 Apr 2013 17:05:10 +0200
Newsgroups gmane.comp.python.opengl.user
Message-ID <[email protected]>
Hi Cyrille,

I have tested my program on MacOSX 10.7.5 with NVIDIA GeForce 9400M with 
PyOpenGL 3.0.2a5. It runs fine there. On a third machine running Windows 
7 with 32 bit python, PyOpenGL 3.0.2b2 and "Intel HD Graphics" (don't 
know which one) the program runs but doesn't display what it's supposed 
to display (which may be a bug in my program).

My guess is that the problem is either restricted to 64 bit python on 
Windows or to 64 bit python with my specific Intel graphics drivers. Are 
there other configurations with 64 bit python on Windows 7 on which 
glGenFramebuffers is reported to work?

If it's a problem with the Intel drivers it should also occure when I 
use the native C interface of OpenGL shouldn't it? So if I write a litte 
C test program and compile it once in 32 bit mode and once in 64 bit 
mode I could see if it works, couldn't I? I would be surprised if it 
didn't though since some game developer would have stumbled upon this 
driver bug already, I guess. What do you think?

I'm writing a scientific program for point cloud processing. While at 
the moment my datasets as well as the memory required for the algorithms 
fit into 4 GB of RAM this may change within the near future (my machine 
has 8 GB). So 32 bit python is only a temporary solution for me. At the 
moment most of my algorithms are CPU based, therefore the graphics 
hardware is mainly needed for display purposes. Therefor the moderately 
fast onboard Intel chip is suficient at the moment. On the other hand it 
even has support for OpenCL which makes it usefull for OpenCL algorithm 
development.

Cheers,
Patrick

Am 03.04.2013 19:24, schrieb Cyrille Rossant:
> Do you have the possibility to test your program on another 
> configuration? I had a program working perfectly well on multiple 
> configurations (Windows, Mac, Linux, etc.), except a particular one 
> (Windows 8 64 bits, Python 64 bits, Intel HD 3000). So this bug might 
> be due to some interaction between the Intel Windows drivers and 
> PyOpenGL/Python 64 bits. I fear that this bug may be very hard to fix 
> (especially if the drivers contain a bug somewhere).
>
> How much RAM do you have? If you have an Intel HD card I suppose that 
> you don't have so much memory that you absolutely need Python 64 bits 
> (with 32 bits you're probably limited to ~4GB objects). Those who will 
> really need a 64 bits distribution will probably have a better 
> graphics card anyway and may be able to use your program.
>
> Cyrille
>
> 2013/4/3 Patrick Dietrich <[email protected] 
> <mailto:[email protected]>>
>
>
>     As I'm trying to get my program fit for the future, I would like to
>     avoid "downgrading" to 32 bit python.
>
>     I tracked the problem a bit further:
>
>     I replaced
>
>              self.framebuffer_id = glGenFramebuffers(1);
>
>     with
>
>              fbo = ctypes.c_uint(1)
>     OpenGL.raw.GL.EXT.framebuffer_object.glGenFramebuffersEXT(1,
>     ctypes.byref(fbo))
>              self.framebuffer_id = int(fbo.value)
>
>     I'm not sure if the code is ctype-wise correct but I think that
>     doesn't
>     make a real difference for the error:
>
>     Traceback (most recent call last):
>     ...
>        File "C:\Users\Patrick\Dev\PCT\open_gl_widgets.py", line 203,
>     in __init__
>      OpenGL.raw.GL.EXT.framebuffer_object.glGenFramebuffersEXT(1,
>     ctypes.byref(fbo))
>        File
>     "C:\Python27\lib\site-packages\OpenGL\platform\baseplatform.py",
>     line 379, in __call__
>          return self( *args, **named )
>     WindowsError: exception: access violation writing 0xFFFFFFFFE812A790
>
>     Could anyone from the developers please help me track down the problem
>     further? I'm very happy to assist in fixing this problem!
>
>     Cheers,
>     Patrick
>
>
>     Am 03.04.2013 17 <tel:03.04.2013%2017>:50, schrieb Cyrille Rossant:
>     > I had a similar problem with a similar configuration and a similar
>     > graphics card. I couldn't solve the problem, so I ended up
>     removing my
>     > whole 64 bits Python distribution and reinstalling everything with
>     > Python 32 bits... and it worked.
>     >
>     > Cyrille
>     >
>


------------------------------------------------------------------------------
Minimize network downtime and maximize team effectiveness.
Reduce network management and security costs.Learn how to hire 
the most talented Cisco Certified professionals. Visit the 
Employer Resources Portal
http://www.cisco.com/web/learning/employer_resources/index.html
_______________________________________________
PyOpenGL Homepage
http://pyopengl.sourceforge.net