smartlook / smartlook-mobile-issue-tracker

Official Smartlook issue tracker for mobile SDKs
4 stars 0 forks source link

[Android] Version 1.8.8-native cause Out Of Memory Errors #135

Closed nmaingkolang closed 2 years ago

nmaingkolang commented 2 years ago

Platform Android

Technology Native

Smartlook SDK version 1.8.8-native

Summary No idea where this issue appears on, but it shows in our top three crashlytics monitoring

Relevant logs and/or screenshots Issue 1: ThreadLocalWorkSource.java line 68 android.os.ThreadLocalWorkSource.setUid

Fatal Exception: java.lang.OutOfMemoryError Failed to allocate a 16 byte allocation with 511032 free bytes and 499KB until OOM, target footprint 536870912, growth limit 536870912; failed due to fragmentation (largest possible contiguous allocation 0 bytes)

android.os.ThreadLocalWorkSource.setUid (ThreadLocalWorkSource.java:68)

sun.misc.Unsafe.park (Unsafe.java) java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:353) com.smartlook.v4$a.run (v4.java:637)

java.util.ArrayDeque.iterator (ArrayDeque.java:594) okhttp3.internal.connection.RealConnectionPool.cleanup (RealConnectionPool.java:173) okhttp3.internal.connection.RealConnectionPool.lambda$new$0 (RealConnectionPool.java:55) okhttp3.internal.connection.-$$Lambda$RealConnectionPool$Cy61BJKpsrwSB_hQmB_R9MngVNU.run (-.java:2) java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1167) java.lang.Thread.run (Thread.java:923)

sun.misc.Unsafe.park (Unsafe.java) java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:353) kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park (CoroutineScheduler.java:795) kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark (CoroutineScheduler.java:740) kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker (CoroutineScheduler.java:711) kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run (CoroutineScheduler.java:665)

Issue 2: Object.java java.lang.Object.wait

Fatal Exception: java.util.concurrent.TimeoutException com.android.internal.os.BinderInternal$GcWatcher.finalize() timed out after 10 seconds java.lang.Object.wait (Object.java)

java.lang.Object.wait (Object.java) java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:353) com.smartlook.v4$a.run (v4.java:637)

Issue 3: v4.java line 637 com.smartlook.v4$a.run

Fatal Exception: java.lang.OutOfMemoryError OutOfMemoryError thrown while trying to throw an exception; no stack trace available

sun.misc.Unsafe.park (Unsafe.java) java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:353) com.smartlook.v4$a.run (v4.java:637)

nmaingkolang commented 2 years ago

Issue 1: Operating systems 62% Android 11 36% Android 10 2% Android 12

Devices 41% OPPO 39% samsung 11% realme 5% Xiaome 4% Other

Device states 98% background

Issue 2: Operating systems 32% Android 11 23% Android 10 23% Android 8 21% Android 9 1% Other

Devices 51% samsung 19% Xiaomi 13% OPPO 5% asus 12% Other

Device states 76% background

Issue 3: Operating systems 49% Android 11 35% Android 10 9% Android 9 6% Android 8 1% Other

Devices 44% OPPO 29% samsung 16% realme 4% Xiaome 7% Other

Device states 91% background

nmaingkolang commented 2 years ago

For your info, after we downgrade to version 1.7.0-native, the crash is gone.

OndrejSynakSL commented 2 years ago

Hey @nmaingkolang, Thank you for reporting this issue. Upgrading to 1.8.10-native should help, we addressed these issues in the latest release.

nmaingkolang commented 2 years ago

Hi @OndrejSynakSL, thank you for the info. I will try to upgrade to 1.8.10-native on our next release (Next Week) and will be monitoring for one week after the release, if the problem goes away I will close this case.