A possible fix for frequent access violation crashes - unstable RAM speeds and/or motherboard support

Issue Type (Required):

Crash - During Play

Issue Description (Required):

Access violation crashes seemed to come and go for me in Darktide, seemingly getting worse after the Windows 11 24H2 update (maybe because some GDI stuff was rewritten in Rust?) but still happened infrequently enough to not figure out the cause. There’s likely other causes in Darktide itself but I’m sharing my solution to help anyone else troubleshoot if they have issues in other games as well.

Relevant specs:
Gigabyte B650i Aorus Ultra (B650 chipset, mini-itx board)
7900X
G.Skill Flare X5 2x16gb (came with the microcenter combo, probably for a reason)

My fix:

  • Turn EXPO off
  • Change Gigabytes DDR5 Auto Booster from Auto to Off
  • Lower infinity fabric (FCLK) speed from 2000 to 1800

Possibly related:

  • Change the PCIe x16 slot from PCIe Gen 5 to Gen 4

That alone didn’t stop crashing but I’m adding it just in case. The B650 chipset doesn’t support PCIe Gen 5 on the GPU slot, just a few lanes of gen 5 for NVMe. Despite my motherboard box only saying the GPU slot only supports Gen 4, Gigabyte decided to let you try Gen 5 speeds anyway and that’s the default even after resetting BIOS. It’s possible that this could cause signal integrity issues on motherboards that weren’t designed with Gen 5 in mind.


How I figured it out:

I took a break from Darktide to play DRG and I started getting access violation crashes there too! It started after trying to use Optiscaler to force FSR 4 NativeAA to override Unreal Engine’s mediocre TAA but persisted after I removed it.

Possibly related, Darktide seemed to exhibit more access violations and PC restarts when experimenting with Optiscaler and SpecialK that likewise persisted after removing them so maybe there was some weird edge case with memory management that’s fine 99.99% of the time even with unstable memory until I used something that injects into a game like Optiscaler or SK. Stuff like this is why diagnosing memory issues is a nightmare.

Like with Darktide, the crashes went away for a bit after a crash so hard that resulted in a PC restart. I assume that forced my motherboard to redo memory training. I also had some similar crashes and restarts when I played through both Jusant and FF7 Rebirth (also UE games) but figured they were just rough PC ports. I saw people with any hardware complain about crashes anyway.

My PC temps have never been an issue but I still tried upping my fan curves. I also tried things like making sure PBO was off, ECO mode for my CPU, BIOS updates and GPU/chipset driver reinstalls and none worked.

I was getting irritated but then I recalled the reviews for my RAM not being great so I double checked the microcenter store page. The customer reviews were filled with images of BSODs and failed memory tests. Man. I’m not paying scalper prices to replace my RAM during a memory shortage caused by “AI” so I tried my fix mentioned above and everything has been crash free since. I even noticed a big decreases in errors reported in Windows event viewer.

It’s possible my memory would still be fine at EXPO settings with dropping the speed to 5600 but I don’t feel like troubleshooting that right now. Besides, performance in Darktide is no different (it’s always weird) so I don’t care about running DDR5 stock speeds. I’m also leery of Gigabytes auto boosting features where “auto” actually means “on” so make sure to double check your motherboard settings.

[PC] Do You Use Mods? (Optional):

No, I don’t use mods

Reproduction Rate (Required):

Rare (<10%)

Platform (Required):

PC - Steam

2 Likes

Bonus: How to know your RAM is a GREAT deal!

Sorry your CPU lost the silicon lottery, but glad you figured it out. I always wonder how many people with crashing issues actually just have stability issues. Most people would be surprised what the memory controller of their CPU is actually rated for.

7800X3D:
2 sticks: DDR5-5200
4 sticks: DDR5-3600

The fact that most will actually run just fine at 6000 is great, but there’s no guarantee.

Yeah I’m still leaning on it being the memory itself but getting another set of RAM to test that is expensive

