There’s a bug with the JointsService that makes Roblox crash when utilizing the JointsService’s auto-joint surface outlining APIs:
JointsService:SetJoinAfterMoveInstance(PVInstance joinInstance)
JointsService:SetJoinAfterMoveTarget(PVInstance joinTarget)
JointsService:ShowPermissibleJoints()
This is a bug that I’ve been experiencing for several months now, but I haven’t been able to find a clear consistent way to reproduce it.
I have a vague idea of what causes the crash and I’ve mostly been able to work around it on PC. Last night however, it came back when I made a change to the mobile controls in my game, and I woke up to these developer stats:
Device filtering is certainly not something I want happening in my game, so I want to try to get to the bottom of this crash so that hopefully it can be patched.
The crash occurs in this place:
Here’s what I’ve been able to deduce about the crash:
- It seems to have started happening around the time explicit auto-joints were phased in.
- The crashes only seem to happen between when you place an object with the stamper tool, and another object loads in as the old placer object gets destroyed.
- I can mostly work around it by using
JointsService:ClearJoinAfterMoveJoints()
at specific points between the transition I mentioned above.
I tried to brute force a repro for this bug, but had no luck. I’m hoping that any crash dumps uploaded from this place could provide a clue to what’s going on here.