Players are crashing in my game, and I can't reproduce it

For the past 2 weeks or so, I’ve been getting frequent reports that players are crashing in my game, The Stalker: Reborn.

I haven’t been able to pin down what exactly I’m doing thats causing the crash to happen, but I’ve been receiving a lot of simular reports from users.

  • The crash usually happens in the middle of a match.
  • It seems to have something to do with animations, though it might not be.
  • A lot of reports I’ve received regarding it revolve around it “happening while theor weapon is reloading”

This is an actual ROBLOX crash, they are legitimately getting the “An unexpected error has occurred and ROBLOX needs to quit, we’re sorry!” error message.

I’ve tried everything to reproduce this issue on my end, but I’ve had no luck in doing so.
I don’t know if this is possible, but if its possible to get crash logs from a specific game, could you guys investigate those and see whats going on? I can also provide a copy of the game if that is needed.

Here is the place in question:

Possibly ROBLOXCRITICAL Random crashing? (Destroying sounds after playing)?

This was happening before the sound update was released.
Also I did find an instance of that present in my game, and patched that. Apparently it isn’t related, because I’m still receiving reports of the issue.

AFAIK some large games had the sound update enabled early

I was paying attention to the FFlag, my game wasn’t on that list AFAIR.

I sort of have a repro now. Its not direct unfortunately, because I’m having trouble isolating what the issue is.

I created a place designed to stress the specific conditions in my game required to trigger the crash.

If you don’t crash immediately when joining, you can trigger it most of the time by switching weapons while reloading. This might take a moment if you’re in the game by yourself. It happens more frequently when there are more players for some reason.

The sound update is going to be disabled until wednesday because of crashes. Can you verify that it doesn’t happen anymore after that?

Update:

I’ve got several crash dmp files that are directly related to the issue now.

They all seem to revolve around the same thing. Its throwing exception code 0xC0000005 (The thread tried to read from or write to a virtual address for which it does not have the appropriate access.)

In addition, I turned off all sounds in my game’s weapon system and it still happening.
@spotco

Excellent, can you zip up the crashes and upload them somewhere I can download?

Here we are:
removed

All these crashes are PartOperation::getTriangleCount related.

Wait really?
Hmm. Well the weapon I was switching to trigger the crash does have some unions in it, and they were being animated. I’m not using the TriangleCount property.
Should this be getting tossed up to @Quenty?

Other relevant keywords include SkateboardPlatform and Humanoid Status. Either of those ring any bells?

As in the Status object, or in regards to modifying the Humanoid’s state?
I’m not sure why a SkateboardPlatform/Status would have anything to do with the crashes, I’m not using either of them O_o

Sorry, I’m just a little confused as to what you mean by “other relevant keywords”

Looking into it event more, it’s all triggered by “PartOperation getMesh/getRenderMesh”.
I’m looking at the call stack of the crash and looking for anything that might be relevant.

Are you doing anything with PartOperation?

@Quenty It’s crashing on something related to TriangleCount. Take a look at the dump files.

A little bit, based on the test scenario I set up.
I was testing the bug using the AK47 weapon, since I saw a video on youtube of someone experiencing the crash with that weapon equipped. The reload animation is doing a few things to the weapon’s clip:

  • Sets the transparency of the original clip to 1
  • Clone the clip and immediately weld it to the player’s right arm.
  • Wait for the player to toss it to the side, then the fake clip is disconnected from the player’s arm.
  • The player’s arm reaches into his pocket, and the clip is then cloned again and welded to the arm.
  • Once the fake clip is pushed in, it gets removed, and the original clip is made visible again.

To provide a more specific visual:

In the mean time, could you add this to the ClientAppSettings until the issue is resolved? I’m not using the TriangleCount property in my game anyway.

"FStringPlaceFilter_CSGTriangleCount": "False;22865026"

(Don’t ask me why I know this syntax, I just know it lol.)

Huh, I just found something interesting.
When I clone a Union with a Transparency of 1, its TriangleCount property gets frozen until the Transparency is set to 0.

The entire flag is off and @Quenty is taking a look at it.

1 Like