Three Windows BSODs (0x154 / 0x139 / 0x3B) after VRAM goes over the driver's allowance, each 31-53 s after the log stops #2749
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#2749
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.1.0 (source e099bbca)
What kind of problem
Crash, freeze or black screen
What happened
Three Windows BSODs over ~26 hours of play, each within 31–53 seconds of a log stop, and each preceded by VRAM going over the driver's allowance. Related to #993 (VRAM/RAM fill up over play time) and #1861 (the same
0x3B+0xC0000005on an AMD card).I am reporting this because the BSODs are a different symptom from the texture corruption in #993, and because each one has a minidump I could decode plus the exact VRAM state from
hookshot_logat the moment of the crash.System
32.0.16.2114, 2026-10-27)[Startup]profile section is empty, so nothing is applied at boot. Measured GPU clock stays at the card's stock boost behaviour.Settings
The three crashes
0x154UNEXPECTED_STORE_EXCEPTION0x139KERNEL_SECURITY_CHECK_FAILURE0x3BSYSTEM_SERVICE_EXCEPTIONCrashes 2 and 3 are 1 h 12 min apart.
What the dumps show
I decoded the minidumps by hand (no WinDbg/symbols available at the time), so the parameters below are read straight out of the
PAGEDU64triage structure.0x139 (crash 2)
P1 = 3isFAST_FAIL_CORRUPT_LIST_ENTRY.0x010228there is a__fastfailrecord:ExceptionCode = 0xC0000409,ExceptionAddress = nt!+0x8FBD31(inside ntoskrnl's pagedPAGEsection),Param[0] = 0x3.P2andP3are 0xA8 bytes apart, and the stack holds further pool addresses from0xFFFF9109994BF800to0xFFFF9109994BF9C0— an 808-byte span of one pool block was overwritten.ntoskrnl.exe. No third-party driver appears on it.0x3B (crash 3)
EXCEPTION_RECORDsits at file offset0x110E8, inside the captured stack:ExceptionCode = 0xC0000005,Param[0] = 0(read),Param[1] = 0x510.0x510— a null base plus a+0x510field offset.0x154 (crash 1) was a store-manager exception while handling compressed pages, again entirely inside ntoskrnl.
No WHEA records exist for any of the three. Memory diagnostics have never been run on this machine, so I am not claiming Hookshot is the sole cause — but the timing and the VRAM state below are consistent enough to be worth a look.
The part I think matters: VRAM over the allowance, then a frame-rate cliff, then the BSOD
Crash 3 (
0x3B) is the clearest. About 40 seconds before the bugcheck, the frame rate collapses from a locked 60 to the high 20s and never recovers:GPU time over the same window goes from
11.1 ms a frameto19.1 ms a frame(longest submission 59.5 ms).The last VRAM line before that crash:
usedis 199 MB aboveallowed, and the texture count has hit the driver's limit. The line just before it was already over budget:Crash 2 (
0x139) shows the same pattern. Its last over-allowance line, shortly before the log stops:So in both crashes: VRAM over the driver's allowance with thousands of MB still free inside the blocks → WDDM starts paging to system memory → system commit climbs → the kernel faults.
Commit at the time was 53–56 GB against a 63.8 GB limit (≈ 88%). The Hookshot process itself held 32–34 GB of commit with an 18.7 GB working set, and an 18 GB pagefile.
Why I am reporting this rather than just tuning my settings
at the driver's limitreports in #993, but here it ends in a bugcheck rather than corrupt textures.0x3Bone has no GPU driver on the stack, so it is not aVK_ERROR_DEVICE_LOST/ TDR path (that is #996). It is the kernel's own memory failing after the VRAM pressure started.DEVICE_LOSTand driver timeouts and does not cover bugchecks, so the BSOD reports do not currently have a tracker.Workarounds I am trying
RX_VK_COMPACT=1inhookshot_env.txt, from the 12 GB Windows report in #993.usedunderallowed.I will report back whether the BSODs stop.
Question
Is a kernel bugcheck inside the scope you want to track, or should this be folded into #993? I have the three minidumps and the full logs and can attach whatever is useful (I have not uploaded them yet, and I have removed every path, account name and identifier from the excerpts above).
Where in the game
Hyrule Field and Kokiri Forest — normal play, no particular transition.
How often
Three times in about 26 hours of play, at 25 h, then 1 h 12 min apart. When it happens it is always after VRAM has been over the driver's allowance for a while.
Graphics card and driver version
NVIDIA GeForce RTX 5080 16 GB, driver 621.14
CPU, RAM and operating system
AMD Ryzen 9 9950X3D, 48 GB DDR5-6000, Windows 11 25H2 (26200.9974)
Changes from the defaults
hookshot_env.txt:HOOKSHOT_NO_UPDATE_CHECK=1, and nowRX_VK_COMPACT=1Other software hooked into the game
No overlay or injector attached to the game. Present on the system but not hooked into it: MSI Afterburner and RTSS (installed, idle), a vendor input-device utility, and a vendor virtual-display driver that fails to load at every boot (
Kernel-PnP 219, status0xC0000365).hookshot_log.txt
I will attach the three session logs (about 14–34 MB each) if you want them — tell me and I will upload. The excerpts above are the only lines I pulled out, and I have stripped paths and identifiers from them.
Screenshots or video
No response
Before you send it
Thanks for keeping the crash times and memory figures. One small distinction: the quoted 0x139 sample is 13,958 MB used of 14,302 MB allowed, so it is below the allowance; the 0x3B sample is above it. Could you attach the full Hookshot log for the 0x3B session? That would help check the pressure timeline without assuming it caused the Windows bugcheck. No minidump is needed here.