Search Unity

5.6.0f3 - Crash when exiting app, out of memory, only affecting a device on Android 6.0.1

Discussion in 'Android' started by jason_yak, Apr 15, 2017.

  1. jason_yak

    jason_yak

    Joined:
    Aug 25, 2016
    Posts:
    531
    Hi there,

    We've got an out of memory crash happening when exiting our android app. It appears to be when the OS tries to make a screenshot of the app so it can put the app in to the background mode. This wasn't occurring before we upgraded to 5.6 and it only affects a Samsung S5 running 6.0.1.

    We have another device a Samsung Tab running 5.0 and it's fine.

    I tried to submit a bug report but the project is too large and the bug reporter ironically keeps crashing after uploading a couple of hundred mb. I tried building and running an apk from an empty project using 5.6 but the problem device does not crash on exit of this app. So it's hard to know where the blame lies and I can't create a bug report with a simpler project.

    The crash is so strange. I'm able to play our game for hours, loading and dumping 100's of memory hungry scenes and the device holds up. It's only when it exits for whatever reason (switching out to a browser, or just hitting the home button) then the app crashes. I'll attach the log I captured using logcat to see if that helps.

    Any help much appreciated, thanks!!!


    04-14 11:07:55.214 14423 14423 E AndroidRuntime: FATAL EXCEPTION: main
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: Process: [### edited, this had our bundle id here ###], PID: 14423
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: java.lang.Error: FATAL EXCEPTION [main]
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: Unity version : 5.6.0f3
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: Device model : samsung SM-G900I
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: Device fingerprint: samsung/kltedv/klte:6.0.1/MMB29M/G900IDVU1CPL1:user/release-keys
    04-14 11:07:55.214 14423 14423 E AndroidRuntime:
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: Caused by: java.lang.OutOfMemoryError: Failed to allocate a 26211852 byte allocation with 10635816 free bytes and 10MB until OOM
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.graphics.Bitmap.nativeCreate(Native Method)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.graphics.Bitmap.createBitmap(Bitmap.java:975)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.graphics.Bitmap.createBitmap(Bitmap.java:946)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.graphics.Bitmap.createBitmap(Bitmap.java:877)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:753)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at com.unity3d.player.i.onLayoutChange(Unknown Source)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.view.View.layout(View.java:17947)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.view.ViewGroup.layout(ViewGroup.java:5812)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:344)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.widget.FrameLayout.onLayout(FrameLayout.java:281)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.view.View.layout(View.java:17938)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.view.ViewGroup.layout(ViewGroup.java:5812)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1742)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.view.View.layout(View.java:17938)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.view.ViewGroup.layout(ViewGroup.java:5812)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:344)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.widget.FrameLayout.onLayout(FrameLayout.java:281)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at com.android.internal.policy.PhoneWindow$DecorView.onLayout(PhoneWindow.java:3193)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.view.View.layout(View.java:17938)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.view.ViewGroup.layout(ViewGroup.java:5812)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2666)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2367)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1437)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7397)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:920)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.view.Choreographer.doCallbacks(Choreographer.java:695)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.view.Choreographer.doFrame(Choreographer.java:631)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:906)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:739)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:95)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.os.Looper.loop(Looper.java:158)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7224)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
    04-14 11:07:55.214 14423 14423 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
     
    WermHat likes this.
  2. jason_yak

    jason_yak

    Joined:
    Aug 25, 2016
    Posts:
    531
    Anyone have any ideas what's going on here?

    I've just tested the exact same app running on a Samsung S6 that is on the same OS 6.0.1 and it doesn't crash. It's only the S5 at this point, but it's always at a predictable point ie. exiting the app. I'm left wondering if there's something odd about how the unity app is rendering on the S5 or something odd about the GPU, and that at the time where the OS tries to take a screenshot it trips it up causing the out of memory crash. I don't know what else it could be because the device has 2GB of RAM and runs our app for hours fine with no issue.

    I'm really stumped on what to do to resolve this =(
     
  3. jason_yak

    jason_yak

    Joined:
    Aug 25, 2016
    Posts:
    531
    But at least that test ^ is telling me that the issue isn't in the OS version.
     
  4. jason_yak

    jason_yak

    Joined:
    Aug 25, 2016
    Posts:
    531
    hoping someone has a clue about what this could be.. thanks
     
    WermHat likes this.
  5. tomdrin88

    tomdrin88

    Joined:
    Oct 15, 2015
    Posts:
    2
    Experiencing same issue on LG G2 with Android 4.4.2....any tips from Unity Developers?
     
  6. Yury-Habets

    Yury-Habets

    Unity Technologies

    Joined:
    Nov 18, 2013
    Posts:
    1,167
    Sounds like a bug with the static splash screen. A bug report would be really appreciated.
     
  7. WermHat

    WermHat

    Joined:
    Jul 13, 2012
    Posts:
    88
    Not sure if this is related, but after upgrading to Unity 5.6.0f3 we're getting out of memory crashes immediately on launch when we have a static splash screen image selected. Android 4.4.2. No issues on Unity 5.4.

    E/AndroidRuntime(24564): Caused by: java.lang.OutOfMemoryError

    E/AndroidRuntime(24564): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)

    E/AndroidRuntime(24564): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:683)

    E/AndroidRuntime(24564): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:513)

    E/AndroidRuntime(24564): at android.graphics.BitmapFactory.decodeResource(BitmapFactory.java:541)

    E/AndroidRuntime(24564): at android.graphics.BitmapFactory.decodeResource(BitmapFactory.java:571)

    E/AndroidRuntime(24564): at com.unity3d.player.i.onLayoutChange(Unknown Source)

    E/AndroidRuntime(24564): at android.view.View.layout(View.java:15754)

    E/AndroidRuntime(24564): at android.view.ViewGroup.layout(ViewGroup.java:4868)

    E/AndroidRuntime(24564): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)

    E/AndroidRuntime(24564): at android.widget.FrameLayout.onLayout(FrameLayout.java:388)

    E/AndroidRuntime(24564): at android.view.View.layout(View.java:15745)

    E/AndroidRuntime(24564): at android.view.ViewGroup.layout(ViewGroup.java:4868)

    E/AndroidRuntime(24564): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1677)

    E/AndroidRuntime(24564): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1531)

    E/AndroidRuntime(24564): at android.widget.LinearLayout.onLayout(LinearLayout.java:1440)

    E/AndroidRuntime(24564): at android.view.View.layout(View.java:15745)

    E/AndroidRuntime(24564): at android.view.ViewGroup.layout(ViewGroup.java:4868)

    E/AndroidRuntime(24564): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)

    E/AndroidRuntime(24564): at android.widget.FrameLayout.onLayout(FrameLayout.java:388)

    E/AndroidRuntime(24564): at android.view.View.layout(View.java:15745)

    E/AndroidRuntime(24564): at android.view.ViewGroup.layout(ViewGroup.java:4868)

    E/AndroidRuntime(24564): at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2330)

    E/AndroidRuntime(24564): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2043)

    E/AndroidRuntime(24564): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1246)

    E/AndroidRuntime(24564): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6567)

    E/AndroidRuntime(24564): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:803)

    E/AndroidRuntime(24564): at android.view.Choreographer.doCallbacks(Choreographer.java:603)

    E/AndroidRuntime(24564): at android.view.Choreographer.doFrame(Choreographer.java:573)

    E/AndroidRuntime(24564): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:789)

    E/AndroidRuntime(24564): at android.os.Handler.handleCallback(Handler.java:733)

    E/AndroidRuntime(24564): at android.os.Handler.dispatchMessage(Handler.java:95)

    E/AndroidRuntime(24564): at android.os.Looper.loop(Looper.java:136)

    E/AndroidRuntime(24564): at android.app.ActivityThread.main(ActivityThread.java:5476)

    E/AndroidRuntime(24564): at java.lang.reflect.Method.invokeNative(Native Method)

    E/AndroidRuntime(24564): at java.lang.reflect.Method.invoke(Method.java:515)

    E/AndroidRuntime(24564): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)

    E/AndroidRuntime(24564): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)

    E/AndroidRuntime(24564): at dalvik.system.NativeStart.main(Native Method)
     
    Last edited: Apr 29, 2017
  8. rsodre

    rsodre

    Joined:
    May 9, 2012
    Posts:
    229
    I'm having the same issue.
    My Android build stopped working after upgrading from Unity 5.5.2 to Unity 5.6.0f3

    Code (CSharp):
    1. E/AndroidRuntime(17077): FATAL EXCEPTION: main
    2. E/AndroidRuntime(17077): Process: com.studioavante.xxxxxxx, PID: 17077
    3. E/AndroidRuntime(17077): java.lang.Error: FATAL EXCEPTION [main]
    4. E/AndroidRuntime(17077): Unity version     : 5.6.0f3
    5. E/AndroidRuntime(17077): Device model      : samsung GT-I9505
    6. E/AndroidRuntime(17077): Device fingerprint: samsung/jfltevj/jflte:5.0.1/LRX22C/XXXXXXXXXX:user/release-keys
    7. E/AndroidRuntime(17077):
    8. E/AndroidRuntime(17077): Caused by: java.lang.OutOfMemoryError: Failed to allocate a 11059212 byte allocation with 4122724 free bytes and 3MB until OOM
    9. E/AndroidRuntime(17077):     at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
    10. E/AndroidRuntime(17077):     at android.graphics.Bitmap.nativeCreate(Native Method)
    11. E/AndroidRuntime(17077):     at android.graphics.Bitmap.createBitmap(Bitmap.java:939)
    12. E/AndroidRuntime(17077):     at android.graphics.Bitmap.createBitmap(Bitmap.java:912)
    13. E/AndroidRuntime(17077):     at android.graphics.Bitmap.createBitmap(Bitmap.java:843)
    14. E/AndroidRuntime(17077):     at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:719)
    15. E/AndroidRuntime(17077):     at com.unity3d.player.i.onLayoutChange(Unknown Source)
    16. ...
     
    Last edited: Apr 29, 2017
    WermHat likes this.
  9. rsodre

    rsodre

    Joined:
    May 9, 2012
    Posts:
    229
    Guessed right!
    I reduced my splash screen texture Max Size from 2048 to 1024 and it stopped crashing!
     

    Attached Files:

    WermHat likes this.
  10. WermHat

    WermHat

    Joined:
    Jul 13, 2012
    Posts:
    88
    Something is definitely funky with static splashes in Unity 5.6. Removing (or significantly downsizing) the splash does correct the issue, but of course this leaves you with a lower resolution image. Any workarounds or ETA for a patch fix, Unity team?
     
  11. Nyankoooo

    Nyankoooo

    Joined:
    May 21, 2016
    Posts:
    144
    Experiencing the same issue, looking forward to a fix.
     
    WermHat likes this.
  12. K_Bay

    K_Bay

    Joined:
    May 2, 2017
    Posts:
    13
    Looks like android issue. May be new version using more memory.
     
    WermHat likes this.
  13. WermHat

    WermHat

    Joined:
    Jul 13, 2012
    Posts:
    88
    Confirmed-- any word on a fix? We can't deploy to Android until this one is resolved. Thank you!
     
  14. Yury-Habets

    Yury-Habets

    Unity Technologies

    Joined:
    Nov 18, 2013
    Posts:
    1,167
    Can someone please submit a bug report - we don't have one yet.
     
    WermHat likes this.
  15. WermHat

    WermHat

    Joined:
    Jul 13, 2012
    Posts:
    88
    Submitted.

    Create empty Android project, save empty scene, add empty scene to build, add large uncompressed static splash (in this case 2048x2048), build, observe out of memory crash.
     
    rsodre likes this.
  16. WermHat

    WermHat

    Joined:
    Jul 13, 2012
    Posts:
    88
    https://issuetracker.unity3d.com/is...t-with-high-resolution-of-static-splash-image

    "Won't Fix" ? What is going on here? So we can't have a static splash that's at or above the native resolution of an average modern device? This issue does not exist in Unity 5.5 and lower.

    I'm already starting to notice Unity games live on the app store that are booting up to blank screens because they can't build with a static splash anymore. This either needs to get fixed, or we need an option to disable background blur on the new splash screens so that we can recreate a normal static splash.
     
    Last edited: May 6, 2017
  17. rsodre

    rsodre

    Joined:
    May 9, 2012
    Posts:
    229
    I'd like to hear what Unity has to say about that too.
    It will crash. And you don't care.
     
    WermHat likes this.
  18. WermHat

    WermHat

    Joined:
    Jul 13, 2012
    Posts:
    88
    They aren't paying attention to the details of this report.

    This is not an issue of memory abuse. This is a bug with the static splash in Unity 5.6.


    The exact same splash runs just fine in Unity 5.5 and lower. If we apply the same image to the new non-static splash, it runs. If we put the same image in the scene, it runs.

    Again: This is not an issue of memory abuse. This is a bug with the static splash in Unity 5.6.
     
  19. Yury-Habets

    Yury-Habets

    Unity Technologies

    Joined:
    Nov 18, 2013
    Posts:
    1,167
    I reactivated the bug - the developer was too fast resolving it :) We'll investigate more.

    The static splash screen is new (reimplemented) in 5.6, so it definitely has nothing to do with 5.5.
     
    WermHat and rsodre like this.
  20. WermHat

    WermHat

    Joined:
    Jul 13, 2012
    Posts:
    88
    Thank you!! Very glad to have you on top of it. Looking forward to a resolution.
     
  21. artaka

    artaka

    Joined:
    Feb 19, 2013
    Posts:
    128
    Is there an update on this issue? Has anyone found a temporary workaround for it?
     
    WermHat likes this.
  22. WermHat

    WermHat

    Joined:
    Jul 13, 2012
    Posts:
    88
    Only workarounds we've found so far are using a significantly smaller splash texture (although this still may well crash lower memory devices), using the new Unity splash with the blurred background, or using no splash at all. All three of which are, of course, unacceptable.

    I think it would be appropriate for Unity to keep us posted on this one considering this is a critical bug with one of Unity Pro's most basic and longstanding selling points: the custom splash.
     
    Last edited: May 20, 2017
  23. artaka

    artaka

    Joined:
    Feb 19, 2013
    Posts:
    128
    Thanks WermHat. For now, I've disabled the splash screen completely in the hopes that this should be fixed asap.
     
    WermHat likes this.
  24. WermHat

    WermHat

    Joined:
    Jul 13, 2012
    Posts:
    88
    Does Unity have an official recommendation for a workaround beyond the ones I suggested above? We don't understand how there isn't more urgency behind this issue. Anyone with Unity Pro and a static splash should be experiencing this, no?
     
  25. fcloss

    fcloss

    Joined:
    Dec 1, 2011
    Posts:
    192
    Any news on this? My new update just made 10% of the sessions to crash due to this issue!

    @Yury-Habets it is a really serious issue, prority given to it?
     
    WermHat likes this.
  26. fcloss

    fcloss

    Joined:
    Dec 1, 2011
    Posts:
    192
    One important thing that happens to me as a consequence of the new Splash implementation.

    On main MainCamera Start method i use RenderTexture to create some dynamic textures. With the new Splash, Start is called without a GL context, so the RenderTexture gets black. I had to add a yield to wait one frame to do this. The splash is closing and passing control to the app too soon.
     
    WermHat likes this.
  27. WermHat

    WermHat

    Joined:
    Jul 13, 2012
    Posts:
    88
    ETA??
     
  28. mbaker

    mbaker

    Joined:
    Jan 9, 2013
    Posts:
    52
    For what it's worth, I was able to keep my 2048x1536 splash screen if I set the following attribute in my androidmanifest.xml
    android:largeHeap="true"

    This goes in the application tag so my tag looked like this:
    <application
    android:largeHeap="true"
    android:icon="@drawable/app_icon"
    android:label="@String/app_name"
    android:debuggable="true">
     
    Nodrap likes this.
  29. WermHat

    WermHat

    Joined:
    Jul 13, 2012
    Posts:
    88
    Yury-Habets likes this.
  30. Yury-Habets

    Yury-Habets

    Unity Technologies

    Joined:
    Nov 18, 2013
    Posts:
    1,167
    This is correct - the OOM issue was fixed in a patch release. Please report the other issues if you face them!
     
    WermHat likes this.
  31. Yury-Habets

    Yury-Habets

    Unity Technologies

    Joined:
    Nov 18, 2013
    Posts:
    1,167
    Please submit a bug report if it's still actual with the latest patch. Thanks!
     
  32. ortin

    ortin

    Joined:
    Jan 13, 2013
    Posts:
    221
    After 5.6.2 update it just throws a new exception and seems at lower rate (Caused by java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@6747f53). I cannot report a bug coz I cannot reproduce it locally - only when released. So that bug report will be just lost like many others with crash reports which cannot be reliably reproduced.

    VS 5.6.1
     
  33. Yury-Habets

    Yury-Habets

    Unity Technologies

    Joined:
    Nov 18, 2013
    Posts:
    1,167
    @ortin we'd appreciate a bug report if you manage to reproduce it. Thanks!
     
  34. jason_yak

    jason_yak

    Joined:
    Aug 25, 2016
    Posts:
    531
    Just
    Just confirming in my case this patch did resolve the crash I had. Thanks for that!! =)
     
    Yury-Habets likes this.
  35. cruelbob

    cruelbob

    Joined:
    May 26, 2014
    Posts:
    20
    Code (csharp):
    1.  
    2. # Platform: android
    3. # Version: N/A
    4. # Date: 2017-07-19T16:10:00Z
    5. # OS Version: 7.0
    6. # Device: NEM-L51
    7. # RAM Free: 29.8%
    8. # Disk Free: 49.6%
    9.  
    10. Fatal Exception: java.lang.Error: FATAL EXCEPTION [main]
    11. Unity version     : 5.6.2f1
    12. Device model      : HUAWEI NEM-L51
    13. Device fingerprint: HONOR/NEM-L51/HNNEM-H:7.0/HONORNEM-L51/C10B355:user/release-keys
    14.  
    15.  
    16. Caused by java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@f862336
    17.        at android.graphics.Canvas.throwIfCannotDraw(Canvas.java:1271)
    18.        at android.graphics.Canvas.drawBitmap(Canvas.java:1368)
    19.        at android.graphics.Bitmap.createBitmap(Bitmap.java:973)
    20.        at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:820)
    21.        at com.unity3d.player.i.onLayout(Unknown Source)
    22.        at android.view.View.layout(View.java:17688)
    23.        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:325)
    24.        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
    25.        at android.view.View.layout(View.java:17688)
    26.        at android.view.ViewGroup.layout(ViewGroup.java:5631)
    27.        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:325)
    28.        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
    29.        at android.view.View.layout(View.java:17688)
    30.        at android.view.ViewGroup.layout(ViewGroup.java:5631)
    31.        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1762)
    32.        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1606)
    33.        at android.widget.LinearLayout.onLayout(LinearLayout.java:1515)
    34.        at android.view.View.layout(View.java:17688)
    35.        at android.view.ViewGroup.layout(ViewGroup.java:5631)
    36.        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:325)
    37.        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
    38.        at com.android.internal.policy.DecorView.onLayout(DecorView.java:774)
    39.        at android.view.View.layout(View.java:17688)
    40.        at android.view.ViewGroup.layout(ViewGroup.java:5631)
    41.        at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2513)
    42.        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2228)
    43.        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1366)
    44.        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6768)
    45.        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:926)
    46.        at android.view.Choreographer.doCallbacks(Choreographer.java:735)
    47.        at android.view.Choreographer.doFrame(Choreographer.java:667)
    48.        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:912)
    49.        at android.os.Handler.handleCallback(Handler.java:761)
    50.        at android.os.Handler.dispatchMessage(Handler.java:98)
    51.        at android.os.Looper.loop(Looper.java:156)
    52.        at android.app.ActivityThread.main(ActivityThread.java:6531)
    53.        at java.lang.reflect.Method.invoke(Method.java)
    54.        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:941)
    55.        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:831)
    56.  
    57. #0. Queue
    58.        at java.lang.Object.wait(Object.java)
    59.        at java.lang.Thread.parkFor$(Thread.java:2142)
    60.        at sun.misc.Unsafe.park(Unsafe.java:325)
    61.        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
    62.        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
    63.        at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
    64.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
    65.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
    66.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
    67.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
    68.        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
    69.        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    70.        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    71.        at java.lang.Thread.run(Thread.java:776)
    72.  
    73. #1. Queue
    74.        at java.lang.Object.wait(Object.java)
    75.        at java.lang.Thread.parkFor$(Thread.java:2142)
    76.        at sun.misc.Unsafe.park(Unsafe.java:325)
    77.        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
    78.        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
    79.        at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
    80.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
    81.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
    82.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
    83.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
    84.        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
    85.        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    86.        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    87.        at java.lang.Thread.run(Thread.java:776)
    88.  
    89. #2. Queue
    90.        at java.lang.Object.wait(Object.java)
    91.        at java.lang.Thread.parkFor$(Thread.java:2142)
    92.        at sun.misc.Unsafe.park(Unsafe.java:325)
    93.        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
    94.        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
    95.        at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
    96.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
    97.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
    98.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
    99.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
    100.        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
    101.        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    102.        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    103.        at java.lang.Thread.run(Thread.java:776)
    104.  
    105. #3. pool-3-thread-1
    106.        at java.lang.Object.wait(Object.java)
    107.        at java.lang.Thread.parkFor$(Thread.java:2142)
    108.        at sun.misc.Unsafe.park(Unsafe.java:325)
    109.        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
    110.        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
    111.        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
    112.        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
    113.        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    114.        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    115.        at java.lang.Thread.run(Thread.java:776)
    116.  
    117. #4. Queue
    118.        at java.lang.Object.wait(Object.java)
    119.        at java.lang.Thread.parkFor$(Thread.java:2142)
    120.        at sun.misc.Unsafe.park(Unsafe.java:325)
    121.        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
    122.        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
    123.        at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
    124.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
    125.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
    126.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
    127.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
    128.        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
    129.        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    130.        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    131.        at java.lang.Thread.run(Thread.java:776)
    132.  
    133. #5. Crashlytics Exception Handler1
    134.        at dalvik.system.VMStack.getThreadStackTrace(VMStack.java)
    135.        at java.lang.Thread.getStackTrace(Thread.java:1581)
    136.        at java.lang.Thread.getAllStackTraces(Thread.java:1631)
    137.        at com.crashlytics.android.core.CrashlyticsController.writeSessionEvent(CrashlyticsController.java:1092)
    138.        at com.crashlytics.android.core.CrashlyticsController.writeFatal(CrashlyticsController.java:831)
    139.        at com.crashlytics.android.core.CrashlyticsController.access$200(CrashlyticsController.java:59)
    140.        at com.crashlytics.android.core.CrashlyticsController$6.call(CrashlyticsController.java:285)
    141.        at com.crashlytics.android.core.CrashlyticsController$6.call(CrashlyticsController.java:278)
    142.        at java.util.concurrent.FutureTask.run(FutureTask.java:237)
    143.        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
    144.        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    145.        at io.fabric.sdk.android.services.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:75)
    146.        at io.fabric.sdk.android.services.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:30)
    147.        at java.lang.Thread.run(Thread.java:776)
    148.  
    149. #6. Queue
    150.        at java.lang.Object.wait(Object.java)
    151.        at java.lang.Thread.parkFor$(Thread.java:2142)
    152.        at sun.misc.Unsafe.park(Unsafe.java:325)
    153.        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
    154.        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
    155.        at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
    156.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
    157.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
    158.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
    159.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
    160.        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
    161.        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    162.        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    163.        at java.lang.Thread.run(Thread.java:776)
    164.  
    165. #7. Queue
    166.        at java.lang.Object.wait(Object.java)
    167.        at java.lang.Thread.parkFor$(Thread.java:2142)
    168.        at sun.misc.Unsafe.park(Unsafe.java:325)
    169.        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
    170.        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
    171.        at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
    172.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
    173.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
    174.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
    175.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
    176.        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
    177.        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    178.        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    179.        at java.lang.Thread.run(Thread.java:776)
    180.  
    181. #8. UnityMain
    182.        at com.unity3d.player.UnityPlayer.nativeRender(Unknown Source)
    183.        at com.unity3d.player.UnityPlayer.c(Unknown Source)
    184.        at com.unity3d.player.UnityPlayer$c$1.handleMessage(Unknown Source)
    185.        at android.os.Handler.dispatchMessage(Handler.java:101)
    186.        at android.os.Looper.loop(Looper.java:156)
    187.        at com.unity3d.player.UnityPlayer$c.run(Unknown Source)
    188.  
    189. #9. OkHttp ConnectionPool
    190.        at java.lang.Object.wait(Object.java)
    191.        at com.android.okhttp.ConnectionPool.performCleanup(ConnectionPool.java:305)
    192.        at com.android.okhttp.ConnectionPool.runCleanupUntilPoolIsEmpty(ConnectionPool.java:242)
    193.        at com.android.okhttp.ConnectionPool.-wrap0(ConnectionPool.java)
    194.        at com.android.okhttp.ConnectionPool$1.run(ConnectionPool.java:97)
    195.        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
    196.        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    197.        at java.lang.Thread.run(Thread.java:776)
    198.  
    199. #10. Answers Events Handler1
    200.        at java.lang.Object.wait(Object.java)
    201.        at java.lang.Thread.parkFor$(Thread.java:2142)
    202.        at sun.misc.Unsafe.park(Unsafe.java:325)
    203.        at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:201)
    204.        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2077)
    205.        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1103)
    206.        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1084)
    207.        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
    208.        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    209.        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    210.        at io.fabric.sdk.android.services.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:75)
    211.        at io.fabric.sdk.android.services.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:30)
    212.        at java.lang.Thread.run(Thread.java:776)
    213.  
    214. #11. Queue
    215.        at java.lang.Object.wait(Object.java)
    216.        at java.lang.Thread.parkFor$(Thread.java:2142)
    217.        at sun.misc.Unsafe.park(Unsafe.java:325)
    218.        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
    219.        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
    220.        at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
    221.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
    222.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
    223.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
    224.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
    225.        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
    226.        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    227.        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    228.        at java.lang.Thread.run(Thread.java:776)
    229.  
    230. #12. ReferenceQueueDaemon
    231.        at java.lang.Object.wait(Object.java)
    232.        at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:150)
    233.        at java.lang.Thread.run(Thread.java:776)
    234.  
    235. #13. FinalizerWatchdogDaemon
    236.        at java.lang.Thread.sleep(Thread.java)
    237.        at java.lang.Thread.sleep(Thread.java:379)
    238.        at java.lang.Thread.sleep(Thread.java:321)
    239.        at java.lang.Daemons$FinalizerWatchdogDaemon.sleepFor(Daemons.java:314)
    240.        at java.lang.Daemons$FinalizerWatchdogDaemon.waitForFinalization(Daemons.java:336)
    241.        at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:253)
    242.        at java.lang.Thread.run(Thread.java:776)
    243.  
    244. #14. HeapTaskDaemon
    245.        at dalvik.system.VMRuntime.runHeapTasks(VMRuntime.java)
    246.        at java.lang.Daemons$HeapTaskDaemon.run(Daemons.java:433)
    247.        at java.lang.Thread.run(Thread.java:776)
    248.  
    249. #15. FinalizerDaemon
    250.        at libcore.io.Posix.close(Posix.java)
    251.        at libcore.io.BlockGuardOs.close(BlockGuardOs.java:102)
    252.        at libcore.io.IoBridge.closeAndSignalBlockedThreads(IoBridge.java:206)
    253.        at java.io.FileInputStream.close(FileInputStream.java:360)
    254.        at java.io.FileInputStream.finalize(FileInputStream.java:418)
    255.        at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:222)
    256.        at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:209)
    257.        at java.lang.Thread.run(Thread.java:776)
    258.  
    259. #16. Queue
    260.        at java.lang.Object.wait(Object.java)
    261.        at java.lang.Thread.parkFor$(Thread.java:2142)
    262.        at sun.misc.Unsafe.park(Unsafe.java:325)
    263.        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
    264.        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
    265.        at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
    266.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
    267.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
    268.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
    269.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
    270.        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
    271.        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    272.        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    273.        at java.lang.Thread.run(Thread.java:776)
    274.  
    275. #17. Queue
    276.        at java.lang.Object.wait(Object.java)
    277.        at java.lang.Thread.parkFor$(Thread.java:2142)
    278.        at sun.misc.Unsafe.park(Unsafe.java:325)
    279.        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
    280.        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
    281.        at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
    282.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
    283.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
    284.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
    285.        at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
    286.        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
    287.        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    288.        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    289.        at java.lang.Thread.run(Thread.java:776)
    290.  
     
  36. adamspector-jrg

    adamspector-jrg

    Joined:
    Mar 14, 2017
    Posts:
    4
    I'm getting the same crash above from crashlytics mostly on Samsung S6, S7. Is the answer to go low res with the static splash screen or to use the new Show Splash Screen option?

    Fatal Exception: java.lang.Error: FATAL EXCEPTION [main]
    Unity version : 5.6.2p4
    Device model : samsung SM-G920P
    Device fingerprint: samsung/zerofltespr/zerofltespr:6.0.1/MMB29K/G920PVPS4CQA2:user/release-keys


    Caused by java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@e8dd64b
    at android.graphics.Canvas.throwIfCannotDraw(Canvas.java:1305)
    at android.graphics.Canvas.drawBitmap(Canvas.java:1392)
    at android.graphics.Bitmap.createBitmap(Bitmap.java:897)
    at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:753)
    at com.unity3d.player.i.onLayout(Unknown Source)
    at android.view.View.layout(View.java:17945)
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:344)
    at android.widget.FrameLayout.onLayout(FrameLayout.java:281)
    at android.view.View.layout(View.java:17945)
    at android.view.ViewGroup.layout(ViewGroup.java:5812)
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:344)
    at android.widget.FrameLayout.onLayout(FrameLayout.java:281)
    at android.view.View.layout(View.java:17945)
    at android.view.ViewGroup.layout(ViewGroup.java:5812)
    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1742)
    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
    at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
    at android.view.View.layout(View.java:17945)
    at android.view.ViewGroup.layout(ViewGroup.java:5812)
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:344)
    at android.widget.FrameLayout.onLayout(FrameLayout.java:281)
    at android.view.View.layout(View.java:17945)
    at android.view.ViewGroup.layout(ViewGroup.java:5812)
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:344)
    at android.widget.FrameLayout.onLayout(FrameLayout.java:281)
    at com.android.internal.policy.PhoneWindow$DecorView.onLayout(PhoneWindow.java:3178)
    at android.view.View.layout(View.java:17945)
    at android.view.ViewGroup.layout(ViewGroup.java:5812)
    at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2716)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2417)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1487)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7450)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:920)
    at android.view.Choreographer.doCallbacks(Choreographer.java:695)
    at android.view.Choreographer.doFrame(Choreographer.java:631)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:906)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:158)
    at android.app.ActivityThread.main(ActivityThread.java:7237)
    at java.lang.reflect.Method.invoke(Method.java)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
     
    LucktasticWill likes this.
  37. cruelbob

    cruelbob

    Joined:
    May 26, 2014
    Posts:
    20
  38. adamspector-jrg

    adamspector-jrg

    Joined:
    Mar 14, 2017
    Posts:
    4
    Confirmed this is NOT working in 5.6.1p4 as suggested here: https://issuetracker.unity3d.com/is...t-with-high-resolution-of-static-splash-image

    Fatal Exception: java.lang.Error: FATAL EXCEPTION [main]
    Unity version : 5.6.1p4
    Device model : Amazon KFFOWI
    Device fingerprint: Amazon/full_ford/ford:5.1.1/LVY48F/37.5.7.9_user_579225620:user/release-keys


    Caused by java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@1e8d9f1c
    at android.graphics.Canvas.throwIfCannotDraw(Canvas.java:1282)
    at android.graphics.Canvas.drawBitmap(Canvas.java:1369)
    at android.graphics.Bitmap.createBitmap(Bitmap.java:796)
    at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:652)
    at com.unity3d.player.i.onLayout(Unknown Source)
    at android.view.View.layout(View.java:16067)
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
    at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
    at android.view.View.layout(View.java:16067)
    at android.view.ViewGroup.layout(ViewGroup.java:5051)
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
    at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
    at android.view.View.layout(View.java:16067)
    at android.view.ViewGroup.layout(ViewGroup.java:5051)
    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
    at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
    at android.view.View.layout(View.java:16067)
    at android.view.ViewGroup.layout(ViewGroup.java:5051)
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
    at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
    at android.view.View.layout(View.java:16067)
    at android.view.ViewGroup.layout(ViewGroup.java:5051)
    at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2122)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1879)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1090)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5982)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:781)
    at android.view.Choreographer.doCallbacks(Choreographer.java:592)
    at android.view.Choreographer.doFrame(Choreographer.java:560)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:767)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5484)
    at java.lang.reflect.Method.invoke(Method.java)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:984)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
     
  39. Yury-Habets

    Yury-Habets

    Unity Technologies

    Joined:
    Nov 18, 2013
    Posts:
    1,167
    Please try the latest patch release, there were more fixes to that IIRC. If you still face any issues - please submit a bug report and attach your project. Thanks!
     
  40. esben-tactile

    esben-tactile

    Joined:
    Jun 22, 2015
    Posts:
    1
    This problem is still not fixed in Unity 5.6.3p3. We do not use the new splash screen functionality with logos, but only show the Static Splash Image. We use a 1024x1024 texture and this causes the game to crash for a lot of users. We cant reproduce the issue ourselves, but from hockeyApp we have the following stack trace :

    java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@423c9b38
    at android.graphics.Canvas.throwIfCannotDraw(Canvas.java:1084)
    at android.graphics.Canvas.drawBitmap(Canvas.java:1170)
    at android.graphics.Bitmap.createBitmap(Bitmap.java:745)
    at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:602)
    at com.unity3d.player.i.onLayout(Unknown Source)
    at android.view.View.layout(View.java:15149)
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:515)
    at android.widget.FrameLayout.onLayout(FrameLayout.java:450)
    at android.view.View.layout(View.java:15149)
    at android.view.ViewGroup.layout(ViewGroup.java:4866)
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:515)
    at android.widget.FrameLayout.onLayout(FrameLayout.java:450)
    at android.view.View.layout(View.java:15149)
    at android.view.ViewGroup.layout(ViewGroup.java:4866)
    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1888)
    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1742)
    at android.widget.LinearLayout.onLayout(LinearLayout.java:1651)
    at android.view.View.layout(View.java:15149)
    at android.view.ViewGroup.layout(ViewGroup.java:4866)
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:515)
    at android.widget.FrameLayout.onLayout(FrameLayout.java:450)
    at android.view.View.layout(View.java:15149)
    at android.view.ViewGroup.layout(ViewGroup.java:4866)
    at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2342)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2048)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1211)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6282)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:788)
    at android.view.Choreographer.doCallbacks(Choreographer.java:591)
    at android.view.Choreographer.doFrame(Choreographer.java:560)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:774)
    at android.os.Handler.handleCallback(Handler.java:808)
    at android.os.Handler.dispatchMessage(Handler.java:103)
    at android.os.Looper.loop(Looper.java:193)
    at android.app.ActivityThread.main(ActivityThread.java:5341)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:825)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:641)
    at dalvik.system.NativeStart.main(Native Method)

    We have tried to replace the texture with a much smaller one 32x32 which makes the crash go away, but offcause this is not a solution that will work for us.
    When can we expect this issue to be fixed?

    Best
    Esben
     
  41. JuliusM

    JuliusM

    Unity Technologies

    Joined:
    Apr 17, 2013
    Posts:
    835
    If someone is able to reproduce this issue, please submit a bug report and let us know the case number. I've tried to use a 2048 x 2048 static splash screen image, built the project with Unity 5.6 and ran it on Samsung Galaxy S7 and Amazon Fire KFFOWI multiple times. The issue did not happen.
     
  42. jvaarala

    jvaarala

    Joined:
    Oct 1, 2016
    Posts:
    4
    We are seeing the exact same issue on the Google Play Developer console affecting some users, but we can't repro it in-house.

    Android 4.4, 5.0, 5.1, 6.0, 7.0, 7.1 devices.

    Also devices from 1GB to 4GB of RAM (low-end devices and very high end devices).

    E.g., Samsung Galaxy S7 Edge (hero2lte), 4096MB RAM, Android 7.0 is impacted (but low %).

    Top 5 devices (but it's all over ... many different devices affected):

    A7600-F (A7600-F)
    NS-P10A6100 (NS-P10A6100)
    sofia3gr
    Galaxy E7 (e7lte)
    10 Viking Pro
     
  43. TheChosenBlob

    TheChosenBlob

    Joined:
    Feb 26, 2015
    Posts:
    6
    We are also getting this crash and can't reproduce it locally.
    Same exact stack trace.
    We're using Unity 5.6.4f1 and our splash image is 960x640.

    Here is the device and OS stats from Crashlytics if it helps.
    Screen Shot 2017-11-01 at 9.44.28.png
     
  44. Yury-Habets

    Yury-Habets

    Unity Technologies

    Joined:
    Nov 18, 2013
    Posts:
    1,167
    If this is what I'm thinking of - then our Best People (tm) are on it!
     
    TheChosenBlob likes this.
  45. FedeDan

    FedeDan

    Joined:
    Apr 27, 2017
    Posts:
    1
    We are also seeing this issue come up in crashlytics and google play, is there any workaround / more detailed description of what's going on? Thanks!
     
    neonxu and TheChosenBlob like this.
  46. neonxu

    neonxu

    Joined:
    Nov 2, 2016
    Posts:
    12
    crash +1
     
  47. neonxu

    neonxu

    Joined:
    Nov 2, 2016
    Posts:
    12
    crash still in Unity 5.6.4p3

    MediaPad (hwt1701) 97 8.1%
    Galaxy J7(2016) (j7xelte) 49 4.1%
    LG X Style (k6b) 42 3.5%
    Galaxy J5(2016) (j5xnlte) 40 3.4%

    java.lang.Error: FATAL EXCEPTION [main] Unity version : 5.6.4p3 Device model : samsung SM-G550FY Device fingerprint: samsung/o5ltedd/o5lte:6.0.1/MMB29K/G550FYDDU1BQK2:user/release-keys Caused by

    at android.graphics.Canvas.throwIfCannotDraw (Canvas.java:1311)

    at android.graphics.Canvas.drawBitmap (Canvas.java:1398)

    at android.graphics.Bitmap.createBitmap (Bitmap.java:897)

    at android.graphics.Bitmap.createScaledBitmap (Bitmap.java:753)

    at com.unity3d.player.j.onLayout (Unknown Source)

    at android.view.View.layout (View.java:18010)

    at android.widget.FrameLayout.layoutChildren (FrameLayout.java:344)

    at android.widget.FrameLayout.onLayout (FrameLayout.java:281)

    at android.view.View.layout (View.java:18010)

    at android.view.ViewGroup.layout (ViewGroup.java:5817)

    at android.widget.FrameLayout.layoutChildren (FrameLayout.java:344)

    at android.widget.FrameLayout.onLayout (FrameLayout.java:281)

    at android.view.View.layout (View.java:18010)

    at android.view.ViewGroup.layout (ViewGroup.java:5817)

    at android.widget.LinearLayout.setChildFrame (LinearLayout.java:1742)

    at android.widget.LinearLayout.layoutVertical (LinearLayout.java:1585)

    at android.widget.LinearLayout.onLayout (LinearLayout.java:1494)

    at android.view.View.layout (View.java:18010)

    at android.view.ViewGroup.layout (ViewGroup.java:5817)

    at android.widget.FrameLayout.layoutChildren (FrameLayout.java:344)

    at android.widget.FrameLayout.onLayout (FrameLayout.java:281)

    at com.android.internal.policy.PhoneWindow$DecorView.onLayout (PhoneWindow.java:3175)

    at android.view.View.layout (View.java:18010)

    at android.view.ViewGroup.layout (ViewGroup.java:5817)

    at android.view.ViewRootImpl.performLayout (ViewRootImpl.java:2776)

    at android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:2477)

    at android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1544)

    at android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:7607)

    at android.view.Choreographer$CallbackRecord.run (Choreographer.java:911)

    at android.view.Choreographer.doCallbacks (Choreographer.java:686)

    at android.view.Choreographer.doFrame (Choreographer.java:622)

    at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:897)

    at android.os.Handler.handleCallback (Handler.java:739)

    at android.os.Handler.dispatchMessage (Handler.java:95)

    at android.os.Looper.loop (Looper.java:148)

    at android.app.ActivityThread.main (ActivityThread.java:7402)

    at java.lang.reflect.Method.invoke (Native Method)

    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1230)

    at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1120)
     
  48. AnnabelleD

    AnnabelleD

    Joined:
    Mar 2, 2017
    Posts:
    2
    I have the exact same error and same unity version (5.6.4p3)
     
  49. neonxu

    neonxu

    Joined:
    Nov 2, 2016
    Posts:
    12
    Any update?
    Our crash device list:
    MediaPad (hwt1701) 84 5.5%
    Galaxy J7(2016) (j7xelte) 65 4.2%
    Galaxy J7 Prime (on7xelte) 59 3.9%
    Galaxy J7 (j7elte) 57 3.7%
    Galaxy J5 (j5lte) 55 3.6%
    Galaxy J5 Prime (on5xelte) 44 2.9%
    Galaxy J7 (j7e3g) 34 2.2%
    LG K10 LTE (m253) 31 2.0%
    Galaxy J5(2016) (j5xnlte) 21 1.4%
    Y6II (HWCAM-H) 20 1.3%
    Moto G (3rd Gen) (osprey_uds) 19 1.2%
    CPH1701 (CPH1701) 19 1.2%
    Moto G (3rd Gen) (osprey_udstv) 17 1.1%
    k15_v8_skk 17 1.1%
    GT-810 (rolex) 16 1.0%
    Moto G4 Play (harpia_t) 16 1.0%
    Redmi 3S (land) 15 1.0%
    Moto G (2nd Gen) (titan_udstv) 13 0.8%
    LG X Style (k6b) 13 0.8%
    Moto G4 Play (harpia) 13 0.8%
    Other 904 59.0%
     
  50. JuliusM

    JuliusM

    Unity Technologies

    Joined:
    Apr 17, 2013
    Posts:
    835
    This issue was fixed in 2017.3.0f2, 2017.2.1p1 and 2017.1.2p4. We are planning to fix it in 5.6 as well, but I don't know the exact version number yet.
     
    neonxu likes this.