My project is set to “Slow and Safe” but I don’t receive any diagnostic message about this exception. The program just crashes. There is no problem when running in the editor, so this is most likely a bug in IL2CPP.
The bug occurs when loading a level.
Is there a workaround for this?
When will this be fixed? (5.1.1p4, unresolved)
Stack Trace of “UnityPreload”
#0 0x32ae3df0 in __pthread_kill () #1 0x32b62cc6 in pthread_kill () #2 0x32a7f908 in abort () #3 0x31d859c8 in abort_message () #4 0x31d9f670 in default_terminate_handler() () #5 0x32467f48 in _objc_terminate() () #6 0x31d9cde2 in std::__terminate(void ()()) () #7 0x31d9c5a8 in __cxa_throw () #8 0x011df732 in il2cpp::vm::Exception::Raise(Il2CppException) at /Users/builduser/buildslave/unity/build/Tools/il2cpp/il2cpp/libil2cpp/vm/Exception.cpp:41 #9 0x011dc0e8 in il2cpp::icalls::mscorlib::System::Array::ClearInternal(Il2CppArray*, int, int) at /Users/builduser/buildslave/unity/build/Tools/il2cpp/il2cpp/libil2cpp/icalls/mscorlib/System/Array.cpp:30 #10 0x00a9b146 in ResizeSTLStyleArray at /Users/builduser/buildslave/unity/build/Runtime/Mono/SerializationBackend_DirectMemoryAccess/Types/ManagedObject.h:171 #11 0x00abcafc in TransferSTLStyleArray at /Users/builduser/buildslave/unity/build/./Runtime/Serialize/TransferFunctions/StreamedBinaryRead.h:108 #12 0x00a971d0 in Transfer<StreamedBinaryRead > [inlined] at /Users/builduser/buildslave/unity/build/Runtime/Mono/SerializationBackend_DirectMemoryAccess/Types/ManagedObject.h:179 #13 0x00a971ca in TransferWithTypeString [inlined] at /Users/builduser/buildslave/unity/build/./Runtime/Serialize/TransferFunctions/StreamedBinaryRead.h:160 #14 0x00a971ca in Transfer_ManagedObject<StreamedBinaryRead, true> at /Users/builduser/buildslave/unity/build/Runtime/Mono/SerializationBackend_DirectMemoryAccess/Types/ManagedObject.h:259 #15 0x00abc56e in TransferField_LinearCollection<StreamedBinaryRead > at /Users/builduser/buildslave/unity/build/Runtime/Mono/SerializationBackend_DirectMemoryAccess/EmitSerializationCommandsForField.cpp:263 #16 0x00abb19a in Execute [inlined] at /Users/builduser/buildslave/unity/build/Runtime/Mono/SerializationBackend_DirectMemoryAccess/SerializationCommands.h:81 #17 0x00abb192 in ExecuteSerializationCommands<StreamedBinaryRead > at /Users/builduser/buildslave/unity/build/Runtime/Mono/SerializationBackend_DirectMemoryAccess/SerializationCommands.h:220 #18 0x00a96e44 in Transfer<StreamedBinaryRead > [inlined] at /Users/builduser/buildslave/unity/build/Runtime/Mono/SerializationBackend_DirectMemoryAccess/Types/ManagedObject.h:45 #19 0x00a96e40 in TransferWithTypeString [inlined] at /Users/builduser/buildslave/unity/build/./Runtime/Serialize/TransferFunctions/StreamedBinaryRead.h:160 #20 0x00a96e40 in Transfer_ManagedObject<StreamedBinaryRead, false> at /Users/builduser/buildslave/unity/build/Runtime/Mono/SerializationBackend_DirectMemoryAccess/Types/ManagedObject.h:250 #21 0x00a98514 in Execute [inlined] at /Users/builduser/buildslave/unity/build/Runtime/Mono/SerializationBackend_DirectMemoryAccess/SerializationCommands.h:81 #22 0x00a9850c in ExecuteSerializationCommands<StreamedBinaryRead > [inlined] at /Users/builduser/buildslave/unity/build/Runtime/Mono/SerializationBackend_DirectMemoryAccess/SerializationCommands.h:220 #23 0x00a984de in ExecuteSerializationCommands<StreamedBinaryRead > at /Users/builduser/buildslave/unity/build/Runtime/Mono/SerializationBackend_DirectMemoryAccess/SerializationCommands.h:228 #24 0x00a9825a in TransferScriptingObject<StreamedBinaryRead > at /Users/builduser/buildslave/unity/build/Runtime/Mono/SerializationBackend_DirectMemoryAccess/TransferScriptingObject.cpp:88 #25 0x00ac36ba in TransferEngineAndInstance<StreamedBinaryRead > at /Users/builduser/buildslave/unity/build/Runtime/Mono/MonoBehaviourSerialization.cpp:52 #26 0x00ac3404 in VirtualRedirectTransfer at /Users/builduser/buildslave/unity/build/Runtime/Mono/MonoBehaviourSerialization.cpp:115 #27 0x00b04eb2 in ReadObject at /Users/builduser/buildslave/unity/build/Runtime/Serialize/SerializedFile.cpp:1835 #28 0x00afe052 in LoadFileCompletelyThreaded at /Users/builduser/buildslave/unity/build/Runtime/Serialize/PersistentManager.cpp:1601 #29 0x00a7ef36 in Perform at /Users/builduser/buildslave/unity/build/Runtime/Misc/LoadSceneOperation.cpp:131 #30 0x00a7d972 in ProcessSingleOperation at /Users/builduser/buildslave/unity/build/Runtime/Misc/PreloadManager.cpp:274 #31 0x00a7d730 in Run at /Users/builduser/buildslave/unity/build/Runtime/Misc/PreloadManager.cpp:323 #32 0x00a7d700 in Run at /Users/builduser/buildslave/unity/build/Runtime/Misc/PreloadManager.cpp:180 #33 0x00b2d762 in RunThreadWrapper at /Users/builduser/buildslave/unity/build/Runtime/Threads/Thread.cpp:40 #34 0x32b61e22 in _pthread_body () #35 0x32b61d96 in _pthread_start () #36 0x32b5fb20 in thread_start ()
I did, once during 5.1.1p3, and again(with a more specific title) immediately after the release 5.1.1p4.
Again, there is no diagnostic message at all, even in dev builds. This happens every time our levels load, so we are completely blocked until this is resolved, either through a fix to IL2CPP or a diagnostic message that we can use.