Crash: First Person To Tell Me What A "Pure Virtual Call" Is Wins!

Unity keeps crashing my standalone build of my game, which is set for Steam launch in February.

The message that occurs is “Error! Pure Virtual Call”. This is new, as I just updated to Unity 5.5.

Any thoughts on this would be super. I’ve done my due diligence, and can’t seem to get anything specific.

Thanks!
Thomas

Are you using il2cpp?

A pure virtual call is a c++ concept, which is why I’m asking. The C# equivalent is (kinda) an abstract method.

It might also be that the engine is doing a pure virual call somehow. That would be bad.

If it’s consistent, send a bug report!

If you just upgraded, try deleting the Library folder (close Unity first, back up the project) which will force Unity to rebuild it. This often fixes odd issues that occur after an upgrade. No guarantees, but it’s always the first thing I try and is often the solution.

Don’t you get any other information with that error message? If not, could you file a bug report about that? It is hard to say something just by having the error message. So, do not forget to include everything needed for reproduction.

Best,
Ergin

Thanks everyone for trying to help.

That’s really all it says. There is no crash report. I know how to find errors and crash logs on Mac, but where are they on PC?

Ergin, here is the what the dialogue box says once the game crashes:

“Runtime Error! R6025 - pure virtual function call.”

We’ve had a regression in the 5.5 beta that occurred after closing a project in Play mode when a GameObject was selected, which resulted in the same error. This was however fixed in 5.5.0f1, so either it’s back or the cause for the error is different.

What are the exact steps you took when getting this crash and error message? We may need a bug report for this.

Sara, thanks for answering.

It’s one of the bugs that is very difficult to list the steps. All I did was play my Pinstripe.exe game file, and the game will randomly crash with this error. It sometimes crashes after several hours of game-play, or sometimes it will crash within about 10 mins. Sometimes it won’t crash at all. This is certainly a bug, as it is only happening in Unity 5.5.

Sounds very frustrating. Would you be able to send us your project in a bug report (if it’s too large, you can create a smaller repro project)? This only happens in the stand alone or can it also occur when playing inside the editor?

This only happens in the standalone. Can I just send you the standalone exe?

Sending over a standalone works…but it would be better if we can build it and reproduce the issue ourselves.
That way we can test the problem in multiple versions of Unity (it might be a regression, or fixed in a later release). Our engineers can make changes in the engine, build the project to test they work and we can test subsequently checked-in fixes, and verify they work.

This is useful as otherwise we would have to guess what might be causing the issue, which can lead to not having a proper fix (which increases the risk of not solving the problem for you, either.)

So that’s why a project folder is preferred :slight_smile:

Understood! I’ll get that over right away. Sara, could I email or PM you this? I just don’t want it getting lost in the slew of other bug reports, which has happened before. Additionally, I also have another bug question for you, which I have been trying to solve for over a year. Considering Pinstripe was featured by Unity at the Game Awards, I can imagine Unity would prefer Pinstripe to launch glitch free, and I have a feeling you can help with another question I have! :slight_smile:

Submit the bug report with the project then let me know the report nr and I can ping QA & the devs directly. For the second bug, could you create a separate case for it? It may be part of another area so we need to make sure it gets assigned to the right team. Let me know the nr for that, as well.

It should create a folder next to executable, which contains logs and a crash dump. In case of it is not generated, you can find “output_log.txt” in YourExecutableName_Data folder which is located right next to your executable.

But the project’s itself would be much better like mentioned by Sara.

Have this crash in the editor. No log.
Related to a Cloth component is the only thing we managed to find.

EDIT: We had a callstack ONCE, which pointed to Cloth.SetEnabled
We had to do cloth.enabled = false before doing any gameObject.SetActive(false).