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.
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).
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.
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.