Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error spam w/ D9VK on Windows #31

Closed
misyltoad opened this issue May 25, 2019 · 7 comments
Closed

Error spam w/ D9VK on Windows #31

misyltoad opened this issue May 25, 2019 · 7 comments

Comments

@misyltoad
Copy link
Contributor

Hi! When playing A Hat in Time w/ D9VK, I get this error spam

Exception thrown at 0x00007FFFA94B5BF8 in HatinTimeGame.exe: Microsoft C++ exception: Fossilize::Exception at memory location 0x000000001A4CE9E0.

This has only started to happen today for me, not sure what's triggered it but it's happening on old and new builds all of a sudden.

D9VK Build to Reproduce the Issue:
d9vk-master.de80c192c4c1b218df531d383b0d6bda710edf49.zip

Tested Game:
A Hat in Time (253230)

Cheers!

  • Josh 🐸
@HansKristian-Work
Copy link
Collaborator

HansKristian-Work commented May 27, 2019

Hi. Not sure how to reproduce this. Do you have a log of stderr? It should tell what's wrong. I tried running the game in wine with Fossilize on, and I don't get any error from what I can tell. I ran the setup script and it does seem like d9vk is running (well DXVK, but d9vk is based on DXVK from what I understand?):

info:  Game: HatinTimeGame.exe
info:  DXVK: v1.2.1
info:  Found built-in config: HatinTimeGame.exe
info:  Effective configuration:
info:    d3d9.strictPow = False
info:    d3d9.lenientClear = True
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_physical_device_properties2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV POLARIS10 (LLVM 8.0.0):
info:    Driver: 19.0.5
info:    Vulkan: 1.1.90
info:    Memory Heap[0]: 
info:      Size: 3840 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:    Memory Heap[1]: 
info:      Size: 256 MiB
info:      Flags: 0x1
info:      Memory Type[2]: Property Flags = 0x7
info:    Memory Heap[2]: 
info:      Size: 4096 MiB
info:      Flags: 0x0
info:      Memory Type[1]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
info:  Process set as DPI aware
info:  Enabled device extensions:
info:    VK_EXT_conditional_rendering
info:    VK_EXT_memory_priority
info:    VK_EXT_shader_viewport_index_layer
info:    VK_EXT_transform_feedback
info:    VK_EXT_vertex_attribute_divisor
info:    VK_KHR_dedicated_allocation
info:    VK_KHR_descriptor_update_template
info:    VK_KHR_draw_indirect_count
info:    VK_KHR_driver_properties
info:    VK_KHR_get_memory_requirements2
info:    VK_KHR_image_format_list
info:    VK_KHR_maintenance1
info:    VK_KHR_maintenance2
info:    VK_KHR_sampler_mirror_clamp_to_edge
info:    VK_KHR_shader_draw_parameters
info:    VK_KHR_swapchain
Fossilize INFO: Overriding serialization path: "/tmp/foo.foz".
info:  DXVK: Read 954 valid state cache entries
info:  DXVK: Using 12 compiler threads
warn:  D3D9: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info:  D3D9DeviceEx::ResetEx:
  Requested Presentation Parameters
    - Width:              1600
    - Height:             900
    - Format:             A8R8G8B8
    - Auto Depth Stencil: false
    - Windowed:           true

warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 9
warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 16
warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 37
warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 38
warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 60
warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 136
warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 137
warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 141
warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 142
warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 145
warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 146
warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 154
warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 155
warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 158
warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 161
warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 166
warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 172
warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 173
warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 178
warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 179
warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 182
warn:  D3D9DeviceEx::SetTextureStageState: Stub
info:  Presenter: Actual swap chain properties:
  Format:       VK_FORMAT_B8G8R8A8_UNORM
  Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR
  Buffer size:  1x1
  Image count:  2
[MODDING] Failed to update mod installs, unable to create UGC
info:  Presenter: Actual swap chain properties:
  Format:       VK_FORMAT_B8G8R8A8_UNORM
  Present mode: VK_PRESENT_MODE_FIFO_KHR
  Buffer size:  1600x900
  Image count:  3
!!!!!!!!!!!!!!!!!!!!!!!!!!   CPU skinned hub_spaceship.TheWorld:PersistentLevel.SkeletalMeshActor_10.SkeletalMeshComponent_7 HatInTime_Levels_Cave.models.cave_spiderweb_mesh01 1 0 1 0

When you see those exceptions, it's very likely because d9vk is using some pNext structure in some vkCreateGraphicsPipelines call which is unsupported and the recording layer will not serialize it. Do you know which extensions d9vk uses?

EDIT: I can see one struct Fossilize doesn't serialize yet: VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT. I'll add serialization for that. Still necessary to verify that this is in fact the issue you were seeing.

@misyltoad
Copy link
Contributor Author

misyltoad commented May 27, 2019

It doesn't give me anything else, sadly

The application starts off with

