Search Issue Tracker

Fixed in 2018.2.X

Fixed in 2017.4.X

Won't Fix in 2018.1.X

Votes

1

Found in

2017.2.1p3

Issue ID

1001175

Regression

No

[iOS] Crash in "UploadTexture() at TexturesMeta.mm" or "DrawBufferRanges() at GfxDeviceGLES.cpp" using atlas with PVRTC compress

iOS

-

Reproduction steps:
1. Open the attached project.
2. Build and run it on iOS device.

Actual behavior:
- Crash.

Metal:
...
* frame #8: 0x00000001003e090c bug`::UploadTexture() at TexturesMetal.mm:163 [opt]
frame #9: 0x00000001004c2674 bug`::UploadTexture2DData() at Texture.cpp:610 [opt]
frame #10: 0x000000010048ae88 bug`::AsyncResourceUpload() [inlined] Upload2DTexture at AsyncUploadManager.cpp:473 [opt]
frame #11: 0x000000010048abec bug`::AsyncResourceUpload() at AsyncUploadManager.cpp:612 [opt]
...

GLES:
...
* frame #15: 0x00000001003ee92c bug`::DrawBufferRanges() at GfxDeviceGLES.cpp:1764 [opt]
frame #16: 0x00000001003eeac8 bug at GfxDeviceGLES.cpp:696 [opt]
frame #17: 0x00000001003eeabc bug at GfxDeviceGLES.cpp:694 [opt]
frame #18: 0x00000001004c8ea0 bug`::DrawBuffersStereo() at StereoSupportExt.cpp:481 [opt]
...

Reproduced with:
2018.1.0b7, 2017.3.1p1, 2017.2.1p4, 2017.1.3p1 (feature introduced in 2017.1)
Metal, GLES2, GLES3
PVRTC compression
iPhone 7+ iOS 11.2.5
iPhone 7+ iOS 10.3.2

Not reproducible with:
iPhone SE iOS9.3
iPad Mini 2 iOS 9.2.1
iPhone 6+ iOS 8.0
or
ASTC compression (other compression methods possible too)
or
Android

Note:
Full crash stack attached bellow.

