Obi Official Forum

Full Version: Updaters causes crash on loading scene
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi,

First of all, I'm really impressed by this asset and the support you give to people. 

When I open a scene by clicking on it and playing it, there is no problem. When I load an empty scene with code there is no problem. But when I reload the same scene or load any other scene with Obi Rope in them, Unity hard crashes and I cannot see the cause of the error. I've tried several things and realized when I deactivate Obi Fixed Updater and Obi Late Fixed Updater, crashing stops and I can load scenes from code.

I have 6 scenes. Each 6 scene has 2 solvers. First solver has a Fixed Updater and the second solver has a late fixed updater. First solver has almost 80 ropes in it with the same blueprint. Second solver has 6 ropes in it with a second same blueprint.


Fixed updater and late fixed updater components are added to the first solver.

Unity crashes when I load one of these 6 scenes from code but not when I click and play.

Thank you for this great asset and I hope you can help.
Hi there!

What Obi version are you using? Also, which solver backend (Oni or Burst)?

(21-09-2022, 12:25 PM)gaydiriguppak Wrote: [ -> ]Unity hard crashes and I cannot see the cause of the error.

Even when hard crashing, Unity leaves a Editor log behind: https://docs.unity3d.com/Manual/LogFiles.html
Could you share the contents of this log?

kind regards,
Thank you for quick response!

First solver uses Burst, second one uses Oni. Version 6.4

I cannot copy the editor.log text on this forum. It is not allowed. How can I share it with you?

Edit: I've added screenshots.
(21-09-2022, 01:32 PM)gaydiriguppak Wrote: [ -> ]Thank you for quick response!

First solver uses Burst, second one uses Oni. Version 6.4

If I understood correctly, both solvers are in the same scene, is this correct? If so, why would you use different backends for different solvers in the same scene? Generally you want to stick to just one backend, otherwise you're running two different implementations of the exact same thing. See: http://obi.virtualmethodstudio.com/manua...kends.html

Quote:A backend is the actual physics engine used by a solver to step the simulation forward. [...] While you can select a different backend for each individual solver in your scene, most of the time you will want all solvers to use the same backend.

Regarding the logs, the crash is happening inside Oni.ColliderGrid.Update. This seems like an out of range access in a native memory buffer, or memory corruption. It's difficult to tell the cause without testing the project myself. Since Oni is deprecated anyway and will be removed in Obi 7, have you tried setting both solvers to Burst?

kind regards,
Hi again!

After changing them both to Burst and re-importing the package from the asset store, problem is now gone! I don't know which one solved the issue though.

Thank you for your time and for this amazing package!