Port EXCEPTION_ACCESS_VIOLATION fix to 2.76b
Closed, InvalidPublic

Description

System Information
Windows Vista 32-bit
Mobile Intel(R) 4 Series Express Chipset Family, Mobile Intel(R) GMA 4500MHD

Blender Version
Broken: 2.76b f337fea
Worked:

Short description of error

2.76b is the last version to support my videocard. Everything works fine, except that I can not enter System preferences. Blender crashes with EXCEPTION_ACCESS_VIOLATION as described in https://developer.blender.org/T44654

It would be nice to either get the fix backported or add support for ANGLE in newer releases.

Exact steps for others to reproduce the error

Open File --> User Preferences... -> System.

More info

clinfo downloaded from http://download.blender.org/ftp/sergey/clinfo/ on my system crashes too. Here is the output:

>clinfo-win32.exe
Initializing clew...
clew initialization success!
Symbol table:
  clGetPlatformIDs: 73723480
  clGetDeviceIDs: 73722080
  clGetPlatformInfo: 73723520
  clGetDeviceInfo: 73722120
Getting number of platforms...
DEBUG: Executning statement: clGetPlatformIDs(0, NULL, &num_platforms)

>clinfo-workaround-win32.exe
Initializing clew...
clew initialization success!
Symbol table:
  clGetPlatformIDs: 736E3480
  clGetDeviceIDs: 736E2080
  clGetPlatformInfo: 736E3520
  clGetDeviceInfo: 736E2120
Getting number of platforms using workaround...
DEBUG: Executning statement: clGetPlatformIDs(1, &platform_id, &num_platforms)

Details

Type
Bug
Bastien Montagne (mont29) closed this task as "Invalid".Jan 13 2017, 12:37 PM
Bastien Montagne (mont29) claimed this task.

Am sorry, but this is not a bug report at all. As for getting a patched version of 2.76, you may try to get git repo, switch to 2.76b tag, merge in the specific commits fixing your issue (not sure which they are, you'll have to read the logs), and if merge is successful you’re done. We cannot feature backports ourselves, our time is already way over-eaten by release and maintenance tasks.

2.78 doesn't start at all, and 2.76 crashes on System. How come that this is not a bug report? =(

It is a pity that I had to buy a new notebook for new Blender versions. And then it will be 3.1, ES 3.0, Vulkan.. Can Blender be shipped with ANGLE at least to support low end systems on 2.x series? https://github.com/google/angle

We cannot keep supporting old, low-level hardware forever, Blender is already way ahead of any other 3D suite here (most only support two or three years old GPUs - and usually not the integrated ones even), and keeping our cuurent level of support for old-ish hardware is already quite a burden sometimes.

Also, please follow our submission template and guidelines and make a complete, valid bug report, with required info (especially hardware one), it’s pretty much impossible to be specific in that case without even knowing your GPU (though “intel videocard” is not encouraging at all)!

Thanks for the updates, but that only confirms what I was saying to you - GMA 4500MHD is a very low-level GPU from over 8 years ago, with buggy drivers that never really got fixed even, iirc… In theory, it should be able to run with any 2.7x blender (since it claims to support OpenGL 2.1), though, @Mike Erwin (merwin) shall know better about that hopefully?

Note that you may want to ensure you do have latest Intel drivers (and not those featured by your laptop manufacturer), original drivers for that chipset did not had OGL 2.1 support at all afaik.

But this boils down to: sorry, but we cannot spend time and energy trying to support and old 'GPU' that was never designed to be used with high-end 3D suite in the first hand, let alone modern ones.

https://en.wikipedia.org/wiki/List_of_Intel_graphics_processing_units#Fourth_generation
According to this page, the GPU can handle OpenGL 2.1 but Windows drivers only go up to 2.0. Reminds me of similar Intel/Windows limits on the newer HD 3000.

@anatoly techtonik (techtonik) Please generate system-info.txt from Blender and attach here. Also your GLSL version. Open Blender's Python console and type:

>>> import bgl
>>> bgl.glGetString(bgl.GL_SHADING_LANGUAGE_VERSION)

If your system can do GL 2.0 plus GLSL 1.20 there might be hope! I am considering making the requirements a little looser for Blender 2.79 — mostly as a personal project but it could be useful to others. 2.79 has lots of fixes compared to 2.76b, including the OpenCL detect crash you reference.

@Mike Erwin (merwin) cannot generate system-info.txt - Blender crashes when I choose this menu option.

>>> import bgl
>>> bgl.glGetString(bgl.GL_SHADING_LANGUAGE_VERSION)
Traceback (most recent call last):
  File "<blender_console>", line 1, in <module>
AttributeError: could not get opengl string

@Bastien Montagne (mont29) maybe tackling this specific PC/OS/GPU may fit broader scope of generic framework for handling GPU problems? New bugs with GPUs, co-processors and standards are constantly evolving, and it may save a lot of time in the long run to share efforts for their identification and workarounds.

For my Windows DX9 drivers are fine, so switching to a backing renderer via ANGLE can fix the bug for me https://chromium.googlesource.com/angle/angle/+/master/README.md

But in the long run it would be interesting to collect various bugs and tests for https://piglit.freedesktop.org/ and switch to compatibility layer like https://github.com/p3/regal if test fails.

OpenGLinfo.zip

I wrote a simple OpenGL info program. @anatoly techtonik (techtonik) please run this and attach OpenGLinfo.txt it generates. That will give us more info about your system & help us decide what to do.

Thanks. Here is the output OpenGLinfo.txt from OpenGLinfo.zip and also logs produced by glewinfo.exe and visualinfo.exe from GLEW-2.0 - glewinfo.txt and visualinfo.txt

From those reports it seems you have no Intel driver running. Grab it here:
https://downloadcenter.intel.com/product/81503/Intel-HD-Graphics-for-Previous-Generation-Intel-Processors

That probably(?) won't fix this CL issue, but performance will be better in general.

I installed latest https://downloadcenter.intel.com/product/81507/Graphics-Drivers-for-Mobile-Intel-4-Series-Express-Chipset-Family which seems more appropriate for my chipset after getting blue screen with the Intel HD drivers. OpenGLinfo.txt now shows proper OpenGL version 2.1.0 and User Preferences... -> System doesn't crash anymore.

2.78a e8299c8 also started correctly. But I see only white squares for icons -

Cool! I'm guessing there is an image containing all icons which exceeds the reported texture size limit of 512x512. But that is just a guess.

There are two error messages in the console:

Warning! Unable to find a pixel format that supports WGL_SWAP_COPY_ARB. Substituting one that uses
 WGL_SWAP_UNDEFINED_ARB.
WM: failed to allocate texture for triple buffer drawing (texture too large for graphics card).

How can I debug further? I've made blender-app.trace with apitrace.exe trace blender.exe - does it help?

For the 2nd message, go to UserPrefs > System > Window Draw Method and choose another method.

Add Comment