CRASH Mesa 26.2.6 Linux with v2.0.5 [regression] #803
Labels
No labels
accessibility
autorelease: pending
autorelease: tagged
bug
dependencies
documentation
duplicate
enhancement
github_actions
good first issue
help wanted
invalid
question
testing wanted
wontfix
No milestone
No assignees
1 participant
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Hookshot#803
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Hookshot version
v2.0.5
What kind of problem
Crash, freeze or black screen
What happened
Operating System: NixOS 26.11
KDE Plasma Version: 6.8.2
KDE Frameworks Version: 6.31.0
Qt Version: 6.12.0
Kernel Version: 7.3.1 (64-bit)
Graphics Platform: Wayland
Processors: 32 × AMD Ryzen 9 9950X3D 16-Core Processor
Memory: 128 Gio of RAM (123.4 Gio usable)
Graphics Processor 1: AMD Radeon RX 9070 XT
Graphics Processor 2: AMD Ryzen 9 9950X3D 16-Core Processor
Manufacturer: Gigabyte Technology Co., Ltd.
Product Name: X870E AORUS ELITE WIFI7
System Version: Default string-CF-WCP-ADO
Where in the game
Initial Startup
How often
Every time
Graphics card and driver version
RX 9070XT
CPU, RAM and operating system
AMD Ryzen 9 9950X3D, 128GB, Linux
Changes from the defaults
No response
Other software hooked into the game
No, nothing hooked in
hookshot_log.txt
hookshot_log.txt
Screenshots or video
No response
Before you send it
Another notes: Tried to remove completly the folder
~/Games/Hookshot/and rebuild from scratch same problemSame here
9070xt
ryzen 5 7600x
32gb
latest bazzite build
hookshot_log.txt
I'm having the same problem as well
Arch Linux
Ryzen 5 5600X
Radeon RX9070XT
32gb RAM
Same here, Oddly one launch succeeded, colors were washed out in game though.
Arch(Cachyos)
Ryzen 5800x3d
Radeon 7900xtx
32GB Ram.
Same crash here, and it is not limited to Mesa 26.2.6 — plus I found a workaround and what looks like the exact cause.
System
0x7481), Vulkan 1.4Crash
Same
write 0x40as the reported abort; the offset differs (0x14d5bfhere vs0x19be92/0x15b67don 26.2.6), which is just where RADV dereferences the NULL in this Mesa build. Where it lands in the run:The layer is not the cause
The crash backtrace contains
libVkLayer_steam_fossilize.so, which is easy to chase. I turned that layer off for this game only, verified withVK_LOADER_DEBUG=layerthat it is then genuinely not inserted (andgrep -c fossilize /proc/<pid>/maps→ 0), and it still crashed on the same offset. So that layer is a witness here, not the culprit.This looks like the cause in #894
As #894 describes it: a compute variant that samples a depth-compared texture with an integer sampled type makes
spirv_to_nirreturn NULL and RADV dereferences it. On this machine that is exactly what happens. With the preparation forced on and Mesa asked to dump what it rejects:One rejected module out of 38,809 — a depth-compared image (
2D 1) with an integer sampled type (%u32), sampled byOpImageSampleDrefExplicitLodat line 5052, andspirv-valrejects precisely that instruction. That is #894's variant, and the variant is inhookshot_programs.bin(the log says0 new, 0 compute variants, so it is already cached), so it gets compiled again on every later start — which is also what #894 says.I have not sent the dumped module: it is built from game shaders. The
spirv-valline above is the whole of what it says.Workaround
RX_VK_PRECOMPILE=0inhookshot_env.txt, which skips the preparation. Tested in a nested Gamescope withWAYLAND_DISPLAY=gamescope-0(so the Gamescope-WSI layer is on, as in Game Mode) and withENABLE_VK_LAYER_VALVE_steam_fossilize_1=1as Steam sets it:RX_VK_PRECOMPILE=0RX_VK_PRECOMPILE=0hookshot_env.txtonlyRun 6 is the same setup as run 2, with only that file added, so the file is being read and it is what makes the difference. The cost is stutter when a scene is seen for the first time, since the shaders are then compiled during play.
For those on Mesa 26.2.6
This issue mentions 26.2.6 specifically, but here it is 26.1.2 — so it is not a 26.2.6 regression, and the reported variants are the same thing. #894 and #834 (both open) look like the fixes.
I have the full
hookshot_log.txtfrom the run above (183 lines); say the word and I will paste it or send it. I left out the dumped module on purpose, since it is built from game shaders.Getting a nearly byte-identical crash on my Lenovo Legion Go S (32GB Z1E SteamOS) every time I try to boot Hookshot v2.0.5 in game mode. Was also getting the crash in desktop mode until I updated Mesa drivers to 26.2.5, that fixed it for desktop mode, however I'm still getting the crash in game mode.
SteamOS 3.9.5
Ryzen Z1 Extreme (RADV PHOENIX 12GB)
AMD RADV 26.1.99
Mesa 26.2.5
32GB RAM
hookshot_log.txt (Game mode crash)
hookshot_log.1.txt (Desktop Mode, ran on title screen for ~1min then closed window)
Fixed in v2.0.6 (https://github.com/NotRexed/Hookshot/releases/tag/v2.0.6): the RADV crash right after "Preparing shaders" (write 0x40 in libvulkan_radeon.so, #803) was depth textures sampled as integer textures in the new compute variants (PR #834). Please update from the launcher; reply here or open a new issue if it still happens. Thanks to everyone who sent logs here.