Something uncommon in your log. These errors come from methods that read monitor EDID.
err: readMonitorEdidFromKey: Failed to get EDID reg key size
err: DXGI: Failed to parse display metadata + colorimetry info, using blank.
https://github.com/doitsujin/dxvk/blob/8860bde34b7d5c9dfff773752b6d0d431d75009a/src/wsi/win32/wsi_monitor_win32.cpp#L291
https://github.com/doitsujin/dxvk/blob/8860bde34b7d5c9dfff773752b6d0d431d75009a/src/dxgi/dxgi_output.cpp#L656
The trial version of game is available on official website (NSFW warning!).
Game information:
Engine version: 1.9.9.3
The game has an option called "use D3D9EX" in options.
Reproducable on Windows on both this game and LoveKami Useless Goddess (game with same engine, engine version 1.9.5.0, tested dxvk 2.5.3). Both game directly crash after launch with same exception.
Information from debugger:
EXCEPTION_DEBUG_INFO:
dwFirstChance: 0
ExceptionCode: [C0000409](x64dbg://localhost/address32#C0000409) (STATUS_STACK_BUFFER_OVERRUN)
ExceptionFlags: [00000001](x64dbg://localhost/address32#00000001)
ExceptionAddress: ucrtbase.[75B0DA51](x64dbg://localhost/address32#75B0DA51)
NumberParameters: 1
ExceptionInformation[00]: [00000007](x64dbg://localhost/address32#00000007)
Last chance exception on [75B0DA51](x64dbg://localhost/address32#75B0DA51) ([C0000409](x64dbg://localhost/address32#C0000409), STATUS_STACK_BUFFER_OVERRUN)!
Stack when exception:
0019921C 5BB8288C return to dxgi.CreateDXGIFactory+1F83BC from dxgi.CreateDXGIFactory+F1878
00199220 0000000A
00199224 75BE3B20 ucrtbase._scalb+15910
00199228 0000000B
0019922C 75BE3B20 ucrtbase._scalb+15910
00199230 00000001
00199234 00000000
00199238 00199328
0019923C 00000000
00199240 047D3B48
00199244 00000001
00199248 00000000
0019924C 5BA830E7 return to dxgi.CreateDXGIFactory+F8C17 from ???
00199250 00000001
00199254 00000008
00199258 00011B1B "???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????"
0019925C 5BB597AC return to dxgi.CreateDXGIFactory+1CF2DC from dxgi.CreateDXGIFactory+1CF4F0
00199260 047D3B08
00199264 80000000
00199268 00000000
0019926C 5BB826F4 return to dxgi.CreateDXGIFactory+1F8224 from dxgi.CreateDXGIFactory+F8C10
00199270 5BA98E10 dxgi.CreateDXGIFactory+10E940
00199274 047D253C
00199278 047D3B18
0019927C 047D3B48
00199280 00000001
00199284 00000000
00199288 00199328
0019928C 5BB82709 return to dxgi.CreateDXGIFactory+1F8239 from dxgi.CreateDXGIFactory+1F8214
00199290 047D3B48
00199294 047D3B08
00199298 00000000
0019929C 00000000
001992A0 047D3B68
001992A4 5BBD91EC dxgi.CreateDXGIFactory+24ED1C
001992A8 5BB508E0 dxgi.CreateDXGIFactory+1C6410
001992AC 00199360
001992B0 047D3B08
001992B4 80000000
001992B8 00199328
001992BC 5BAA7581 return to dxgi.CreateDXGIFactory+11D0B1 from dxgi.CreateDXGIFactory+1CF750
001992C0 047D3B48
001992C4 00199300
001992C8 00000002
001992CC 00000081
001992D0 00000001
001992D4 00000001
001992D8 001992C8
001992DC 00199368
001992E0 00199301
001992E4 772520C0 ntdll.wcstombs+70
001992E8 6DADAB8E steamclient.6DADAB8E
001992EC 00199300
001992F0 00199308
001992F4 75B0DF3F return to ucrtbase._malloc_base+2F from ???
001992F8 00199300
001992FC 00000001
00199300 00000081
00199304 047D243C
00199308 001993A8
0019930C 5BB5963C return to dxgi.CreateDXGIFactory+1CF16C from dxgi.CreateDXGIFactory+F18F0
00199310 00000001
00199314 047D3AE8
00199318 00199328
0019931C 047D3AE8
00199320 00199380
00199324 00000081
00199328 001993A8
0019932C 5BB3F679 return to dxgi.CreateDXGIFactory+1B51A9 from ???
00199330 5BB99278 dxgi.CreateDXGIFactory+20EDA8
00199334 00199380
00199338 00199381
0019933C 772657F1 return to ntdll.RtlNumberOfSetBitsUlongPtr+A41 from ntdll.RtlNumberOfSetBitsUlongPtr+AB1
00199340 00199A30
00199344 00199A81 "\fn\nr\rt\tv\v"
00199348 00000000
0019934C 5BB98C80 dxgi.CreateDXGIFactory+20E7B0
00199350 00000000
00199354 FFFFFF81
00199358 00000081
0019935C 00199420
00199360 00199368
00199364 00000000
00199368 1D01FA00
0019936C 00010101
00199370 00000000
00199374 00000000
00199378 00199380
0019937C 00000001
00199380 00190081
00199384 00199AD4
00199388 00199A34
0019938C 5BB436A1 return to dxgi.CreateDXGIFactory+1B91D1 from dxgi.CreateDXGIFactory+1B7CC0
00199390 00199AD4
00199394 00199A30
00199398 00199448
0019939C 00199A30
001993A0 00199420
001993A4 001993DE
001993A8 00199498
001993AC 5BB491D0 return to dxgi.CreateDXGIFactory+1BED00 from dxgi.CreateDXGIFactory+1B4DD0
001993B0 001993DE
001993B4 00199420
001993B8 00199A30
001993BC 5BB4BEA5 return to dxgi.CreateDXGIFactory+1C19D5 from dxgi.CreateDXGIFactory+1BDE50
001993C0 047D243C
001993C4 00000031
001993C8 00000000
001993CC 00199A30
001993D0 00000008
001993D4 001993F0
001993D8 00199448
001993DC 32004AD7
001993E0 00199A30
001993E4 047D2414
001993E8 00199460
001993EC 5BB44B69 return to dxgi.CreateDXGIFactory+1BA699 from dxgi.CreateDXGIFactory+B7510
001993F0 00199418
001993F4 00000031
001993F8 00000000
001993FC 00000000
00199400 00199A34
00199404 00199A30
00199408 001994B8
0019940C 00199A30
00199410 047D2414
00199414 00199430
00199418 047D2414
0019941C 00000009
00199420 00000000
00199424 00000000
00199428 00000000
0019942C 00000000
00199430 00000000
00199434 00000000
00199438 047D4CC0
0019943C 047D4CC2
00199440 047D4CC2
00199444 00000000
00199448 00000000
0019944C 00000000
00199450 00000000
00199454 047D243C
00199458 047D243C
0019945C 5BB44A00 dxgi.CreateDXGIFactory+1BA530
00199460 00000000
00199464 03FC0000
00199468 00000000
0019946C 00000000
00199470 00000000
00199474 00000000
00199478 00000000
0019947C 00000000
00199480 5BBB7840 dxgi.CreateDXGIFactory+22D370
00199484 00199540
00199488 00199528
0019948C 00199A30
00199490 00199A34
00199494 001994B0
00199498 00199528
0019949C 5BB47E5B return to dxgi.CreateDXGIFactory+1BD98B from dxgi.CreateDXGIFactory+1BEC40
001994A0 00199A34
001994A4 00199A30
001994A8 00199540
001994AC 5BB47E5B return to dxgi.CreateDXGIFactory+1BD98B from dxgi.CreateDXGIFactory+1BEC40
001994B0 00000000
001994B4 001994D0
001994B8 00199528
001994BC 5BB44AD7 return to dxgi.CreateDXGIFactory+1BA607 from dxgi.CreateDXGIFactory+1C1920
001994C0 00730000
001994C4 00199A30
001994C8 00000007
001994CC 5BB44AD7 return to dxgi.CreateDXGIFactory+1BA607 from dxgi.CreateDXGIFactory+1C1920
001994D0 01FFFFFE
001994D4 00000000
001994D8 00199550
001994DC 772520C0 ntdll.wcstombs+70
001994E0 047D3AC4
001994E4 00000009
001994E8 047D2414
001994EC FFFFFFFE
001994F0 00199540
001994F4 77263658 return to ntdll.RtlGetSystemTimeAndBias+1988 from ntdll.RtlReleaseSRWLockShared+1D0
001994F8 047D2414
001994FC 5BB42389 return to dxgi.CreateDXGIFactory+1B7EB9 from dxgi.CreateDXGIFactory+F18A8
00199500 5BBB9434 dxgi.CreateDXGIFactory+22EF64
00199504 0000005B
00199508 00000008
0019950C 00000002
00199510 00000010
00199514 00000000
00199518 00000001
0019951C 00199A30
00199520 00000007
00199524 00199540
00199528 001995C8
0019952C 5BB44DEB return to dxgi.CreateDXGIFactory+1BA91B from dxgi.CreateDXGIFactory+1BA520
00199530 047D2414
00199534 001995E0
00199538 00000009
0019953C 5BB44DEB return to dxgi.CreateDXGIFactory+1BA91B from dxgi.CreateDXGIFactory+1BA520
00199540 00199AD4
00199544 7720E84A return to ntdll.RtlFreeHeap+CA from ntdll.RtlGetSystemTimeAndBias+12D3
The game imports d3d11.dll, dxgi.dll, d3d9.dll, d3dx9_43.dll.
The game only creates D3D11Device in start option menu (and use this to list resolution and other system information), and creates both D3D11Device and D3D9Device after start pressed.
But SpecialK says it's a d3d9 game.
Only use dxvk d3d9.dll: menu shows, crash on start
Use dxvk d3d11.dll & dxgi.dll: immediately crash
Use dxvk d3d9.dll & d3d11.dll & dxgi.dll: immediately crash
This engine's behavior is a bit confusing. Need to figure out how it interact with both d3d9 and d3d11.
Something uncommon in your log. These errors come from methods that read monitor EDID.
err: readMonitorEdidFromKey: Failed to get EDID reg key size err: DXGI: Failed to parse display metadata + colorimetry info, using blank.dxvk/src/wsi/win32/wsi_monitor_win32.cpp
Line 291 in 8860bde
Logger::err("readMonitorEdidFromKey: Failed to get EDID reg key size");
Line 656 in 8860bde
Logger::err("DXGI: Failed to parse display metadata + colorimetry info, using blank.");
Reproducable on Windows on LoveKami Useless Goddess (game with same engine, tested 2.5.3). Game directly crash after launch.See my a bit complex investigation (may be helpful or not)
Information from debugger:EXCEPTION_DEBUG_INFO: dwFirstChance: 0 ExceptionCode: [C0000409](x64dbg://localhost/address32#C0000409) (STATUS_STACK_BUFFER_OVERRUN) ExceptionFlags: [00000001](x64dbg://localhost/address32#00000001) ExceptionAddress: ucrtbase.[75B0DA51](x64dbg://localhost/address32#75B0DA51) NumberParameters: 1 ExceptionInformation[00]: [00000007](x64dbg://localhost/address32#00000007) Last chance exception on [75B0DA51](x64dbg://localhost/address32#75B0DA51) ([C0000409](x64dbg://localhost/address32#C0000409), STATUS_STACK_BUFFER_OVERRUN)!Stack when exception:
Collapsed, very long stack
The game imports d3d11.dll, dxgi.dll, d3d9.dll, d3dx9_43.dll.
The game only creates D3D11Device in start option menu (and use this to list resolution and other system information), and creates both D3D11Device and D3D9Device after start pressed.
Image
But SpecialK says it's a d3d9 game.Image
Only use dxvk d3d9.dll: menu shows, crash on start Use dxvk d3d11.dll & dxgi.dll: immediately crash Use dxvk d3d9.dll & d3d11.dll & dxgi.dll: immediately crashThis engine's behavior is a bit confusing. Need to figure out how it interact with both d3d9 and d3d11.
Very pro comment, thanks! So will it work if we just return a "fake" edid of a generic device instead of an empty one?
So will it work if we just return a "fake" edid of a generic device instead of an empty one?
Not sure. The engine's behavior is really confusing. I need to figure out how this engine interact with both d3d9 and d3d11 first.
Actually, I even don't think it's really an issue related to edid.
So will it work if we just return a "fake" edid of a generic device instead of an empty one?
Not sure. The engine's behavior is really confusing. I need to figure out how this engine interact with both d3d9 and d3d11 first. Actually, I even don't think it's really an issue related to edid.
I am excited to see how this develops and looking forward to your updates.
The monitor/display errors are harmless
The monitor/display errors are harmless
Yes I have confirmed this. The game always tries to enum monitors on system default soft render device (WARP on Windows), and of course there should be no monitors on WARP device.
Made a better apitrace on Windows with Intel Xe 80EU TigerLake on driver 101.5768. (trace is SFW) https://github.com/qinlili23333/PageConnect/releases/download/TEST/AdvHD.apitrace.7z
Now I can confirm this engine only call d3d11 and dxgi in the option menu. After start pressed, it only needs d3d9.
So a complete apitrace needs both d3d11 and d3d9, which should generate two trace file.
When trace with dxvk on Windows, the trace file is empty.
Even if don't display this window ticked, the game still calls d3d11 and dxgi during launch.
In case you ticked don't display this window and you want to revert this, you need to open regedit and locate Computer\HKEY_CURRENT_USER\Software\WillPlus\ensemble\星の乙女と六華の姉妹 TRIAL EDITION, find DisableDialog and set it to 0.
Tried to replay apitrace with dxvk, and got this...
And millions of buffer overflow in apitrace output.
I have found solution.
Switching to MSVC build and use d3d9.dll only makes the game work as expected.
Same commit's mingw build is still broken.
So I would say, this issue is compiler toolchain issue.
[#4448](https://github.com/doitsujin/dxvk/pull/4448) Can fix this for mingw build.
So this issue should be solved if [#4448](https://github.com/doitsujin/dxvk/pull/4448) can be merged.
Yeah maybe I will need to pull the branch and complie my own version.
Will close this after the merged fix gets confirmed.
Have you verified that is the case? If it is related to the crash I have been poking at locally then it isn't fixed by that PR.
Have you verified that is the case? If it is related to the crash I have been poking at locally then it isn't fixed by that PR.
Not checked yet. Maybe later.
Might as well comment my own findings from poking at the game.
At least here locally the game and it's launcher will crash with builds compiled with the latest mingw-w64 bump https://archlinux.org/packages/?sort=&q=mingw-w64. Current version is 14.2.0 for gcc, 12.0.0 for headers, crt and winpthreads and binutils is 2.43. Downgrading to their previous version and compiling dxvk makes it work again.
Apparently with 12.0 there was a change of the default C runtime so it is UCRT now instead of MSVCRT as previous. Compiling my mingw-w64 system packages with --with-default-msvcrt=msvcrt allows me to compile working dxvk builds again. Credit to @Saancreed for this.
The error shown with a bad build is
info: Game: AdvHD.exe
info: DXVK: v2.5.3-76-g1d90772e
info: Build: x86 gcc 14.2.0
0024:err:virtual:map_view anon mmap error Cannot allocate memory, size 0x80020000, unix_prot 0
0024:err:virtual:allocate_virtual_memory out of memory for allocation, base (nil) size 80010000
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
0024:err:seh:NtRaiseException Unhandled exception code c0000409 flags 1 addr 0x7b10468b
which happens on this line in the findProfile function.
https://github.com/doitsujin/dxvk/blob/5569274a97f8b18c0e1ed5590aa12b54c726e659/src/util/config/config.cpp#L1217
It seems like, as it goes through all the builtin configs, that it crashes when it meets a regex that contains a range. They are the square brackets that can be seen in two builtin configs.
So the one it hits first and crashes with the error above is
{ R"(\\FIFA(19|[2-9][0-9])(_demo)?\.exe$)", {{
I am unsure why this specific game is special and causes a crash as it doesn't happen with any of the other games i have installed. It isn't the path with Japanese characters as it happens even when those are removed. Something special with the exe maybe.
But i am guessing this is a mingw-w64 bug either way.
(Referring to deleted comment) I presume you didn't get it working with MingW anyway since you reopened?
Alright it seems to be crashing again on my Windows 7 VM.(Sorry for the mistake i've made with using the wrong 64bit dll)
The only thing i got is the windows error report
Problem signature:
Problem Event Name: BEX
Application Name: AdvHD_CHS.exe
Application Version: 1.9.9.3
Application Timestamp: 60acb1df
Fault Module Name: StackHash_0a9e
Fault Module Version: 0.0.0.0
Fault Module Timestamp: 00000000
Exception Offset: 00000000
Exception Code: c0000005
Exception Data: 00000008
OS Version: 6.1.7601.2.1.0.256.1
Locale ID: 1033
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
Read our privacy statement online:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409
If the online privacy statement is not available, please read our privacy statement offline:
C:\Windows\system32\en-US\erofflps.txt
The generated AdvHD_d3d9.log and AdvHD_CHS_d3d9.log is empty. Tried the Chinese translation patch to see if the translators have some quirks but apparently not.
Update: it's an OS issue instead of dxvk or wine's.
(Referring to deleted comment) I presume you didn't get it working with MingW anyway since you reopened?
I think so, since none of these builds can run the game on my local wine installation.
Can't confirm the regex crash, it just crashes for some random reason with a completely nonsensical stack trace that points from dxgi to mfplat (??) on my end. Not sure how to debug that though.
Can't confirm the regex crash, it just crashes for some random reason with a completely nonsensical stack trace that points from dxgi to mfplat (??) on my end. Not sure how to debug that though.
Me on wine too. :(
Mfplat is for media foundation but it should be configured correctly with newer wine editions.
Can you try the PR above (#4668)? Works with that on my end now.
In regards to my regex crash it was found that it only happens with the Windows version of ucrtbase.dll which i have in my Wine prefix. It comes with e.g. the vcrun2019 winetrick install but also have it's own verb. Some games can also ship it.
And the crash then also happens on Windows
https://github.com/doitsujin/dxvk/pull/4669 tries to work around the crash.
In regards to my regex crash it was found that it only happens with the Windows version of
ucrtbase.dllwhich i have in my Wine prefix. It comes with e.g. the vcrun2019 winetrick install but also have it's own verb. Some games can also ship it. And the crash then also happens on Windows[#4669](https://github.com/doitsujin/dxvk/pull/4669) tries to work around the crash.
Did you try the game provided one in runtime/ucrt in game folder? In my experience that specific UCRT runtime can be installed from that game's installer.
Can you try the PR above ([#4668](https://github.com/doitsujin/dxvk/pull/4668))? Works with that on my end now.
Yep, that fixed the game.
Under a ja_JP locale wineprefix, things are still working fine, even with the Chinese translation patch. Maybe it's time to move on to fix that weird "unable to save/load" issue which is not related to dxvk but how wine handles Japanese locale :)
But on a Windows 7 VM, the one mentioned above, still crashes with zero logs generated. I believe it's an outdated OS issue instead of ours.
But on a Windows 7 VM, the one mentioned above, still crashes with zero logs generated. I believe it's an outdated OS issue instead of ours.
Windows 7 lacks ucrtbase.dll.
It is suggested to use Windows 10/11 for VM. If you have to test on Windows 7 due to compatibility issue, you need to install this patch first. https://www.microsoft.com/en-us/download/details.aspx?id=48234
This patch will install ucrtbase on Windows 7.
But on a Windows 7 VM, the one mentioned above, still crashes with zero logs generated. I believe it's an outdated OS issue instead of ours.
Windows 7 lacks ucrtbase.dll. It is suggested to use Windows 10/11 for VM. If you have to test on Windows 7 due to compatibility issue, you need to install this patch first. https://www.microsoft.com/en-us/download/details.aspx?id=48234 This patch will install ucrtbase on Windows 7.
Wilco
But on a Windows 7 VM, the one mentioned above, still crashes with zero logs generated. I believe it's an outdated OS issue instead of ours.
Windows 7 lacks ucrtbase.dll. It is suggested to use Windows 10/11 for VM. If you have to test on Windows 7 due to compatibility issue, you need to install this patch first. https://www.microsoft.com/en-us/download/details.aspx?id=48234 This patch will install ucrtbase on Windows 7.
Doesn't work. Maybe my VM is cursed?
Problem Event Name: APPCRASH
Application Name: AdvHD.exe
Application Version: 1.9.9.4
Application Timestamp: 6156d8fe
Fault Module Name: StackHash_0a9e
Fault Module Version: 0.0.0.0
Fault Module Timestamp: 00000000
Exception Code: c0000005
Exception Offset: 00000000
OS Version: 6.1.7601.2.1.0.256.1
Locale ID: 1033
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
Doesn't work. Maybe my VM is cursed?
StackHash_0a9e usually occurs when display driver is not configured in the right way. This is common in VM since VM need to wrap display driver on host driver. Use GPU passthrough for VM may help. I would also suggest to get a new Windows 11 VM for test.
I believe so. Maybe we can close this now and call it a day since dxvk is already working fine on others' systems.
On February 11, 2025 8:51:23 PM GMT+08:00, "琴梨梨OvO" @.***> wrote:
Doesn't work. Maybe my VM is cursed?
StackHash_0a9e usually occurs when display driver is not configured in the right way. This is common in VM since VM need to wrap display driver on host driver. Use GPU passthrough for VM may help. I would also suggest to get a new Windows 11 VM for test.
--
Reply to this email directly or view it on GitHub:
https://github.com/doitsujin/dxvk/issues/4662#issuecomment-2650731874
You are receiving this because you modified the open/close state.Message ID: @.***>
ucrtbase.dllx5 2025-02d3d9.dllx3 2025-02d3d11.dllx2 2025-02d3dx9_43.dllx2 2025-02dxgi.dllx2 2025-020x80020000x1 2025-02
Another game from Essemble using the WillPlus (Advhd) engine. The same problem happens on many other Essemble games too. You open the game's launcher, click start, and boom. Pretty sure not a wine issue since disabling DXVK makes it work.
This problem is also comfirmed on "Otome no Ken to Himegoto Concerto", which is using the same engine.
Software information
Hoshi no Otome to Rikka no Shimai. VNDB Link: https://vndb.org/v31700
With DXVK enabled, using wine 10-rc2.
System information
Apitrace file(s)
Disabled DXVK: https://oshi.at/zQpu
Enabled DXVK (Crashes): https://oshi.at/QPmb
Log files
game.log
AdvHD_d3d11.log