What can ya do :upside_down_face:

Thank you as always for sharing your discoveries Dash the Handsome!

2 Likes

:victory_hand: I’m sure it’ll be useful for someone else down the line.

Memory issues are weird with how they come and go and can cause problems with everything so they’re hard to notice sometimes. In this instance at least I think it caused some sort of issue with particles and/or physic.

Darktide gave me a black screen BSOD once (new with 24H2 apparently) citing an access violation. This happened when shooting ogryn’s kickback into a crowd of the infested poxwalkers that explode when shot (blanking on the mutator name, they showed up in one of the events a few months ago). I also hit a barrel with the same shot. My guess is the knockback effects going off at once probably caused an issue with physx. I was upset but it was also pretty funny seeing a crowd briefly turn into paste before my screen went black.

DRG cited phyx as the faulting module more often than not.

FF7R didn’t have detailed crash reports but I think it also uses physx and has a lot of flashy particles.

Not sure what Jusant uses but it crashed consistently during one section where there’s lot of moving grass particles in a very windy area. Turning all my settings down to get rid of all the grass particles let me get past that section.

No guarantee it’s physics or particle related for anyone else having memory issues but it’s worth keeping in mind at least

Stress Test your RAM to check if faulty. Don’t need to buy another RAM kit to test.

Going to assume you’ve updated to latest BIOs first. Later BIOs revisions can improve RAM stability. I see loads of BIOs updates mentioning it for that board.

Run testmem5 extreme anta777 setting and set it overnight say 6-7 hours limit to stop (go to sleep). That’s alot of cycles.

If it fails then it means one OR both sticks (unlikely) faulty. You’d have to pull each one out to test separately overnight.

Test at stock RAM speed 4800Mhz non-expo default.

If they pass overnight tests the RAM is fine. But update BIOs first.

Worst case only 1 stick is faulty and therefore you can run with 1x16GB stick single channel. Only slight performance loss as it becomes single channel instead of dual. Better than running with faulty RAM that will slowly corrupt your windows OS.

You can find out by tomorrow if RAM issue.

True but I know I’m going to put that off for a little while. I’m stubborn and everything works right now and I’d rather be able to use my PC when I want (DRG S6 is out lol)

Plus there’s other things I’ll eventually try like lowering memory speeds (my mobo box says memory was only tested up to 5600, thanks gigabyte).

Then there’s other considerations like memory stability at high temps as DDR5 is more picky with this. My PC is technically a mini-ITX build but I do also have massive fans that get airflow over the RAM which I hope would be enough. My CPU and GPU temps are always nice and low.

DDR5 has lots of oddities, I recommend checking out Level1Techs recent video on it:

At the very least you might learn some interesting bits. I didn’t know all DDR5 had on-die error correction (not visible to the system like actual ECC RAM).
Apparently I could also run memtests that passes perfectly but still have instability if the cooling isn’t enough during regular PC use.

1 Like

Small update:

  • Reenabled EXPO but dropped memory to 5600
  • Bumped FCLK back up to 2000 (Zen 4 decoupled infinity fabric speed from memory clock so this is fine)

I might jinx it but it seems stable so far so I won’t update this again unless something breaks.

There’s plenty of G Skill RAM kits on my motherboards supported list with the same speeds, timings, voltages and Samsung dies so either:

1: My motherboard hates this specific set of RAM (plausible)
2: Combo deal RAM = combo deal quality (most likely given the terrible reviews)


Note for whoever attempts troubleshooting like this on Zen CPUs before Zen 4 (7000 series):

I really REALLY don’t want to be tech support for memory issues so here’s some basic advice to hopefully stop you from breaking something if you don’t know what you’re doing.

FCLK should be the same as your MCLK.

DDR = Double Data Rate so if your memory is advertised as 3200, your MCLK is 1600 so set FCLK to 1600.

Setting it to Auto should choose the right one for you automatically.

