summary refs log tree commit diff stats
path: root/results/scraper/fex/3519
diff options
context:
space:
mode:
authorChristian Krinitsin <mail@krinitsin.com>2025-07-17 09:10:43 +0200
committerChristian Krinitsin <mail@krinitsin.com>2025-07-17 09:10:43 +0200
commitf2ec263023649e596c5076df32c2d328bc9393d2 (patch)
tree5dd86caab46e552bd2e62bf9c4fb1a7504a44db4 /results/scraper/fex/3519
parent63d2e9d409831aa8582787234cae4741847504b7 (diff)
downloadqemu-analysis-main.tar.gz
qemu-analysis-main.zip
add downloaded fex bug-reports HEAD main
Diffstat (limited to 'results/scraper/fex/3519')
-rw-r--r--results/scraper/fex/351933
1 files changed, 33 insertions, 0 deletions
diff --git a/results/scraper/fex/3519 b/results/scraper/fex/3519
new file mode 100644
index 000000000..7e44f0fa0
--- /dev/null
+++ b/results/scraper/fex/3519
@@ -0,0 +1,33 @@
+Sekiro under Proton crashes with thunks
+Sekiro when running under Proton crashes if thunks are enabled. For some reason it gets a nullptr dereference in vkCreateInstance because the pointer is null.

+

+With a hack I can get it to work:

+```diff

+diff --git a/ThunkLibs/libvulkan/Host.cpp b/ThunkLibs/libvulkan/Host.cpp

+index 1cfaa4227..de5cf2ec9 100644

+--- a/ThunkLibs/libvulkan/Host.cpp

++++ b/ThunkLibs/libvulkan/Host.cpp

+@@ -77,6 +77,10 @@ static VkResult FEXFN_IMPL(vkCreateInstance)(const VkInstanceCreateInfo* a_0, co

+     }

+   }

+

++  if (LDR_PTR(vkCreateInstance) == nullptr) [[unlikely]] {

++    (void*&)LDR_PTR(vkCreateInstance) = (void*)dlsym_default(fexldr_ptr_libvulkan_so, "vkCreateInstance");

++  }

++

+   VkInstance out;

+   auto ret = LDR_PTR(vkCreateInstance)(vk_struct_base, nullptr, &out);

+   if (ret == VK_SUCCESS) {

+   ```

+

+Weirdly, the other symbols loaded with `DoSetupWithInstance` are populated

+```

+(gdb) p/x fexldr_ptr_libvulkan_vkCreateInstance

+$1 = 0x0

+(gdb) p/x fexldr_ptr_libvulkan_vkCreateDevice

+$2 = 0x7fffc6f9f990

+(gdb) p/x fexldr_ptr_libvulkan_vkGetDeviceProcAddr

+$3 = 0x7fffc6f9e1a0

+```

+

+This should be investigated, I'm not sure how many games are hitting this issue.
\ No newline at end of file