- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello, I am the maintainer of a cross-platform branch of a certain game engine (LuaSTG-Evo). People who have tried to play games made with this engine have encountered crashes when it is run on Windows with Intel integrated graphics. It does not seem to happen on any other platform or graphics stack.
The issue seems to involve glDrawElements, and related functions such as glDrawElementsBaseVertex. It appears that an input address is null when it shouldn't be, though it seems to consistently happen at an instruction that offsets the address by 0x30, so that ends up being the fault address.
I do not know what particular revisions of Intel's integrated OpenGL drivers could be causing this, but it appears to be a common occurrence. The types of games made with this engine are not particularly high performance games, and so it is expected that they function on integrated graphics.
Feel free to compile the engine in debug mode in order to help you in your endeavors. Both branches are relevant, and both branches are non-functional specifically on Windows Intel integrated graphics. In the "dev-v1" branch, there are in-progress implementations for DX11 and SDL_GPU (DX12/Vulkan/Metal) backends, but neither of these are currently functional.
Thank you for your time.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Kalei,
Thank you for reaching out about the OpenGL crashes you're experiencing with Intel integrated graphics on Windows when running games made with your LuaSTG-Evo engine. I appreciate you providing detailed information about the issue involving glDrawElements and glDrawElementsBaseVertex functions.
To help me better understand and investigate this OpenGL compatibility issue, I need some additional information:
System Information: Could you please provide an Intel SSU report from one of the affected systems? You can download it here: https://www.intel.com/content/www/us/en/support/articles/000005567/processors.html
If you're not comfortable sharing the SSU report, please provide the specific Intel integrated graphics model (Intel UHD, Iris Xe, etc.), current Intel graphics driver version, Windows version and build number, and CPU model.
Are you able to reproduce this crash consistently on specific Intel integrated graphics models? Do you have any crash dumps or detailed error logs that show the exact fault address and call stack? Have you tested with different Intel graphics driver versions to see if the issue is present across multiple driver releases?
Which OpenGL version and features does your engine target, and are there specific OpenGL calls or rendering patterns that seem to trigger the crashes more frequently?
This information will help me investigate the OpenGL driver compatibility issue and provide appropriate guidance for your cross-platform game engine.
Best regards,
Dean R.
Intel Customer Support Technician
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you for responding. As far as I am aware, the crash is guaranteed on affected Intel integrated graphics versions when running a game built upon the Lua framework most commonly used with this engine family, though I am not sure as to the range of models/driver versions affected. The engine originally targeted OpenGL 4.1, though I downgraded it to OpenGL 3.1 (on branch dev-v1) to try to see if the result on Intel graphics would be different (it was not). I do not believe I use any OpenGL extensions, at least when targeting 4.1, and when targeting 3.1, the only extensions that are used are features I relied on in 4.1 (specifying shader input and output location indices within GLSL).
I'll be able to provide the rest soon, as I currently do not possess a device capable of replicating the crash; I'll need to wait for the information to be provided to me by one of my users. I already know the specific fault address, as I was able to guide them through debugging the engine in Visual Studio: 0x0000000000000030. When Visual Studio offered an option to show a disassembly view, it showed the assembly code for the place in the driver's DLL where it occurred, and it was specifically a memory access offset by +0x30; meaning that this is really just a null pointer exception with an extra step. This exception always occurs at a call to glDrawElements (or glDrawElementsBaseVertex). While I currently cannot narrow much down, it should be trivial enough for Intel employees to replicate this bug, as the source is freely available to download, compile, and debug... Once I can provide a list of affected configurations,
One last note of interest is that the engine does not seem to crash or misbehave when running its test suite (data/test in the engine's repository), yet running an actual game on it guarantees an error. Thankfully, the framework that these games use is also freely available on my GitHub (THlib-Evo), so if you cannot replicate the error with the engine's test suite, try running the engine on this framework. Please note that to run the engine properly, the working directory must be set to the root of the code you wish to run (data/example and data/test in the engine's own repository, or the root of the Lua framework's repository).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Okay, so I believe I may have gotten confused as to what was meant by "fault address", the address I provided is the address which is accessed, not the address at which the fault occurs. However, I have managed to scrounge up an old Intel laptop, and I installed Windows on it, in order to assist in testing. I will report back on that shortly.
Also, I can confirm at least one affected driver version: 30.0.101.1339
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Okay, I can confirm that this issue occurs on Intel HD Graphics 520 on a Core i5-6300U at the very least, though it is likely that the range of affected Intel products is wider. The driver version on my laptop is 30.0.101.1338, just one version prior to the other affected version.
I ran the Intel processor test suite you linked, but I do not see any means to generate an SSU report. However, all of the tests passed.
I am installing Visual Studio on this laptop so I can run a debug build of the engine, and provide you with a debug report.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have managed to produce a debug dump (without heap, as it would be far too large otherwise) and call stack. I hope this helps you. The debug dump is zipped because otherwise it wouldn't let me send it.
It appears that the exact fault address is inconsistent. I assume the driver is running under relocatable memory.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have done a little bit more testing, and I found that the test suite does not crash immediately, and is able to run tests involving draw calls, but it is extremely unstable and very crash-prone.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I did not realize that there was an Intel graphics driver update available, so I updated the driver to version 31.0.101.2115. It still crashes in the exact same way.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi KaleiAlma,
Thank you for the comprehensive information and testing you've provided regarding the OpenGL crashes with your LuaSTG-Evo engine on Intel integrated graphics. I appreciate your detailed analysis, including the debug dumps, call stack information, and confirmation that the issue persists across multiple driver versions (30.0.101.1338, 30.0.101.1339, and 31.0.101.2115).
Your findings regarding the null pointer exception occurring at glDrawElements/glDrawElementsBaseVertex calls, specifically with the 0x0000000000000030 fault address, are very helpful for our investigation. It's also valuable to know that the issue affects Intel HD Graphics 520 on Core i5-6300U and appears to be consistent across different OpenGL versions (4.1 and 3.1).
To proceed with investigating this OpenGL driver compatibility issue, I need to gather some additional system information:
Please run the Intel System Support Utility (SSU) and provide the report. You can download it from: https://www.intel.com/content/www/us/en/support/articles/000005567/processors.html
If you're not comfortable sharing the SSU report, please provide:
- Complete system model/manufacturer
- Exact CPU model and specifications
- Intel integrated graphics model and current driver version
- Windows version and build number
Best regards,
Dean R.
Intel Customer Support Technician
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Though, these seem to be Intel PDT (Processor Diagnostic Tool) reports, I don't see anything regarding "System Support Utility" on the page you linked, so it is possible that those uploaded files were not what you were expecting.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Is it possible that you intended to show me this link? https://www.intel.com/content/www/us/en/download/18377/intel-system-support-utility-for-windows.html?wapkw=system%20support%20utility
I'll run this on my system too, and provide you with the results of this program.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Another person affected by this bug has provided their Intel processor model: i5-9300H with UHD Graphics 630. I'd say it's safe to assume that most Intel iGPUs are affected by this bug by this point.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi KaleiAlma,
Thank you for the comprehensive SSU reports and detailed technical investigation of the OpenGL crashes in your LuaSTG-Evo engine. Your thorough documentation, including debug dumps and testing across multiple driver versions, clearly demonstrates a legitimate compatibility issue.
Upon reviewing your SSU report, I can see you're using Intel HD Graphics 520, which has reached End of Interactive Support (EOIS) status. This means this product no longer receives active driver development or compatibility improvements for new applications. I sincerely apologize for not providing the expected answer you were seeking.
Available Self-Help Options:
- Technical support content available online
- Help from other users in the Intel Support Community: https://community.intel.com/t5/Mobile-and-Desktop-Processors/bd-p/processors
However, I genuinely hope that you can accept and understand our position. Once again, I would like to let you know that I'll be closing the thread. I want to extend my gratitude for reaching out to Intel Customer Support.
Best regards,
Dean R.
Intel Customer Support Technician
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Wait a moment, I also said that Intel UHD Graphics 630 is affected, and that's from a 9th-gen processor. Is that one EoIS too?
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page