Getting a FCLK faster than 1800 depends on the silicon lottery and may not be stable. Besides, if you have DDR4 faster than 3600 chances are you already knew what you’re getting into. You’ll have better luck going through overclocking forums.

Want to see something interesting. I got the idea from someone on techpowerup forum who tuned his RAM but forgot to change speed.

On Hynix A Die.

  • 1st screenshot - Stock 4800Mhz RAM + Stock timings. Latency = 91.6ns
  • 2nd screenshot - 6000Mhz RAM + Tuned timings. Latency = 64.4ns (30% decrease from stock)
  • 3rd screenshot - Now 4800Mhz + Tuned timings. Latency = 72.4ns (21% decrease from stock)

It means you could keep stock VSOC, stock RAM voltage, stock speed, low temperature but benefit by subtimings.

Is this RAM you bought?

G.Skill Flare X5 Series 32GB (2 x 16GB) DDR5-6000 PC5-48000 CL36 Dual Channel Desktop Memory Kit F5-6000J3636F16GX2-FX5 - - Micro Center

What you could do is leave your RAM at stock. Set the primary timings as it’s spec.

tRFC/tREFI ratio is like 80% of the gain and other timings matter but less so for last 20% journey. People slap in tREFI 65535, but you could use a more reserved value like 30000. No real temperature increase because you’re at stock voltage.

Why raising tREFI or lowering tRFC has diminshing returns on performance | Patreon

Yep that’s the one. I’m curious about how much I could optimize it now that I know EXPO dropped to 5600mhz is stable but it’s low priority I guess.

Save for Darktide’s performance which may as well literally be based on whether or not you burned enough incense near your PC I just don’t have any issues with other games. Maybe if my friends have another 2-3 week Minecraft phase and I host again.

I do have another theory about why Darktide is so weird about AMD processors though. While figuring my issues out I read through some Chips and Cheese stuff to refresh my (brain) memory on Zen CPUs + RAM interactions, namely this one: Pushing AMD’s Infinity Fabric to its Limits

Given how much Darktide likes CPU performance I wonder if it creates some sort of queue issue somewhere in the CPU cache/memory system? Which I imagine could be worsened with ReBAR/SAM given how many people recommend turning it off for Darktide specifically.

Whether or not I’m right there’s still plenty of other issues. The launcher logs can’t read system memory unless you have an Intel CPU (literally how). The actual game can if you check the console logs but it still gets the CPU features wrong:

04:08:32.353 [Application] --- CPU
CPU: AMD Ryzen 9 7900X 12-Core Processor            
Vendor: AuthenticAMD
Logical processors: 24
Family: 10:15, Model: 6:1
Type: 0, Stepping: 2
Features: SSE SSE2 SSE3 SSSE3 SSE4.1

It actually supports up to AVX512.

This wouldn’t be terrible if the game didn’t use SIMD registers for it’s culling system. You can find this line in console logs:

04:09:30.844 [MOC] Using moc implementation SSE41

Even more weird, it used to use AVX2 despite it not being listed in the features but was changed a while ago. AVX2 should be faster and more efficient but maybe my theory fits in here where it’s too fast with modern processors and fills up queues within the CPU/memory lol

I don’t know how Darktide’s implementation differs from Intel’s (if at all) and culling only got a brief mention in the launch performance dev blog but it is neat to read up on at least. If it’s Intel’s version of MOC and was tested with Intel CPUs only it could explain some weirdness just by virtue of being different CPU architectures than AMD.

You can read the nerdier stuff on the github page : GitHub - GameTechDev/MaskedOcclusionCulling: Example code for the research paper "Masked Software Occlusion Culling"; implements an efficient alternative to the hierarchical depth buffer algorithm.

But I did find a PDF about it on Slideshare too: Masked Occlusion Culling | PPTX

This slide in particular is a good visual example of how SIMD is used for depth testing

