13-03-2020, 10:55 AM
(This post was last modified: 13-03-2020, 10:56 AM by josemendez.)
(13-03-2020, 10:44 AM)fiasko Wrote: Hello everybody,
System: macOS 10.15.13
Unity: 2020.1.0b1
Obi Rope: 5.1.0
I just tried to import Obi Rope 5.1.0 through the Package Manager. It start's normal with the import progress bar. Unity then asks after a while if it can do an "API Update" (it doesn't matter if I click "no thanks" or "Go Ahead!") and a couple of seconds after that, the Unity window just vanishes. I checked the Editor.log file and it ends with the following lines:
Code:Start importing Assets/Obi/Samples/RopeAndRod/SampleResources/Blueprints/Tearable cable.asset using Guid(61d053dd5abd943919947f833abd0569) Importer(-1,00000000000000000000000000000000) Serialization depth limit 7 exceeded at 'Obi::ObiConstraints`1.actor'. There may be an object composition cycle in one or more of your serialized classes.
Serialization hierarchy:
8: Obi::ObiConstraints`1.actor
7: Obi::ObiConstraints`1.source
6: Obi::ObiConstraints`1.source
5: Obi::ObiConstraints`1.source
4: Obi::ObiConstraints`1.source
3: Obi::ObiConstraints`1.source
2: Obi::ObiConstraints`1.source
1: Obi::ObiConstraints`1.source
(Filename: ./Runtime/Mono/SerializationBackend_DirectMemoryAccess/ShouldTransferField.cpp Line: 121)
Stack overflow in unmanaged: IP: 0x14532690c, fault addr: 0x7ffeea7a8ff8
Stack overflow in unmanaged: IP: 0x14540456d, fault addr: 0x7ffeea7a6ff8
Stack overflow in unmanaged: IP: 0x10673fea1, fault addr: 0x7ffeea7a5ff0
Stack overflow in unmanaged: IP: 0x10570a50e, fault addr: 0x7ffeea7a4ff8
Stack overflow in unmanaged: IP: 0x106755031, fault addr: 0x7ffeea7a3fc8
Stack overflow in unmanaged: IP: 0x145326237, fault addr: 0x7ffeea7a2f98
Stack overflow in unmanaged: IP: 0x145326914, fault addr: 0x7ffeea7a1ff8
Stack overflow: IP: 0x10570a621, fault addr: 0x7ffeea79ffac
Stacktrace:
[Unity Package Manager (Upm)]
Parent process [5067] was terminated
After that, I cannot open the project (it crashes while importing) until I manually delete the Obi folder from the assets folder not using Unity.
Unchecking "Tearable Cable.asset" before importing also leads to a crash, where the offending asset seems to be
Assets/Obi/Samples/RopeAndRod/SampleResources/Blueprints/Crane.asset
After that, I didn't investigate this further. I hope this is useful for troubleshooting this issue.
Thanks!
ObiConstraint's "source" member variable is protected and generic. So it should not be serialized under any circumstances. Unity complaining about a serialization loop in something that is not serialized (not marked for serialization, and even if it were, not serializable at all) is very probably a bug.
So it looks like a bug in Unity to me. Given that 2020 is still in beta this is not surprising. Same package in 2019.2 or 2019.3 imports and works just fine.