Runtime Error 6025 (R6025): “pure virtual function call,” explained and fixed

Error 6025 — usually written R6025 – pure virtual function call — means a C++ program tried to call a method through an object that couldn't provide it: a programming error, surfaced at run time. For the person staring at the crash, the translation is simpler: the program (often a game) has a bug, a damaged install, or an add-on that doesn't match it.

What it means

In C++, a “pure virtual function” is a placeholder that only child classes fill in. Calling the placeholder itself is invalid, and the runtime stops the program with R6025 when it happens — typically because an object was used after it was destroyed, or because installed files are a mismatched mix of versions (an update half-applied, a mod built for another build).

The fix, in order

  1. Restart the PC and the program. One-off R6025s after long sessions are common, especially in games.
  2. Update the program. This is a genuine bug class; patches fix specific occurrences. Let Steam/Epic/the launcher fully update, and verify the game files afterwards (Steam: right-click the game → Properties → Installed Files → Verify integrity).
  3. Remove mods, plugins, and overlays. Disable Discord/GeForce overlays and delete or update mods — mismatched add-ons are a leading cause in games. Add things back one at a time.
  4. Repair the Visual C++ Redistributables. Settings → Apps → Installed apps → each “Microsoft Visual C++ … Redistributable” → Modify → Repair (x86 and x64).
  5. Update graphics drivers from NVIDIA/AMD/Intel directly if the crash is in a game or video app — driver DLLs load inside the program and a bad one can trigger the same call pattern.
  6. Clean reinstall as the last step: uninstall, delete leftover folders in the install directory, restart, install fresh.
Ignore any site selling an “R6025 repair tool.” The error is inside the crashing program's own code and files. The legitimate levers are updates, verified game files, add-on removal, and Microsoft's runtime packages.

If it still happens

Note what the program was doing at the crash — a specific level, file, or action. Reproducible R6025s are worth reporting to the maker with that detail; it's exactly the report developers need. On a work machine, Event Viewer (Windows Logs → Application) records the faulting module — if it names a driver or a plugin rather than the program, update that component first.

Common questions

Is R6025 caused by my hardware? Almost never directly. It's a software-level invalid call. Failing hardware shows up as varied, random crashes across many programs, not one repeatable error number.

Why did it start after an update? A partial or mismatched update leaves files from two versions mixed — precisely the condition that produces this error. Verifying files or a clean reinstall re-syncs them.

Related errors

Visual C++ Runtime Library error · Runtime Error 217 · “Terminate in an unusual way”