protonscr

[d3d9] : GTA San Andreas Crash

dxvkclosed bugd3d9windows
doitsujin/dxvk#4141 · opened 2024-07-13 by niresh1234 · updated 2024-07-16 · 26 comments · github
1 matching comments, n / p to jump
Nniresh1234 2024-07-13 github

@doitsujin Hey, GTA San Andreas Crash (d3d9) sins commit bbe851f6a25b57f320362c97b12afc52bfa99da1

I check two of this commit artifacts
https://github.com/doitsujin/dxvk/actions/runs/9804878804
https://github.com/doitsujin/dxvk/actions/runs/9804865813
temp-01

.
.
.
.

hare is ultimate asi loader crash log

Unhandled exception at 0x6C8C3CC0 in igvk32.dll (+0x1a3cc0): 0xC0000005: Access violation reading location 0x0000049C.
    Register dump:
        EAX: 0x205C5290  EBX: 0x0D7CF0AC  ECX: 0x00000000  EDX: 0x00000001  
        EDI: 0x205C4DD0  ESI: 0x0D7CF138  EBP: 0x0D7CEF30  EIP: 0x6C8C3CC0  
        ESP: 0x0D7CEE90  EFL: 0x00010293  
        
        CS: 0x00000023   SS: 0x0000002B   
        GS: 0x0000002B   FS: 0x00000053   
        ES: 0x0000002B   DS: 0x0000002B   
        
        ST00: 0x00000000 0x00000000 0x00000000 0x00000000  [ 0.000000 0.000000 0.000000 0.000000 ]
        ST01: 0x00000000 0x00000000 0x00000000 0x00000000  [ 0.000000 0.000000 0.000000 0.000000 ]
        ST02: 0x00000000 0x00000000 0x00000000 0x00000000  [ 0.000000 0.000000 0.000000 0.000000 ]
        ST03: 0x00000000 0x00000000 0x00000000 0x00000000  [ 0.000000 0.000000 0.000000 0.000000 ]
        ST04: 0x00000000 0x00000000 0x00000000 0x00000000  [ 0.000000 0.000000 0.000000 0.000000 ]
        ST05: 0x00000000 0xB0000000 0x00004002 0x00000000  [ 0.000000 -0.000000 0.000000 0.000000 ]
        ST06: 0x00000000 0xB0000000 0x00004002 0x00000000  [ 0.000000 -0.000000 0.000000 0.000000 ]
        ST07: 0x00000000 0x00000000 0x00000000 0x002B0000  [ 0.000000 0.000000 0.000000 0.000000 ]
        
        XMM00: 0x00000000 0x00000000 0x00000000 0x00000000  [ 0.000000 0.000000 0.000000 0.000000 ]
        XMM01: 0x00000000 0x00000000 0x00000000 0x00000000  [ 0.000000 0.000000 0.000000 0.000000 ]
        XMM02: 0x00000000 0x00000000 0x00000000 0x00000000  [ 0.000000 0.000000 0.000000 0.000000 ]
        XMM03: 0x00000000 0x00000000 0x00000000 0x00000000  [ 0.000000 0.000000 0.000000 0.000000 ]
        XMM04: 0x00000000 0x00000000 0x00000000 0x00000000  [ 0.000000 0.000000 0.000000 0.000000 ]
        XMM05: 0x00000000 0x00000000 0x00000000 0x00000000  [ 0.000000 0.000000 0.000000 0.000000 ]
        XMM06: 0x00000000 0x00000000 0x00000000 0x00000000  [ 0.000000 0.000000 0.000000 0.000000 ]
        XMM07: 0x00000000 0x00000000 0x00000000 0x00000000  [ 0.000000 0.000000 0.000000 0.000000 ]
        
    Stack dump:
        0x0D7CEE90:  00000100 205C4DD0 AA5C0CB8 0D7CEEAC 0D7CED3C 0D7CEEE4
        0x0D7CEEA8:  00000001 FFFFFFFF 0D7CEEF0 6C8AA13C 205C6F80 205C4DD0
        0x0D7CEEC0:  205C5290 AA5C0CF8 205C6FA4 20915808 0D7CF0AC 205C6FA4
        0x0D7CEED8:  20915C70 20915C70 00000000 0D7CEF24 6D024B0D 00000000
        0x0D7CEEF0:  0D7CEF30 6C890FDE 20915808 205C6F80 0D7CEF1C 0D7CEF20
        0x0D7CEF08:  AA5C0D38 00000100 205C4DD0 0D7CF0AC 205C6F80 00000000
        0x0D7CEF20:  00001000 0D7CEFA4 6D024730 FFFFFFFF 0D7CEFB0 6C8BD8BD
        0x0D7CEF38:  0D7CF180 00000100 00000000 00000000 00000000 0D7CEF60
        0x0D7CEF50:  AA5C0DB8 00000000 205C4DD0 0D7CF0AC 00000000 018B0000
        0x0D7CEF68:  000D3E88 00000000 0D7CEF90 77955F00 00000000 77955F2E
        base: 0x0D6D0000   top: 0x0D7CEE90   bottom: 0x0D7D0000
        
    Backtrace (may be wrong):
        =>0x6C8C3CC0 SetDriverStoreDir+0x19b6b0 in igvk32.dll (+0x1a3cc0) (0x0D7CEF30) 
          0x6C8BD8BD SetDriverStoreDir+0x1952ad in igvk32.dll (+0x19d8bd) (0x0D7CEFB0) 
          0x6C83F5CF SetDriverStoreDir+0x116fbf in igvk32.dll (+0x11f5cf) (0x0D7CF00C) 
          0x6C74896C SetDriverStoreDir+0x2035c in igvk32.dll (+0x2896c) (0x0D7CF0A0) 
          0x6C735040 SetDriverStoreDir+0xca30 in igvk32.dll (+0x15040) (0x0D7CF0C8) 
          0x6EE0B11B Direct3DCreate9On12Ex+0xb98db in d3d9.dll (+0xbb11b) (0x0D7CF2C8) 
          0x6EE0B766 Direct3DCreate9On12Ex+0xb9f26 in d3d9.dll (+0xbb766) (0x0D7CF9B8) 
          0x6EE0E0B9 Direct3DCreate9On12Ex+0xbc879 in d3d9.dll (+0xbe0b9) (0x0D7CFD18) 
          0x6EE0E3CF Direct3DCreate9On12Ex+0xbcb8f in d3d9.dll (+0xbe3cf) (0x0D7CFD98) 
          0x6EDDA93E Direct3DCreate9On12Ex+0x890fe in d3d9.dll (+0x8a93e) (0x0D7CFDA8) 
          0x6EDDA93E Direct3DCreate9On12Ex+0x890fe in d3d9.dll (+0x8a93e) 
        ```

BBlisto91 2024-07-13 github

Do you use any addons since you mention ultimate asi loader.

Nniresh1234 2024-07-13 github

@Blisto91 actually i also test game without any addon also... but still crash sins artifacts https://github.com/doitsujin/dxvk/actions/runs/9804878804 to v2.4

and important
my heavily modded GTASA game works fine before this commit artifacts
from v2.3.1 to https://github.com/doitsujin/dxvk/actions/runs/9804865813

you can see this two commit in top post image..... so you can find problem where start...

BBlisto91 2024-07-13 github

Could you give some information about your setup such as GPU, Operating system, logs and maybe a apitrace if possible?
I tried starting the game here with 2.4+ but i am not seeing a crash so far. Testing on Nvidia.

Edit: Actually from the backtrace i can gather you are using Intel Windows?

Nniresh1234 2024-07-13 github

@Blisto91

Im on Windows, I know dxvk mainly devloped for linux..

Here are some details:

  • OS: Windows 10 22H2 (up-to-date)
  • CPU: Intel i5-12400
  • GPU: Intel UHD-730 (integrated)
  • Driver: Latest 5762

.
.
.
.
Now read this (what all things happened):

My Heavily modded GTA-SA game fully working without any issue in DXVK v2.3.1......

Recently DXVK v2.4 update release, so I replace dxvk 32bit d3d9.dll to v2.4 d3d9.dll

and now my game crash at loading screen (load save game).... or game crash after first cutsceen (new game).....

Then I again try v2.3.1 and game started working again perfectly.....

So I go to dxvk GitHub actions page (master, artifacts) and try artifacts one by one sins release v2.3.1 and find this two artifacts
where one is working - [d3d9] Fix DF Formats selection logic
and one is crash [d3d9] Reduce data copied for SWVP vertex decls

Hare screenshot attached of GitHub actions artifacts...
IMG_20240713_212430

BBlisto91 2024-07-13 github

Ok.
I tried starting a new game on AMD both with radv and amdvlk (Linux both) but still haven't gotten it to crash.

Nniresh1234 2024-07-14 github

@Blisto91 now checked again with Clean GTA-SA (without modified any file or any plugin)

this is full log file
working - dxvk-master-5ae3cfe40200cb716ea78a2b02b8b4a11b1b3432.zip.log
crash - dxvk-master-bbe851f6a25b57f320362c97b12afc52bfa99da1.zip.log

Comparision of two commits were actually problem started.
Click here 👉👉 https://github.com/doitsujin/dxvk/compare/5ae3cfe40200cb716ea78a2b02b8b4a11b1b3432...bbe851f6a25b57f320362c97b12afc52bfa99da1

Kkoffiato 2024-07-14 github

Can't reproduce on RX 6700 XT @ 24.6.1 proprietary drivers on Windows unfortunately.

KK0bin maintainer 2024-07-14 github

Can't reproduce. Might be an Intel driver issue.

20240714232323_1

Mmirh 2024-07-15 github

0x6EDDA93E Direct3DCreate9On12Ex+0x890fe in d3d9.dll (+0x8a93e)

This sounds like an incompatibility with d3d9on12 (which I thought Intel had stopped to use, but go figure)
If you have ACT/ADK installed, you might want to try to replicate with D3D9On12Enabler -On

Nniresh1234 2024-07-15 github

and @koffiato @Blisto91 @doitsujin

@mirh intel remove native d3d9 support from 12th gen+ cpus iGPU (which i used) and arcGPU, and use d3d9on12 for these...

@K0bin how to show this info? which software?

20240714232323_1

.
.
.
.
I think, the issue only able to reproduce when using d3d9on12 forcefully or in the hardware which is not supported d3d9 natively (like 12th gen+ CPUS iGPU or intel arcGPU).... i think @mirh is find something...

KK0bin maintainer 2024-07-15 github

intel remove native d3d9 support from 12th gen+ cpus iGPU (which i used) and arcGPU, and use d3d9on12 for these...

That's irrelevant. You're trying to use DXVK, not whatever Intel decided to use as their D3D9 driver.

Nniresh1234 2024-07-15 github

@K0bin how to show this info on-screen?

KK0bin maintainer 2024-07-15 github

Show what info on screen?

And yes, I can play the game just fine with DXVK.

Something in the Intel Windows driver stack breaks DXVK. If you want to use DXVK, it's gonna work just fine on Linux, even with an Intel GPU.

BBlisto91 2024-07-15 github

It is probably better to report the issue to Intel yes.

Nniresh1234 2024-07-15 github

Something in the Intel Windows driver stack breaks DXVK. If you want to use DXVK, it's gonna work just fine on Linux, even with an Intel GPU.

then how DXVK v2.3.1 works fine without issue?
.
.
.
.
.

Show what info on screen?

this
this

BBlisto91 2024-07-15 github

Try to make an issue here if they accept ones with dxvk manually applied and see if they come up with something https://github.com/IGCIT/Intel-GPU-Community-Issue-Tracker-IGCIT

KK0bin maintainer 2024-07-15 github

then how DXVK v2.3.1 works fine without issue?

Because 2.3.1 worked slightly differently and the driver was okay with that. That doesn't make what we're doing now any less correct.

Mmirh 2024-07-15 github

That's irrelevant. You're trying to use DXVK, not whatever Intel decided to use as their D3D9 driver.

It is still somehow relevant tbh. D3d9on12 doesn't replace the directx runtime, it's a fully fledged driver.

Because 2.3.1 worked slightly differently and the driver was okay with that. That doesn't make what we're doing now any less correct.

Yeah, considering #3895 addressed some wine tests it's more likely microsoft botched something...
On the other hand the driver is crashing inside of the vulkan dll, not the dx12 UMD.

@niresh1234 you should try to report the issue over at https://github.com/microsoft/D3D9On12/issues
EDIT: and if you don't have access to a compiler to try to individually revert those commits, you could check if one of these older check runs gives you more luck

Nniresh1234 2024-07-15 github

Hey @mirh @K0bin

I try to compile old commits one by one..... and then test....

and find this commit where exactly problem start... da814668bc3fbad0c332832a9759791735e9b0ca **Its only one-line code added**

👉 I just comment-out this line and compile and try....... and Latest-DXVK now working...
see what I change 👉 https://github.com/niresh1234/dxvk/commit/89827637a852b26c5a4d62cc17993915f32f2fda

Note: I do not have C++ knowledge... so not saying this commit/line is wrong.... but actually, problem start from there... and issue resolve for me if i comment-out/remove these line and compile

KK0bin maintainer 2024-07-15 github

Nice, there's indeed a bug in that line.

KK0bin maintainer 2024-07-15 github

Please try that PR once CI is done building it.

Nniresh1234 2024-07-15 github

Please try that PR once CI is done building it.

Sure! I will check

Nniresh1234 2024-07-15 github

Please try that PR once CI is done building it.

Hey @K0bin .........Now It's working...... Great👍👍

KK0bin maintainer 2024-07-15 github

Thanks for staying persistent and for the excellent work on the bisect!

BBlisto91 2024-07-15 github

Yea thank you for the bisect.
The reason we were very much suspecting a Intel driver issue is that we don't have a GPU to test on ourselves and it worked with other drivers seemingly. The Intel Windows driver also don't always have a great history with this dxvk and the backtrace was looking weird.
Just one of those extra annoying bugs heh.

Mmirh 2024-07-15 github

To be fair, working with D3D9On12 bugs is usually more pleasant than the average because it's completely open source.

DLLs

Error codes