I kinda wish there was an engine dev who’d explain Darktide’s implementation in more detail just for my own curiosity but I can’t blame them for not checking a forum full of people that insult them all the time :upside_down_face: Then again if Intel was involved in helping them implement it somehow the finer details could be under NDA anyway.

1 Like

When things get busy, 200-300 horde AI movement, lots of collisions, physics calculations. Intel handles it better in frame pacing. I’ve tested myself on friends machines from X3D vs 13th/14th Intel.

Someone else mentioned same thing in this forum and why.

https://forums.fatsharkgames.com/t/how-to-fix-amd-gpu-stutters-and-improve-clarirty-streaming-settings-config-fix/108373/10?u=headhunter

Also read post by Vizra below it. He isn’t wrong. Raptor lake CPUs far better for Darktide.

We’re basically overclocking our RAM on AM5 to try and compensate it’s latency flaw.

Darktide exhibits the same kind of CPU scaling you would normally expect in racing simulation games i.e. Forza Horizon, F1, Assetto Corsa etc

With Darktide it is flexible with GPU requirements with graphic settings to cover low to high tier GPUs very easily.

But the CPU settings in graphics options have very little performance impact i.e. ragdolls, scatter density, decals..in order to accommodate lower tier CPUs…

Oh yea I’ve gone down the ini tweak rabbit hole before, you can see some of my comments there still. As it happens I was able to make completely different setups that worked for me despite our systems being very similar so I threw in the towel. He can have his forum points, I just want my game to work.

If ini tweaks work for you nice but all I was able to figure out is that nothing makes sense which sets off red flags that there’s some sort of bigger issue here, hence my reading up on things like MOC. Maybe I’ll figure it out, maybe not. Learning new stuff is neat at least.

I think I’ve been able to sus out a few things in the process? Like there’s the texture bug that happens on AMD GPUs sometimes, usually as little bits of texture corruption but very noticeable on Arbites. You’ll end up with big glowing red spots that I assume is the emissive texture from the little red chest light leaking to the rest of the armor.


The issue goes away when you get your character (properly) offscreen so I suspect the problem just boils down to differences in how Nvidia and AMD handle sampler feedback for textures which breaks or overwrites some mipmaps. I’m curious if this happens on linux because apparently sampler feedback is emulated in proton as AMD, Intel and Nvidia all break from DirectX spec in some way.

All that aside, performance woes are compounded by things like the shader cache builder being broken for everyone for years which throws shader stutter into the mix too. Maybe one day this game will work right. Though Fatshark did take down the news article on their website about demoing AMDs radiance caching so who knows lol.

2 Likes

Truer words never been spoken, the game is pure insanity and madness since the hive scum patch!

Mesh_streamer is the maddest thing i’ve ever seen in 25 years of gaming, one day you turn it off to make the game noticeably smoother, next day you have to turn it back on to make the game smoother, day after that you have to tweek the values to make the game smoother, next day you have to restore the default values to make the game smoother!

Right now my mesh_streamer has no impact on smoothness, but this friday it started doing the same thing Vizra experiences:

So right now it just randomly shaves away 20-25% FPS just for the fun of it and i can’t be bothered to track it down and attempt to fix it, because whatever i do will not matter the next day (and the goddamn thing will very likely fix itself on its own soon enough, actually it already might as we speak)!

ReBAR adventures were another sanity testing experience, went from being amazing to being amazing under specific setting to being entirely irrelevant and making no difference at all under any conditions within 72 hours!

And i could go on and on and on, right now i’m pretty salty about the game hanging itself on shutdown for over 2 months and all the little implications it likely has, forcing me into certain conclussions

  1. There isn’t a PC with current live version of the game in Fatshark offices and if there is nobody attempted to close the app
  2. There isn’t a person at Fatshark capable of reading the console logs on their own volition
  3. Fatshark work ethics are just miserable
  4. The game became some form of malevolent self-aware entity that has to be appeased with constant attention