Search Issue Tracker

Fixed in 2021.1.X

Fixed in 2018.4.X, 2019.4.X, 2020.3.X

Votes

0

Found in

2018.4

2018.4.1f1

2019.4

2020.1

2020.2

2021.1

Issue ID

1289143

Regression

No

[iOS] Crash when closing the app while loading data from ODR

iOS

-

Reproduction steps:
1. Open the attached project from the provided link
2. In the Menu Bar click "Bundle" -> "Build iOS AssetBundle (ODR)"
3. Build and Deploy the app to a device
4. In the Build, when the GameObjects start appearing in the Scene, close the app (double click the Home button and swipe up)
5. If it does not crash, launch the app again and continue from step 4

Reproducible with: 2018.4.30f1, 2019.4.16f1, 2020.1.16f1, 2020.2.0f1, 2021.1.0a9

Reproduced with:
iPhone 6 (12.4.8)
iPhone 7 (iOS 12.3.1)

First lines of some of the stack traces:
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x400000018)
frame #0: 0x00000001021a4dcc UnityFramework`FileAccessor::Read(VFS::FileSize, unsigned long long, void*, unsigned long long*) + 52
frame #1: 0x0000000102375748 UnityFramework`ArchiveStorageReader::ReadFromStorage(unsigned long long, unsigned long long, void*, unsigned long long*) + 240
frame #2: 0x000000010236f824 UnityFramework`ArchiveStorageReader::Read(VFS::FileSize, unsigned long long, void*, unsigned long long*) + 264
frame #3: 0x000000010236f6ec UnityFramework`ArchiveReadFile::Read(VFS::FileSize, unsigned long long, void*, unsigned long long*) + 100
frame #4: 0x000000010236e5dc UnityFramework`ArchiveFileSystem::Read(FileEntryData&, VFS::FileSize, unsigned long long, void*, unsigned long long*) + 56

* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x38)
* frame #0: 0x000000010113c208 odrtest2`::Close() at VirtualFileSystem.cpp:996:47 [opt]
frame #1: 0x00000001012ef8e8 odrtest2`::MakeStorageUnused() at ArchiveStorageReader.cpp:606:9 [opt]
frame #2: 0x00000001012f1234 odrtest2`::Close() at ArchiveReadFile.cpp:25:9 [opt]
frame #3: 0x00000001012f11e8 odrtest2`::~ArchiveReadFile() at ArchiveReadFile.cpp:18:5 [opt]
frame #4: 0x00000001012f01e0 odrtest2`::Close() [inlined] delete_internal<IFile> at MemoryMacros.h:187:9 [opt]

Notes:
1. Since it crashes while data from ODR is being loaded, it can sometimes be hard to time, making the reproduction harder

  1. Response avatar

    Resolution Note (fix version 2021.1):

    Fixed in 2021.2.0a2

  2. Response avatar

    Resolution Note (fix version 2021.1):

    Fixed in 2021.1.10f1

  3. Response avatar

    Resolution Note (fix version 2020.3):

    Fixed in 2020.3.14f1

  4. Response avatar

    Resolution Note (fix version 2019.4):

    Fixed in 2019.4.21f1

  5. Response avatar

    Resolution Note (fix version 2018.4):

    Fixed in 2018.4.31f1

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.