Summary: | EXCEPTION_ACCESS_VIOLATION during call of GDI.DescribePixelFormat | ||
---|---|---|---|
Product: | [JogAmp] Jogl | Reporter: | Mathieu Féry (MathiusD) <mfery> |
Component: | windows | Assignee: | Sven Gothel <sgothel> |
Status: | IN_PROGRESS --- | ||
Severity: | normal | CC: | gouessej |
Priority: | P4 | ||
Version: | 2.6.0 | ||
Hardware: | All | ||
OS: | windows | ||
Type: | DEFECT | SCM Refs: | |
Workaround: | --- | ||
Attachments: |
hs_err_pidXXX.log related of this issue
test-fat-jars.bat v2.5.0.log hs_err_pid6872.log test.bat test.log hs_err_pid6508.log test_dbg.bat test_dbg.log hs_err_pid3212.log test-fat-jars-wgl.bat test-wgl.bat test_dbg-wgl.bat systemInformations.png DxDiag-before.txt DxDiag-after.txt v2.5.0-wgl.log hs_err_pid3720.log test-wgl.log hs_err_pid4016.log test_dbg-wgl.log hs_err_pid3992.log |
Description
Mathieu Féry (MathiusD)
2024-01-03 10:49:03 CET
Please can you set jogl.windows.useWGLVersionOf5WGLGDIFuncSet to true? I modified the scripts as necessary and asked our impacted user to test with! (I will add the scripts as an attachment) Created attachment 866 [details]
test-fat-jars.bat
Created attachment 867 [details]
v2.5.0.log
Created attachment 868 [details]
hs_err_pid6872.log
Created attachment 869 [details]
test.bat
Created attachment 870 [details]
test.log
Created attachment 871 [details]
hs_err_pid6508.log
Created attachment 872 [details]
test_dbg.bat
Created attachment 873 [details]
test_dbg.log
Created attachment 874 [details]
hs_err_pid3212.log
Created attachment 875 [details]
test-fat-jars-wgl.bat
Created attachment 876 [details]
test-wgl.bat
Created attachment 877 [details]
test_dbg-wgl.bat
(In reply to Julien Gouesse from comment #1) I hadn't tested this property before, especially when I had read the information here: https://www.khronos.org/opengl/wiki/Platform_specifics:_Windows#The_WGL_functions P.S.: All attachments are added, I'm waiting for our concerned user's logs before forwarding them here. (In reply to Mathieu Féry (MathiusD) from comment #15) I understand your position, I'm trying to find an acceptable workaround that would be used only in a particular case to avoid a crash, it would be better than nothing, wouldn't it? By the way, please check whether this machine uses AMD CrossFire or Nvidia Optimus. If so, force it to use the most capable GPU and try again. (In reply to Julien Gouesse from comment #16) Yes, totally, it was only to explain why I hadn't dared test it beforehand. I'm asking now, but it didn't seem to me that the user was using Optimus or Crossfire Created attachment 878 [details]
systemInformations.png
Our user hasn't come back to us yet, but I do have found some additional information about his OS (I just forgot we had screen of system information with model :x).
OS: Windows 7 Service Pack 1
System:
- Manufacturer: HP
- Model: p6355fr
- CPU: Intel(R) Core(TM) i3 CPU 530 @ 2.93 GHz
- RAM: 6.0Go
- 64bits
I'm still waiting for more information from our user, but with the model I found the integrated graphics card should be an ATI Radeon HD 5450.
Thank you. Tagged for 2.6.0 as version 2.5.0 is already out of the door and yes, should be fixed for out next darling :) (In reply to Sven Gothel from comment #19) I realize I abuse the version filed :) Our bugzilla still configured as 'version where bug has been found', while I always used it as 'version where we expected it to be fixed' for our release management. We will stick with my semantics .. will try to change the 'doc entry' for the field if possible. OK, I have looked at - test_dbg.log (attachment 873 [details]) - hs_err_pid3212.log (attachment 874 [details]) Java: +++ GDI.CreateDummyWindow() dummyWindowClass RegisteredClass[handle 0x13f140000, _dummyWindow_clazz0, dtx 0x6b84c0]^M ProxySurfaceImpl: surface change 0x0 -> 0x3f0104e0^M updateGraphicsConfiguration(using target): hdc 0x3f0104e0^M user chosen caps GLCaps[rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms 16/0/0, dbl, mono , hw, GLProfile[GL2/GL2.sw], on-scr[.]]^M updateGraphicsConfigurationARB: SharedResource is null: WindowsGraphicsDevice[type .windows, connection decon, unitID 0, handle 0x0, owner false, NullToolkitLock[obj 0x72967906]]^M updateGraphicsConfigurationGDI: hdc 0x3f0104e0, capsChosen GLCaps[rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms 16/0/0, dbl, mono , hw, GLProfile[GL2/GL2.sw], on-scr[.]], WINDOW^M extHDC false, chooser false, pformatsNum -1^M +++ Native: +++ Stack: [0x0000000063290000,0x0000000063390000], sp=0x000000006338cef8, free space=1011k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [atio6axx.dll+0xd28ffb] Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j jogamp.nativewindow.windows.GDI.DescribePixelFormat1(JIILjava/nio/ByteBuffer;)I+0 j jogamp.nativewindow.windows.GDI.DescribePixelFormat(JIILjogamp/nativewindow/windows/PIXELFORMATDESCRIPTOR;)I+17 j jogamp.opengl.windows.wgl.WGLUtil.DescribePixelFormat(JIILjogamp/nativewindow/windows/PIXELFORMATDESCRIPTOR;)I+20 +++ This implies our native call to 'DescribePixelFormat(..)' lands in the ATI driver of the atio6axx.dll. Hence the system has selected to load the ATI GPU driver implementation when we loaded the 'hook' OpenGL32.dll. Then I searched for 'GDI DescribePixelFormat atio6axx crash' <https://duckduckgo.com/?q=GDI+DescribePixelFormat+atio6axx+crash&ia=web> and got the following: 2023-05-25 [SOLVED] EXCEPTION_ACCESS_VIOLATION crash (atio6axx.dll) https://www.minecraftforum.net/forums/support/java-edition-support/3178072-solved-exception_access_violation-crash-atio6axx See: 2023-05-29: I managed to fix the issue. For future users: I just downgraded my integrated GPU's drivers by installing the AMD Adrenalin software version 22.5.1 (you can find it by just googling it), which apparently has a different version of the atio6axx driver. 2023-08-24: Afaik the members on my Discord fixed the issue by updating their AMD drivers with the Adrenalin software. +++ So they still all use JogAmp huh? Nice! New customers? How to reach vendor, ask for funding and offer support contracts? Yeah ;-) Shall we consider this resolved then? (In reply to Sven Gothel from comment #20) Yes indeed, I had put 2.5.0 for this reason I had not paid attention, I will put tbd next time ^^' (In reply to Sven Gothel from comment #21) Thanks a lot! I had already skimmed this forum post but I didn't know if it was related since the Java version of Minecraft is based on lwjgl (And not on jogamp :c) I asked our user to update his drivers following what is told in the post so I hope that will solve the problem. (But I say hope because what is quoted in the forum post is related to the Adrenalin driver, however our user's presumed graphics card depends on the Catalyst driver [Cf here: https://www.amd.com/en/support/graphics/amd-radeon-hd/ati-radeon-hd-5000-series/ati-radeon-hd-5450 win7-64bits section]) Anyway, the bug seems to be completely independent of jogamp and seems to be on ATI's side only, so I think we can consider it solved! (In reply to Mathieu Féry (MathiusD) from comment #22) Let's wait for the reply of yours. Yes, its is driver related. For some reason it refuses to process the dummy-window's HDC using DescribePixelFormat(..) within our probing-thread. (MC w/ lwjgl surely does something similar) One could dive deeper into the cause why special older versions may not work .. but if an updated driver works why bothering and spending too much money on it huh? :) (In reply to Sven Gothel from comment #23) .. therefor, please report the used ATI driver in detail and whether an older or newer ATI driver fixes the issue. A workaround on our behalf is possible of course. If you like me to tackle that, let's move it offline via email as I would need you to send me the machine and so forth. (In reply to Sven Gothel from comment #24) Yes it's possible, we can detect the faulty versions and use GL_RENDERER etc. Then, we have to create a new renderer quirk to work around this problem if possible, it requires to debug the source code in C and to find an acceptable value that doesn't cause a crash. It would require a very similar hardware with the same version of Catalyst. Good luck, it usually takes me several weeks to do that :( (In reply to Sven Gothel from comment #23) Yes, if a more recent driver works, I think it will be easier (especially as I doubt that many users will stick with this particular version, given the age of the model, driver and os). (In reply to Sven Gothel from comment #24) (In reply to Julien Gouesse from comment #25) For the workaround, this may be interesting, but I can't borrow our user's PC :x So I've ask for the results of the following software exports: dxdiag and msinfo32 (To get the ATI driver version and model). I confess I don't know if other exports would be interesting on a win7 in our case :x (In reply to Mathieu Féry (MathiusD) from comment #26) .. any updates? I may close this issue otherwise. (In reply to Sven Gothel from comment #27) Hi, I have news from our user yesterday, sorry for the delay :c Here are the results of the tests with the user: * The test with the WGL functions also causes an EXCEPTION_ACCESS_VIOLATION, but I have the impression that the option is not considered... * We were able to update the drivers but that didn't change the error :x I'm attaching the test results and system information She does have an AIT Radeon HD 5450 with Catalyst drivers. Her drivers have version 8.712.1.0 but the update doesn't seem to have had any impact on her driver versions. Created attachment 879 [details]
DxDiag-before.txt
DxDiag diagnosis before update of Catalyst drivers
Created attachment 880 [details]
DxDiag-after.txt
DxDiag diagnosis after update of Catalyst drivers
Created attachment 881 [details]
v2.5.0-wgl.log
Created attachment 882 [details]
hs_err_pid3720.log
Created attachment 883 [details]
test-wgl.log
Created attachment 884 [details]
hs_err_pid4016.log
Created attachment 885 [details]
test_dbg-wgl.log
Created attachment 886 [details]
hs_err_pid3992.log
|