Search Issue Tracker

Not Reproducible

Votes

1

Found in

2018.4

2018.4.26f1

Issue ID

1275257

Regression

No

[iOS] Application crashes when calling Texture2D.GetNativeTexturePtr multiple times

Profiling

-

Reproduction steps:
1. Open customer's attached project in "NUPforUnityLatest2018.zip"
2. Build the project for iOS
3. Deploy the project to an iOS device
4. Increase Num CreateTexture count up to 100 using buttons (read note 3)
5. Press "Create+GetNTP" button one time

Expected behavior: 100 textures will be created and the total texture count will indicate 100 (in the background Texture2D.GetNativeTexturePtr will be called)
Actual behavior: application crashes (full stack trace in edits), the crash is reproducible most of the time (80% repro on the device I tested)

Reproducible with: 2018.4.27f1
Not reproducible with: 2019.3.0a1, 2019.4.11f1, 2020.1.6f1, 2020.2.0b4

Devices tested:
Reproducible with:
VLNQA00310 iPad Pro 12.9 1st gen (iOS 13.4.1)
Not reproducible with:
N/A, Samsung Galaxy S9 (SM-G960F), Android 8.0.0, CPU: Exynos 9 Series 9810, GPU: Mali-G72
VLNQA00316, Samsung Galaxy Note10 (SM-N970F), Android 9, CPU: Exynos 9 Series 9825, GPU: Mali-G76
VLNQA00024, Xiaomi Mi 5 (MI 5), Android 7.0, CPU: Snapdragon 820 MSM8996, GPU: Adreno (TM) 530
Could not test with:
VLNQA00204 iPhone 5C (iOS 10.3.3) because the app gets terminated due to lack of memory (decreasing texture count makes the issue not reproduce on all devices)

Notes:
1. Application does not crash when the created texture number is reduced (5, for example, the project uses 50 by default)
2. Probability of a crash is different with different devices
3. 50 textures might be enough to reproduce the issue and some devices might have memory issues (will terminate)

Few lines from trace:
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
* frame #0: 0x0000000104ae9c80 NUPforUnity`::UnregisterAllocation() [inlined] data at dynamic_array.h:562:40 [opt]
frame #1: 0x0000000104ae9c80 NUPforUnity`::UnregisterAllocation() [inlined] operator[] at dynamic_array.h:571 [opt]
...

  1. Resolution Note (2021.2.X):

    No longer reproducible in 2018.4.36f1

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.