Search Unity

Unity 2019 Android build crashes on devices using Adreno 506 GPU

Discussion in 'Android' started by wechat_os_Qy0_ucgtZZGwzEg8o45wVEmEg, Jul 18, 2019.

  1. eladleb4

    eladleb4

    Joined:
    Apr 25, 2016
    Posts:
    57
    @aleksandrk are you guys looking into this issue? Or can't find anything?
    We are getting a ton of crashes for LG and Moto devices and have nothing smart to say to them :(

    The game runs perfectly fine on other weaker and older devices... Is there anything we can do to help resolve it..?
     
  2. aleksandrk

    aleksandrk

    Unity Technologies

    Joined:
    Jul 3, 2017
    Posts:
    3,023
    Yes. Please report a bug :)
     
  3. eladleb4

    eladleb4

    Joined:
    Apr 25, 2016
    Posts:
    57
    @aleksandrk
    Submitted along with multiple stack traces (Case 1305059). I hope you guys will look into it, there are many players with an Adreno based device and the game isn't stable at all for them :(
     
    aleksandrk likes this.
  4. Deleted User

    Deleted User

    Guest

    Was a solution achieved? If so, can a link be provided? We are encountering this as well on our project.
     
  5. trooper

    trooper

    Joined:
    Aug 21, 2009
    Posts:
    748
    I'm pretty confident this is due to the device's free ram and amount of ram the GPU can use being different. All my devices are reporting 1GB of free memory but i have a POCOPHONE F1 with 6GB of memory that can only use 1.4GB of memory (with 1GB free) before hard crash where Samsung Not 5 can use 2.5GB before hard crash (with 200MB free)
     
  6. ccj569658522

    ccj569658522

    Joined:
    Jul 29, 2021
    Posts:
    1
    @aleksandrk
    libESXGLESv2_adreno.EsxRenderBucket::AddUnbucketedEntries(EsxCmdBufType, unsigned int) (AddUnbucketedEntries:102)
    libESXGLESv2_adreno.EsxRenderBucket::BucketRenderingCmds(EsxRenderBucketParams*)libESXGLESv2_adreno.EsxContext::BucketRenderingCmds(int)libESXGLESv2_adreno.EsxContext::BucketProcessingSetup()libESXGLESv2_adreno.EsxContext::Clear(unsigned int, unsigned int, unsigned int, EsxClearValues*)libESXGLESv2_adreno.EsxGlApiParamValidate::GlClear(EsxDispatch*, unsigned int)
    ApiGLES::Clear(unsigned int, ColorRGBAf const&, bool, float, int)
    ??:?
    gles::ClearCurrentFramebuffer(ApiGLES*, bool, bool, bool, ColorRGBAf const&, float, int, int)
    ??:?
    GfxFramebufferGLES::Clear(GfxClearFlags, ColorRGBAf const&, float, int, bool)
    ??:?
    GfxDeviceGLES::Clear(GfxClearFlags, ColorRGBAf const&, float, unsigned int)
    ??:?
    GfxDeviceWorker::RunCommand(ThreadedStreamBuffer&)
    ??:?
    GfxDeviceWorker::RunExt(ThreadedStreamBuffer&)
    ??:?
    GfxDeviceWorker::RunGfxDeviceWorker(void*)
    ??:?
    Thread::RunThreadWrapper(void*)
    ??:?
    ??
    ??:0

    I have encountered a lot of crashes like this, all in 32-bit only
     
  7. rooney-afterverse

    rooney-afterverse

    Joined:
    Mar 10, 2017
    Posts:
    2
    We actually identified the issue here, but we are still looking for ways to control it properly.

    Basically, those Adreno 505 / 506 CPUs are not sending the Application their low memory signals, even though the device is on a low memory condition. In our case, we generally use this signal to better control the memory usage from the devices.

    We also tried getting a read on how much actual memory is being used by the unity activity, and the memory value reported is only representative of the CPU usage, ignoring the GPU usage. (as trooper said)

    I'll try to get some time to send a project that can reproduce this issue, but basically it just needs to be a simple project that keeps filling the memory until the low memory signal is sent from android (preferably with textures or 3d models to increase gpu usage). Just adding and removing textures should do that, as the garbage collector is never triggered (usually we trigger it on transitions or on the low memory signal). On these devices the low memory signal will just not be sent, and eventually lead to a crash.
     
    levelappstudios, Qbit86 and Petr777 like this.
  8. tj42

    tj42

    Joined:
    Dec 19, 2016
    Posts:
    2
    Did this get fixed? Where is the public issue tracker? We're seeing this issue on live devices using Unity 2020.3.41f1.
     
    Petr777 and Qbit86 like this.
  9. aleksandrk

    aleksandrk

    Unity Technologies

    Joined:
    Jul 3, 2017
    Posts:
    3,023
    Looks like our QA didn't manage to reproduce case 1305059 that was reported.
    @tj42 please report a new bug.
     
    syedzainul likes this.
  10. syedzainul

    syedzainul

    Joined:
    Apr 11, 2013
    Posts:
    2
    Kindly review this issue again. As it's very consistent on the Adreno GPU.
     
    Petr777 and Qbit86 like this.
  11. cdr9042

    cdr9042

    Joined:
    Apr 22, 2018
    Posts:
    173
    How to find out it was caused by memory? Is it because there was a call GetMemory() in the stacktrace? I think it's likely the cause for my crash but if you can elaborate on it it would help me a lot.
     
  12. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,791
     
  13. levelappstudios

    levelappstudios

    Joined:
    Nov 7, 2017
    Posts:
    104
    I have a similar issue, and after examining Crashlytics data for days, I have come to the same conclusion: Adreno devices with a lot of RAM (starting from 3 GB) crash due to insufficient free memory (around 100 MB), even though the game only consumes about 300 MB.

    Did you manage to resolve this problem? I'm desperate; I don't know what to do to fix this error, and I can't go for a global release with such a high error rate.
     
  14. fazli_unity

    fazli_unity

    Joined:
    Nov 18, 2021
    Posts:
    5
    We are also experiencing this issue heavily on Motorola devices with Adreno 505/506 GPUs. Any updates? (Unity 2021.3.34f1)

    Code (CSharp):
    1. Crashed: Thread: SIGSEGV  0x0000000069968614
    2. #00 pc 0x97d23ec0
    3. #01 pc 0x97d18dab
    4. #02 pc 0x97b7230b
    5. #03 pc 0x97b88e4b
    6. #04 pc 0x97b88e4b
    7. #05 pc 0x67c001 boot-framework.oat (BuildId: 5aedaac54eb5e860d50f14e7c505d50726dd329f)
    8. #06 pc 0x97a941c9
    9. #07 pc 0xa0caa386
    10. #08 pc 0x53fcf libc.so (BuildId: 34e2a9d289899e4d4708414a49a923ac)
    11. #09 pc 0xa0caa386
    12. #10 pc 0xa0c2e839