07/10/2026

Fix FiveM Recursive error: Streamer crashed / productId != ProductID::INVALID with an unlimited NVIDIA shader cache

FiveM closes with Recursive error: Streamer crashed and Assertion failure: productId != ProductID::INVALID (CfxState.h, Line 88) while joining a server or driving into a new area. Step-by-step fix: set Shader Cache Size to Unlimited in NVIDIA Control Panel or the NVIDIA App, clear the FiveM cache without losing keybinds, free space on drive C, clean-install the GPU driver, and what owners of busy servers should do.

A player is loading into a server, or driving into an area packed with custom content, and FiveM shuts down with this window:

Recursive error: Streamer crashed. Can't extract any useful information for debugging.

m_Handle = 2500
m_Offset = 189848496
m_Count = 524288
m_Uncached = true
...
Original error: Assertion failure: productId != ProductID::INVALID
File: ..\..\..\code\client\shared\CfxState.h, Line: 88

Sometimes only the Assertion failure: productId != ProductID::INVALID line appears. Both are the same problem. The fix that worked for the X3D team is setting the NVIDIA Shader Cache Size to Unlimited and then clearing the FiveM cache. Work through the steps below in order.

What this crash is

  • The streamer is the part of the game that loads models, textures and map pieces while you play. m_Offset and m_Count = 524288 in the window are the game reading a file in 512 KB chunks at the moment it crashed.
  • Recursive error means a second error happened while FiveM was reporting the first one, so it could not collect debug data. That is where "Can't extract any useful information" comes from.
  • It tends to show up when lots of new content loads at once: the first join, or an area full of custom cars, MLOs or add-on clothing.

The message does not name a clear root cause and Cfx.re has no official page for it, so the steps below are ordered from the fix that works most often.

Fix 1: set Shader Cache Size to Unlimited (NVIDIA GPUs)

In NVIDIA Control Panel

  1. Right-click the desktop and choose NVIDIA Control Panel (on Windows 11, click Show more options first)
  2. Left menu: 3D Settings → Manage 3D settings
  3. Global Settings tab
  4. Find Shader Cache Size and choose Unlimited
  5. Click Apply at the bottom right

In the NVIDIA App (which replaced GeForce Experience): Graphics → Global Settings → Shader Cache Size → Unlimited

Why it helps: shaders are the small programs your GPU uses to draw, and the driver compiles them and keeps them in the shader cache. With a small cache the driver keeps evicting and recompiling. A FiveM server with many add-on cars, clothes and maps uses far more shaders than the base game, and letting the cache grow removes that recompile work while the game is streaming heavy content.

After the change, the first join takes longer while shaders are compiled and stored again. Later joins are faster and stutter less.

Fix 2: clear the FiveM cache (keybinds stay)

After the shader cache change, clear the FiveM cache so any files that were half-downloaded when it crashed are fetched again.

  • Use the FiveM cache-clearing script that keeps keybinds: one double-click clears cache, server-cache and nui-storage for every server while keeping keybinds and graphics settings
  • Restart the PC once before opening FiveM so the driver setting is definitely applied

Fix 3: check free space on drive C

The unlimited shader cache and the FiveM cache both live on drive C (NVIDIA's shader cache is in a DXCache folder under your user's AppData). If C is nearly full, a cache write failing halfway is another cause of crashes while loading. Keep several GB free, and don't move FiveM to a drive that is nearly full.

Fix 4: clean-install the GPU driver

Still crashing? Install the latest GPU driver as a clean install (in NVIDIA's installer choose Custom and tick Perform a clean installation), then restart. A fresh driver also throws away an old shader cache that may be damaged.

Fix 5: remove anything that hooks into the game

  • Turn off overlays that capture or draw over the game, such as recording-software overlays, FPS counters and ReShade
  • Launch GTA V once from the Rockstar launcher or Steam, close it, then verify the game files (Steam: right-click GTA V → Properties → Installed Files → Verify integrity of game files)
  • Try another server. If only one server crashes, the cause is probably a file that server sends; see the next section

What about AMD GPUs?

AMD Software (Adrenalin) has no shader cache size setting like NVIDIA's. Go to Gaming → Graphics → Advanced, make sure Shader Cache is on, and click Reset Shader Cache once. Then follow fixes 2–5 as usual.

For server owners: many players crashing at once

A 1,000–2,000-player city with plenty of add-on cars, clothing and MLOs can see this hit many players at once, especially after a big asset update.

  1. Pin the fix in Discord. Share this post and the cache-clearing script so players can fix it themselves instead of opening the same ticket again and again.
  2. Read the server console at startup. If FiveM warns about oversized assets (assets larger than FiveM recommends), shrink their textures or split the files. Big assets are what the streamer has to pull in the most chunks.
  3. Check the newest assets first. If crashes began after you added a resource, disable it and see whether they stop.
  4. For other join problems, see FiveM stuck on the loading screen and map not loading or falling through the map.

For other common errors see common FiveM errors and fixes, and for low frame rates see FiveM low FPS fixes.

FAQ

Does Unlimited eat a lot of disk space? — The cache grows with what you actually play; nothing is reserved up front. If drive C ever fills up, delete the contents of DXCache and the driver rebuilds it.

I did everything and it still crashes. — Send the server's admins a screenshot of the error window and say when it happens (joining, driving, which area). Crashing at the same spot every time helps them find the problem file quickly.

Do I have to set it per game? — Global Settings applies to every game at once. You can set it per program in the Program Settings tab instead, but FiveM runs several processes, so the global setting is simpler and harder to get wrong.