Comments (4)

  1. NiallSoe

    Jan 16, 2019 12:47

    Can this fix be back ported to 2017.4, please? We have a game on the store that is on the LTS release and we are seeing this crash from a high number of users.

  2. NiallSoe

    Jan 16, 2019 12:47

    Can this fix be back ported to 2017.4, please? We have a game on the store that is on the LTS release and we are seeing this crash from a high number of users.

  3. NiallSoe

    Jan 16, 2019 12:47

    Can this fix be back ported to 2017.4, please? We have a game on the store that is on the LTS release and we are seeing this crash from a high number of users.

  4. painache

    Mar 01, 2018 17:00

    We also got a similar issue as below

    Incident Identifier: 1073311B-3041-4884-AEEE-D85BBD7E692A
    CrashReporter Key: f7dedb98bdc3875eeda3f6e7d2b1873f46aaf120
    Hardware Model: iPad4,1
    Process: mygame [3685]
    Path: /private/var/containers/Bundle/Application/D4EEE8EA-8A99-4C3D-80DB-3DEBF74B3319/mygame.app/mygame
    Identifier: com.pogorockgames.mygame
    Version: 0 (2.0.0)
    Code Type: ARM-64 (Native)
    Role: Foreground
    Parent Process: launchd [1]
    Coalition: com.pogorockgames.mygame [3148]

    Date/Time: 2018-03-01 22:14:17.3358 +0800
    Launch Time: 2018-03-01 22:13:24.4628 +0800
    OS Version: iPhone OS 10.3.3 (14G60)
    Report Version: 104

    Exception Type: EXC_BAD_ACCESS (SIGABRT)
    Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000028
    Triggered by Thread: 0

    Application Specific Information:
    abort() called

    Filtered syslog:
    None found

    Last Exception Backtrace:
    0 CoreFoundation 0x18e1defe0 __exceptionPreprocess + 124
    1 libobjc.A.dylib 0x18cc40538 objc_exception_throw + 55
    2 CoreFoundation 0x18e1def28 +[NSException raise:format:] + 115
    3 mygame 0x1027279d4 UmengSignalHandler + 127
    4 libsystem_platform.dylib 0x18d29d30c _sigtramp + 35
    5 GLEngine 0x1a34f9f50 gleESStackOffsets + 395
    6 GLEngine 0x1a34c81b8 gleSetVertexArrayFunc + 143
    7 GLEngine 0x1a3472980 glDrawElements_IMM_ES2Exec + 1143
    8 mygame 0x101ab835c GfxDeviceGLES::DrawBufferRanges(GfxBuffer*, VertexStreamSource const*, int, DrawBuffersRange const*, int, VertexDeclaration*, ShaderChannelMask, unsigned long, bool) + 27329372 (GfxDeviceGLES.cpp:1896)
    9 mygame 0x101ab8678 GfxDeviceGLES::DrawBuffers(GfxBuffer*, VertexStreamSource const*, int, DrawBuffersRange const*, int, VertexDeclaration*, ShaderChannelMask) + 27330168 (GfxDeviceGLES.cpp:1963)
    10 mygame 0x101bc8360 DrawUtil::DrawMeshRawFromNodeQueue(RenderNodeQueue const&, unsigned int, ShaderChannelMask, int) + 28443488 (DrawUtil.cpp:91)
    11 mygame 0x101b92af0 ForwardRenderLoopJob(GfxDeviceAsyncCommand::ArgScratch*, GfxDeviceAsyncCommand::Arg const*) + 28224240 (ForwardShaderRenderLoop.cpp:636)
    12 mygame 0x101d5b140 GfxDevice::ExecuteAsync(int, void (*)(GfxDeviceAsyncCommand::ArgScratch*, GfxDeviceAsyncCommand::Arg const*), GfxDeviceAsyncCommand::ArgScratch**, GfxDeviceAsyncCommand::Arg const*, JobFence const&) + 30093632 (GfxDevice.cpp:1600)
    13 mygame 0x101b92284 ForwardShaderRenderLoop::StartRenderJobs(JobFence&, bool, bool, ShaderPassContext&) + 28222084 (ForwardShaderRenderLoop.cpp:1077)
    14 mygame 0x101b93470 ForwardShaderRenderLoop::PerformRendering(JobFence&, ActiveLight const*, ShadowJobData const&, bool, bool, bool, Camera::RenderFlag) + 28226672 (ForwardShaderRenderLoop.cpp:1127)
    15 mygame 0x101b93ff4 DoForwardShaderRenderLoop(RenderLoopContext&, dynamic_array<RenderObjectData, 8ul>&, CullResults const&, bool, bool, bool, Camera::RenderFlag) + 28229620 (ForwardShaderRenderLoop.cpp:1631)
    16 mygame 0x101ba0f74 DoRenderLoop(RenderLoop&, RenderingPath, CullResults&, ShadowMapCache&, bool) + 28282740 (RenderLoopPrivate.cpp:520)
    17 mygame 0x101b32a90 Camera::DoRender(CullResults&, SharedRendererScene const&, Camera::RenderFlag, Camera::PerformRenderFunction*) + 27830928 (Camera.cpp:1610)
    18 mygame 0x101b33808 Camera::CustomRender(CullResults&, ShaderPassContext&, CameraRenderingParams const*, Camera::RenderFlag, Camera::PerformRenderFunction*, void (*)()) + 27834376 (Camera.cpp:2558)
    19 mygame 0x101b6d9e0 RenderManager::RenderCameras(int, void (*)()) + 28072416 (RenderManager.cpp:121)
    20 mygame 0x101c88654 PlayerRender(bool) + 29230676 (Player.cpp:900)
    21 mygame 0x101c899bc PlayerLoop() + 29235644 (PlayerLoop.cpp:223)
    22 mygame 0x101a7639c UnityPlayerLoopImpl(bool) + 27059100 (LibEntryPoint.mm:224)
    23 mygame 0x10010a500 UnityRepaint + 402688 (UnityAppController+Rendering.mm:271)
    24 mygame 0x10010a3ec -[UnityAppController(Rendering) repaintDisplayLink] + 402412 (UnityAppController+Rendering.mm:77)
    25 QuartzCore 0x1913ea5dc CA::Display::DisplayLinkItem::dispatch+ 42460 (unsigned long long) + 43
    26 QuartzCore 0x1913ea48c CA::Display::DisplayLink::dispatch_items+ 42124 (unsigned long long, unsigned long long, unsigned long long) + 435
    27 IOKit 0x18e44bb9c IODispatchCalloutFromCFMessage + 371
    28 CoreFoundation 0x18e175960 __CFMachPortPerform + 179
    29 CoreFoundation 0x18e18dae4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 55
    30 CoreFoundation 0x18e18d284 __CFRunLoopDoSource1 + 435
    31 CoreFoundation 0x18e18ad98 __CFRunLoopRun + 1751
    32 CoreFoundation 0x18e0bada4 CFRunLoopRunSpecific + 423
    33 GraphicsServices 0x18fb25074 GSEventRunModal + 99
    34 UIKit 0x19436ec9c UIApplicationMain + 207
    35 mygame 0x100102da4 main + 372132 (main.mm:33)
    36 libdyld.dylib 0x18d0c959c start + 3

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.