Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Bug / Crash  Hard crash in build after upgrading from Obi 6 to Obi 7
#1
I'm not really sure where to even start debugging this as there's no issue in the editor (or the editor just handles it less strictly, but no error that I've seen). It doesn't happen 100% of the time either, but sometimes when testing a build as soon as the scene with the obi rope loads the whole application crashes with this stack trace:

SIGTRAP

Obi.BurstColliderWorld:UpdateWorld(Single)
Obi.ObiColliderWorld:UpdateWorld(Single)

[ line 1794985864]
> Size overflow in allocator.

It's not from one specific rope either, it happens seemingly randomly with any rope implementation anywhere in the game. This only started happening after upgrading from Obi 6 to Obi 7.0.5. I followed the upgrade guide with re-generating the blueprints, etc. We're using the Burst back-end for the ropes as we need collisions on the ropes and I couldn't figure out if there was a way to make that work with the GPU-based backend, so I haven't tested the GPU one in a build.

Any idea what could be causing this or how I could debug further?

Unity Version: 2022.3.57 (built-in renderer)
Reply
#2
(02-05-2025, 07:31 PM)goldfire Wrote: I'm not really sure where to even start debugging this as there's no issue in the editor (or the editor just handles it less strictly, but no error that I've seen). It doesn't happen 100% of the time either, but sometimes when testing a build as soon as the scene with the obi rope loads the whole application crashes with this stack trace:

SIGTRAP

Obi.BurstColliderWorld:UpdateWorld(Single)
Obi.ObiColliderWorld:UpdateWorld(Single)

[ line 1794985864]
> Size overflow in allocator.

This is really strange. A SIGTRAP signal is sent when a thread hits a breakpoint while a debugger attached. Furthermore, the stack trace line (1794985864) doesn’t look like a sane value. If I had to guess, this looks like heap corruption, which isn’t typically caused by managed (C#) code.

Have you updated Burst or any of the related packages (jobs, collections, mathematics) along with Obi? If so, which versions of these are you using? Also, is the build you’re testing a regular or a development build?


(02-05-2025, 07:31 PM)goldfire Wrote: We're using the Burst back-end for the ropes as we need collisions on the ropes and I couldn't figure out if there was a way to make that work with the GPU-based backend, so I haven't tested the GPU one in a build.

Collisions work in the Compute backend just like they do in the Burst backend. Feature-wise both backends are equivalent.

Kind regards,
Reply
#3
(02-05-2025, 11:04 PM)josemendez Wrote: This is really strange. A SIGTRAP signal is sent when a thread hits a breakpoint while a debugger attached. Furthermore, the stack trace line (1794985864) doesn’t look like a sane value. If I had to guess, this looks like heap corruption, which isn’t typically caused by managed (C#) code.

Have you updated Burst or any of the related packages (jobs, collections, mathematics) along with Obi? If so, which versions of these are you using? Also, is the build you’re testing a regular or a development build?



Collisions work in the Compute backend just like they do in the Burst backend. Feature-wise both backends are equivalent.

Kind regards,

There's no debugger attached, it's just a regular non-development build that's using IL2CPP. All of those packages are on the latest version that it lets me install with this version of Unity:

Burst - 1.8.21
Mathematics - 1.2.6
Collections - 2.1.1
Jobs - 0.70.0-preview.7

I don't know if this matters, but in both locations where I've seen this so far, the rope was disabled by default in the scene file and then was enabled after the scene was loaded, at which point the crash happens (but it doesn't crash every time).

I'm not sure why the colliders weren't working with compute when I tested before, but I just tried it again and that seems to be working correctly now.
Reply