Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Bug / Crash  Occasional freezes when activating an Obi Solver
#1
Hi,

I'm encountering a recurring problem with Obi 5.0 and Unity 2019.3:

No matter if the "enter playmode without reload" option is activated or not, Unity will sometimes (up to 80% of the time) entirely freeze when activating the Obi Solver object. Since it's a freeze, unfortunately, I have no error log and I can't seem to isolate what exactly causes it to happen. 

All I know is that if I load my scene with the obi solver disabled, it loads, but if I load it with it enabled, it doesn't.

I will try to investigate a bit more, but I wanted to mention it here so you know about that issue.

Small precision: I have multiple scenes loaded, the examples since to work fine on their own

Some more update: The error seems to come from the ObiFixedUpdater class, since when I add a solver to a new object during play nothing happen, but as soon as I add an ObiFixedUpdater to the same GameObject, the editor freezes.

Update again:

Obi freezed in the ObiUpdater class, line 81, on        
Code:
 Oni.Complete(stepSimulation);

this never returns, but I guess I can't get my investigation any further Gran sonrisa
Reply
#2
(28-11-2019, 10:38 PM)Bill Sansky Wrote: Hi,

I'm encountering a recurring problem with Obi 5.0 and Unity 2019.3:

No matter if the "enter playmode without reload" option is activated or not, Unity will sometimes (up to 80% of the time) entirely freeze when activating the Obi Solver object. Since it's a freeze, unfortunately, I have no error log and I can't seem to isolate what exactly causes it to happen. 

All I know is that if I load my scene with the obi solver disabled, it loads, but if I load it with it enabled, it doesn't.

I will try to investigate a bit more, but I wanted to mention it here so you know about that issue.

Small precision: I have multiple scenes loaded, the examples since to work fine on their own

Some more update: The error seems to come from the ObiFixedUpdater class, since when I add a solver to a new object during play nothing happen, but as soon as I add an ObiFixedUpdater to the same GameObject, the editor freezes.

Update again:

Obi freezed in the ObiUpdater class, line 81, on        
Code:
 Oni.Complete(stepSimulation);

this never returns, but I guess I can't get my investigation any further Gran sonrisa

Hi Bill,

We are unable to reproduce this, any additional info you can give on your setup is welcome:
- Do you have more than 1 FixedUpdater in your scenes?
- Do you have multiple solvers?
Reply
#3
Hi,

Only 1 Fixed Updater on the scene, only one solver, and nothing else in the scene of the solver and updater.
I have Obi Colliders on other scenes, and that's pretty much it.
By removing the obi solver my game loads, but as soon as I add an object with an ObiUpdater on it, the editor freezes forever.
Reply
#4
I am experiencing something similar in Unity 2019.2.14f1.

I'll have a scene that's working fine, and then it may suddenly stop working. (Perhaps having a really long rope may have something to do with it, but I'm not sure.)

Once that happens, it will freeze seemingly every time I hit play. The only way to fix it is to delete my Library folder and restart. It happens frequently enough to cause me to not want to continue using ObiRope Triste
Reply
#5
(07-12-2019, 03:43 AM)Dissident Dan Wrote: I am experiencing something similar in Unity 2019.2.14f1.

I'll have a scene that's working fine, and then it may suddenly stop working. (Perhaps having a really long rope may have something to do with it, but I'm not sure.)

Once that happens, it will freeze seemingly every time I hit play. The only way to fix it is to delete my Library folder and restart. It happens frequently enough to cause me to not want to continue using ObiRope Triste

Hi there,

Obi does not store any custom data in the Library folder. The contents of that folder are generated by Unity, it contains cached asset data (textures, materials, models, etc) for your project. Anyway, if you could share a crashlog we'd take a look at it.
Reply
#6
(09-12-2019, 12:03 AM)josemendez Wrote: Hi there,

Obi does not store any custom data in the Library folder. The contents of that folder are generated by Unity, it contains cached asset data (textures, materials, models, etc) for your project. Anyway, if you could share a crashlog we'd take a look at it.

Hi,

I'm sometimes getting crashes when hitting play, sometimes just having it freeze randomly. In the case of the freeze, there's no log. I'm not sure what I can provide in that case. But in the case of the crash, I've attached a log.


Attached Files
.txt   Editor.log.txt (Size: 15.65 KB / Downloads: 2)
Reply
#7
(10-12-2019, 06:11 AM)Dissident Dan Wrote: Hi,

I'm sometimes getting crashes when hitting play, sometimes just having it freeze randomly. In the case of the freeze, there's no log. I'm not sure what I can provide in that case. But in the case of the crash, I've attached a log.

Hi,

The crash log does not contain anything related to Obi. Seems to break at:

* Assertion at ..\mono\metadata\threads.c:1788, condition `internal' not met

This is a known bug in Unity:
https://issuetracker.unity3d.com/issues/...gettexture

According to this report, disabling 'Error Pause' in the console would avoid triggering the bug:
https://issuetracker.unity3d.com/issues/...is-enabled
Reply
#8
(10-12-2019, 08:48 AM)josemendez Wrote: Hi,

The crash log does not contain anything related to Obi. Seems to break at:

* Assertion at ..\mono\metadata\threads.c:1788, condition `internal' not met

This is a known bug in Unity:
https://issuetracker.unity3d.com/issues/...gettexture

According to this report, disabling 'Error Pause' in the console would avoid triggering the bug:
https://issuetracker.unity3d.com/issues/...is-enabled

Thanks for the reply, Jose. That was indeed the crash.

However, I'm still having freezes that occur in certain scenes. The only way to fix it seems to be to delete the existing object containing an ObiSolver and ObiFixedUpdater and create a new one.

For example, I just had a Unity crash when I modified a script while in play mode. This seems to have somehow corrupted that scene file such that it would freeze (but not crash) the editor 100% of the time when I subsequently tried to enter play mode. I tried deleting my Library folder, but this did not help. The only thing that fixed it was to delete the ObiSolver/Updater object and then recreate it, re-adding my child objects to this new object. Something like this has happened to me several times.

****UPDATE*****
Upon further inspection, it seems that I get a freeze in any scene that doesn't have an Obi physics object (rope or emitter) under the obi solver. This seems to be the crux of the issue. I am dynamically creating them later based on user input, rather than having a fixed scene.
Reply
#9
(11-12-2019, 03:17 PM)Dissident Dan Wrote: Thanks for the reply, Jose. That was indeed the crash.

However, I'm still having freezes that occur in certain scenes. The only way to fix it seems to be to delete the existing object containing an ObiSolver and ObiFixedUpdater and create a new one.

For example, I just had a Unity crash when I modified a script while in play mode. This seems to have somehow corrupted that scene file such that it would freeze (but not crash) the editor 100% of the time when I subsequently tried to enter play mode. I tried deleting my Library folder, but this did not help. The only thing that fixed it was to delete the ObiSolver/Updater object and then recreate it, re-adding my child objects to this new object. Something like this has happened to me several times.

****UPDATE*****
Upon further inspection, it seems that I get a freeze in any scene that doesn't have an Obi physics object (rope or emitter) under the obi solver. This seems to be the crux of the issue. I am dynamically creating them later based on user input, rather than having a fixed scene.

Hi!

Reproduced, and I have a good idea of what the cause is. I hope to have a fix available later today.

thanks for reporting it!
Reply
#10
Fixed. Replace ObiSolver.cs with the attached one.

Will include this in the next update. let me know how it goes!
Reply