'HatinTimeGame.exe' (Win32): Loaded 'C:\Windows\System32\clbcatq.dll'. 
'HatinTimeGame.exe' (Win32): Loaded 'C:\Windows\System32\cryptsp.dll'. 
'HatinTimeGame.exe' (Win32): Loaded 'C:\Windows\System32\rsaenh.dll'. 
'HatinTimeGame.exe' (Win32): Loaded 'C:\Windows\System32\bcrypt.dll'. 
'HatinTimeGame.exe' (Win32): Loaded 'C:\Program Files (x86)\Steam\steamapps\common\HatinTime\Binaries\Win64\discord-rpc.dll'. Module was built without symbols.
'HatinTimeGame.exe' (Win32): Loaded 'C:\Windows\System32\amdvlk64.dll'. 
'HatinTimeGame.exe' (Win32): Loaded 'C:\Windows\System32\dxgi.dll'. 
'HatinTimeGame.exe' (Win32): Loaded 'C:\Program Files (x86)\Steam\VkLayer_steam_fossilize64.dll'. 
'HatinTimeGame.exe' (Win32): Loaded 'C:\Program Files (x86)\Steam\SteamOverlayVulkanLayer64.dll'. 
'HatinTimeGame.exe' (Win32): Loaded 'C:\Windows\System32\dwmapi.dll'. 
The thread 0x1b20 has exited with code 0 (0x0).
'HatinTimeGame.exe' (Win32): Loaded 'C:\Windows\System32\XAudio2_7.dll'. 
'HatinTimeGame.exe' (Win32): Loaded 'C:\Windows\System32\MMDevAPI.dll'. 
'HatinTimeGame.exe' (Win32): Loaded 'C:\Windows\System32\AudioSes.dll'. 
'HatinTimeGame.exe' (Win32): Loaded 'C:\Windows\System32\powrprof.dll'. 
'HatinTimeGame.exe' (Win32): Loaded 'C:\Windows\System32\avrt.dll'. 
'HatinTimeGame.exe' (Win32): Loaded 'C:\Windows\System32\hid.dll'. 
The thread 0x1224 has exited with code 0 (0x0).
Exception thrown at 0x00007FFE6AB65BF8 in HatinTimeGame.exe: Microsoft C++ exception: Fossilize::Exception at memory location 0x000000001957E7F0.
Exception thrown at 0x00007FFE6AB65BF8 in HatinTimeGame.exe: Microsoft C++ exception: Fossilize::Exception at memory location 0x000000001B3EE7D0.
Exception thrown at 0x00007FFE6AB65BF8 in HatinTimeGame.exe: Microsoft C++ exception: Fossilize::Exception at memory location 0x000000001B3EE7D0.
Exception thrown at 0x00007FFE6AB65BF8 in HatinTimeGame.exe: Microsoft C++ exception: Fossilize::Exception at memory location 0x000000001D2DE7B0.
Exception thrown at 0x00007FFE6AB65BF8 in HatinTimeGame.exe: Microsoft C++ exception: Fossilize::Exception at memory location 0x000000001957E7F0.
Exception thrown at 0x00007FFE6AB65BF8 in HatinTimeGame.exe: Microsoft C++ exception: Fossilize::Exception at memory location 0x000000001AEEE9D0.
Exception thrown at 0x00007FFE6AB65BF8 in HatinTimeGame.exe: Microsoft C++ exception: Fossilize::Exception at memory location 0x000000001D2DE7B0.
Exception thrown at 0x00007FFE6AB65BF8 in HatinTimeGame.exe: Microsoft C++ exception: Fossilize::Exception at memory location 0x000000001B3EE7D0.
Exception thrown at 0x00007FFE6AB65BF8 in HatinTimeGame.exe: Microsoft C++ exception: Fossilize::Exception at memory location 0x000000001AEEE9D0.
Exception thrown at 0x00007FFE6AB65BF8 in HatinTimeGame.exe: Microsoft C++ exception: Fossilize::Exception at memory location 0x000000001B3EE7D0.
Exception thrown at 0x00007FFE6AB65BF8 in HatinTimeGame.exe: Microsoft C++ exception: Fossilize::Exception at memory location 0x000000001957E7F0.
Exception thrown at 0x00007FFE6AB65BF8 in HatinTimeGame.exe: Microsoft C++ exception: Fossilize::Exception at memory location 0x000000001AEEE9D0.
Exception thrown at 0x00007FFE6AB65BF8 in HatinTimeGame.exe: Microsoft C++ exception: Fossilize::Exception at memory location 0x000000001AEEE9D0.
Exception thrown at 0x00007FFE6AB65BF8 in HatinTimeGame.exe: Microsoft C++ exception: Fossilize::Exception at memory location 0x000000001B3EE7D0.

and the exceptions continue forever, there was nothing else in the logs/output before or after regarding Fossilize except the exceptions

@HansKristian-Work
Copy link
Collaborator

HansKristian-Work commented May 27, 2019

How do you run d9vk on Windows? I assume you're just placing the d3d DLLs in the application binary folder? How do you get those logs? Are you running in a debugger? I think that's the only way you should be seeing those exception logs.

@misyltoad
Copy link
Contributor Author

Yes, I am just placing d3d9.dll next to the games exe. The way I am getting this log and spam from Fossilize is from running the game w/ Visual Studio Debugger attached.

@HansKristian-Work
Copy link
Collaborator

Alright. I'll try to reproduce.

@HansKristian-Work
Copy link
Collaborator

HansKristian-Work commented May 28, 2019

Hm ... Well, I've tried with both the included Steam Fossilize layer as well as a custom debug built one, but I cannot reproduce any issues. I verify I'm capturing exceptions, I added lots of dummy throws in my custom built layer and it reproduces the same kind of log, but I don't see anything with any other build I've tried ...

Are you sure your Steam install is clean? Maybe there somehow is an ancient layer lying around ...

What does your registry look like under HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers? There should be an entry something like path-to-steam\SteamFossilizeVulkanLayer64.json.

If you're willing to try running against a custom built layer to narrow down the issue, it's possible to build Fossilize, then change the JSON referenced in the registry to point towards the .dll you build yourself. The alternative would be to just delete the regedit entry to remedy the issue for now.

@misyltoad
Copy link
Contributor Author

Closing this as it doesn't happen anymore.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants