BranchMetrics / android-branch-deep-linking-attribution

The Branch Android SDK for deep linking and attribution. Branch helps mobile apps grow with deep links / deeplinks that power paid acquisition and re-engagement campaigns, referral programs, content sharing, deep linked emails, smart banners, custom user onboarding, and more.
https://docs.branch.io/pages/apps/android/
MIT License
401 stars 156 forks source link

Frequently getting crash io.branch.referral.Branch.checkIntentForSessionRestart #470

Closed saurabhdtu closed 7 years ago

saurabhdtu commented 7 years ago

Hi I am using branch android sdk This is my gradle dependency version compile('io.branch.sdk.android:library:2.+') { exclude module: 'answers-shim' } And here's the complete stacktrace

_#0. Crashed: main: 0 0 0x0000000000000000 at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3136) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3167) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2514) at android.app.ActivityThread.access$1000(ActivityThread.java:153) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1373) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:5529) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)

--

Fatal Exception: java.lang.RuntimeException: Unable to resume activity {com.threesixteen.app/com.threesixteen.app.ui.activities.MatchDashboardActivity}: java.lang.RuntimeException: Parcel android.os.Parcel@6be438a: Unmarshalling unknown type code 6881396 at offset 224 at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3136) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3167) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2514) at android.app.ActivityThread.access$1000(ActivityThread.java:153) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1373) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:5529) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629) Caused by java.lang.RuntimeException: Parcel android.os.Parcel@6be438a: Unmarshalling unknown type code 6881396 at offset 224 at android.os.Parcel.readValue(Parcel.java:2340) at android.os.Parcel.readArrayMapInternal(Parcel.java:2614) at android.os.BaseBundle.unparcel(BaseBundle.java:224) at android.os.BaseBundle.getBoolean(BaseBundle.java:663) at android.content.Intent.getBooleanExtra(Intent.java:5221) at io.branch.referral.Branch.checkIntentForSessionRestart(SourceFile:2440) at io.branch.referral.Branch.access$100(SourceFile:70) at io.branch.referral.Branch$BranchActivityLifeCycleObserver.onActivityResumed(SourceFile:2380) at android.app.Application.dispatchActivityResumed(Application.java:218) at android.app.Activity.onResume(Activity.java:1220) at android.support.v4.app.FragmentActivity.onResume(SourceFile:485) at com.threesixteen.app.ui.activities.BaseActivity.onResume(SourceFile:200) at com.threesixteen.app.ui.activities.MatchDashboardActivity.onResume(SourceFile:368) at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1259) at android.app.Activity.performResume(Activity.java:6379) at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3125) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3167) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2514) at android.app.ActivityThread.access$1000(ActivityThread.java:153) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1373) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:5529) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)

0. Crashed: main: 0 0 0x0000000000000000

   at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3136)
   at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3167)
   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2514)
   at android.app.ActivityThread.access$1000(ActivityThread.java:153)
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1373)
   at android.os.Handler.dispatchMessage(Handler.java:102)
   at android.os.Looper.loop(Looper.java:154)
   at android.app.ActivityThread.main(ActivityThread.java:5529)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)

1. Measurement Worker

   at java.lang.Object.wait(Object.java)
   at java.lang.Object.wait(Object.java:423)
   at com.google.android.gms.internal.zzcgk.run(Unknown Source)

2. OkHttp ConnectionPool

   at java.lang.Object.wait(Object.java)
   at com.android.okhttp.ConnectionPool.performCleanup(ConnectionPool.java:307)
   at com.android.okhttp.ConnectionPool.runCleanupUntilPoolIsEmpty(ConnectionPool.java:244)
   at com.android.okhttp.ConnectionPool.access$000(ConnectionPool.java:54)
   at com.android.okhttp.ConnectionPool$1.run(ConnectionPool.java:98)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)

3. Queue

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:1220)
   at sun.misc.Unsafe.park(Unsafe.java:299)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
   at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:510)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(SourceFile:197)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(SourceFile:236)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(SourceFile:65)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(SourceFile:46)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)

4. FinalizerWatchdogDaemon

   at java.lang.Thread.sleep(Thread.java)
   at java.lang.Thread.sleep(Thread.java:1031)
   at java.lang.Thread.sleep(Thread.java:985)
   at java.lang.Daemons$FinalizerWatchdogDaemon.sleepFor(Daemons.java:324)
   at java.lang.Daemons$FinalizerWatchdogDaemon.waitForFinalization(Daemons.java:346)
   at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:263)
   at java.lang.Thread.run(Thread.java:818)

5. main

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:1220)
   at sun.misc.Unsafe.park(Unsafe.java:299)
   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
   at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:418)
   at java.util.concurrent.FutureTask.get(FutureTask.java:175)
   at com.crashlytics.android.core.CrashlyticsBackgroundWorker.submitAndWait(SourceFile:41)
   at com.crashlytics.android.core.CrashlyticsController.handleUncaughtException(SourceFile:285)
   at com.crashlytics.android.core.CrashlyticsController$5.onUncaughtException(SourceFile:269)
   at com.crashlytics.android.core.CrashlyticsUncaughtExceptionHandler.uncaughtException(SourceFile:30)
   at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
   at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)

6. ReferenceQueueDaemon

   at java.lang.Object.wait(Object.java)
   at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:152)
   at java.lang.Thread.run(Thread.java:818)

7. pool-3-thread-1

   at com.android.org.conscrypt.NativeCrypto.SSL_read(NativeCrypto.java)
   at com.android.org.conscrypt.OpenSSLSocketImpl$SSLInputStream.read(OpenSSLSocketImpl.java:705)
   at com.android.okhttp.okio.Okio$2.read(Okio.java:135)
   at com.android.okhttp.okio.AsyncTimeout$2.read(AsyncTimeout.java:211)
   at com.android.okhttp.okio.RealBufferedSource.indexOf(RealBufferedSource.java:306)
   at com.android.okhttp.okio.RealBufferedSource.indexOf(RealBufferedSource.java:300)
   at com.android.okhttp.okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:196)
   at com.android.okhttp.internal.http.HttpConnection.readResponse(HttpConnection.java:191)
   at com.android.okhttp.internal.http.HttpTransport.readResponseHeaders(HttpTransport.java:80)
   at com.android.okhttp.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:905)
   at com.android.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:789)
   at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:443)
   at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:388)
   at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:501)
   at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:105)
   at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:25)
   at com.facebook.GraphResponse.fromHttpConnection(SourceFile:253)
   at com.facebook.GraphRequest.executeConnectionAndWait(SourceFile:1270)
   at com.facebook.GraphRequest.executeBatchAndWait(SourceFile:1168)
   at com.facebook.GraphRequest.executeBatchAndWait(SourceFile:1134)
   at com.facebook.GraphRequest.executeBatchAndWait(SourceFile:1118)
   at com.facebook.GraphRequest.executeAndWait(SourceFile:1093)
   at com.facebook.GraphRequest.executeAndWait(SourceFile:987)
   at com.facebook.appevents.AppEventQueue.sendEventsToServer(SourceFile:183)
   at com.facebook.appevents.AppEventQueue.flushAndWait(SourceFile:134)
   at com.facebook.appevents.AppEventQueue$3.run(SourceFile:89)
   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
   at java.util.concurrent.FutureTask.run(FutureTask.java:237)
   at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:154)
   at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:269)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)

8. AsyncTask #8

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:1220)
   at sun.misc.Unsafe.park(Unsafe.java:299)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)

9. pool-4-thread-1

   at android.database.sqlite.SQLiteConnection.nativeExecuteForLastInsertedRowId(SQLiteConnection.java)
   at android.database.sqlite.SQLiteConnection.executeForLastInsertedRowId(SQLiteConnection.java:780)
   at android.database.sqlite.SQLiteSession.executeForLastInsertedRowId(SQLiteSession.java:788)
   at android.database.sqlite.SQLiteStatement.executeInsert(SQLiteStatement.java:86)
   at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1471)
   at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1341)
   at com.clevertap.android.sdk.DBAdapter.storeObject(SourceFile:154)
   at com.clevertap.android.sdk.QueueManager.queueEventToDB(SourceFile:229)
   at com.clevertap.android.sdk.QueueManager.processEvent(SourceFile:211)
   at com.clevertap.android.sdk.QueueManager.addToQueue(SourceFile:164)
   at com.clevertap.android.sdk.QueueManager$1.run(SourceFile:50)
   at com.clevertap.android.sdk.CleverTapAPI$1.run(SourceFile:200)
   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
   at java.util.concurrent.FutureTask.run(FutureTask.java:237)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)

10. pool-9-thread-1

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:1220)
   at sun.misc.Unsafe.park(Unsafe.java:299)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)

11. TcmReceiver

   at android.net.LocalSocketImpl.readba_native(LocalSocketImpl.java)
   at android.net.LocalSocketImpl.access$400(LocalSocketImpl.java:33)
   at android.net.LocalSocketImpl$SocketInputStream.read(LocalSocketImpl.java:101)
   at com.qti.tcmclient.DpmTcmClient$TcmReceiver.run(DpmTcmClient.java:140)
   at java.lang.Thread.run(Thread.java:818)

12. Queue

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:1220)
   at sun.misc.Unsafe.park(Unsafe.java:299)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
   at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:510)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(SourceFile:197)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(SourceFile:236)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(SourceFile:65)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(SourceFile:46)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)

13. Queue

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:1220)
   at sun.misc.Unsafe.park(Unsafe.java:299)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
   at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:510)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(SourceFile:197)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(SourceFile:236)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(SourceFile:65)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(SourceFile:46)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)

14. AsyncTask #6

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:1220)
   at sun.misc.Unsafe.park(Unsafe.java:299)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)

15. AsyncTask #4

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:1220)
   at sun.misc.Unsafe.park(Unsafe.java:299)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)

16. AsyncTask #7

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:1220)
   at sun.misc.Unsafe.park(Unsafe.java:299)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)

17. Answers Events Handler1

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:1220)
   at sun.misc.Unsafe.park(Unsafe.java:299)
   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2053)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1090)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:806)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at io.fabric.sdk.android.services.common.ExecutorUtils$1$1.onRun(SourceFile:75)
   at io.fabric.sdk.android.services.common.BackgroundPriorityRunnable.run(SourceFile:30)
   at java.lang.Thread.run(Thread.java:818)

18. pool-10-thread-1

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:1220)
   at sun.misc.Unsafe.park(Unsafe.java:299)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1078)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:806)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)

19. AsyncTask #9

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:1220)
   at sun.misc.Unsafe.park(Unsafe.java:299)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)

20. AsyncTask #5

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:1220)
   at sun.misc.Unsafe.park(Unsafe.java:299)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)

21. pool-2-thread-1

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:1220)
   at sun.misc.Unsafe.park(Unsafe.java:299)
   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2053)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1090)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:806)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)

22. Okio Watchdog

   at java.lang.Object.wait(Object.java)
   at com.android.okhttp.okio.AsyncTimeout.awaitTimeout(AsyncTimeout.java:311)
   at com.android.okhttp.okio.AsyncTimeout.access$000(AsyncTimeout.java:40)
   at com.android.okhttp.okio.AsyncTimeout$Watchdog.run(AsyncTimeout.java:286)

23. pool-1-thread-1

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:1220)
   at sun.misc.Unsafe.park(Unsafe.java:299)
   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2053)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1090)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:806)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)

24. AsyncTask #1

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:1220)
   at sun.misc.Unsafe.park(Unsafe.java:299)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)

25. Queue

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:1220)
   at sun.misc.Unsafe.park(Unsafe.java:299)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
   at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:510)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(SourceFile:197)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(SourceFile:236)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(SourceFile:65)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(SourceFile:46)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)

26. OkHttp ConnectionPool

   at java.lang.Object.wait(Object.java)
   at okhttp3.ConnectionPool$1.run(SourceFile:67)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)

27. AsyncTask #3

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:1220)
   at sun.misc.Unsafe.park(Unsafe.java:299)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)

28. FileObserver

   at android.os.FileObserver$ObserverThread.observe(FileObserver.java)
   at android.os.FileObserver$ObserverThread.run(FileObserver.java:85)

29. Queue

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:1220)
   at sun.misc.Unsafe.park(Unsafe.java:299)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
   at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:510)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(SourceFile:197)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(SourceFile:236)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(SourceFile:65)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(SourceFile:46)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)

30. Crashlytics Exception Handler1

   at dalvik.system.VMStack.getThreadStackTrace(VMStack.java)
   at java.lang.Thread.getStackTrace(Thread.java:580)
   at java.lang.Thread.getAllStackTraces(Thread.java:522)
   at com.crashlytics.android.core.CrashlyticsController.writeSessionEvent(SourceFile:1114)
   at com.crashlytics.android.core.CrashlyticsController.writeFatal(SourceFile:852)
   at com.crashlytics.android.core.CrashlyticsController.access$400(SourceFile:59)
   at com.crashlytics.android.core.CrashlyticsController$6.call(SourceFile:292)
   at com.crashlytics.android.core.CrashlyticsController$6.call(SourceFile:285)
   at java.util.concurrent.FutureTask.run(FutureTask.java:237)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at io.fabric.sdk.android.services.common.ExecutorUtils$1$1.onRun(SourceFile:75)
   at io.fabric.sdk.android.services.common.BackgroundPriorityRunnable.run(SourceFile:30)
   at java.lang.Thread.run(Thread.java:818)

31. HeapTaskDaemon

   at dalvik.system.VMRuntime.runHeapTasks(VMRuntime.java)
   at java.lang.Daemons$HeapTaskDaemon.run(Daemons.java:443)
   at java.lang.Thread.run(Thread.java:818)

32. FinalizerDaemon

   at java.lang.Object.wait(Object.java)
   at java.lang.Object.wait(Object.java:423)
   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:101)
   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:72)
   at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:217)
   at java.lang.Thread.run(Thread.java:818)

33. AsyncTask #2

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:1220)
   at sun.misc.Unsafe.park(Unsafe.java:299)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)

34. Queue

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:1220)
   at sun.misc.Unsafe.park(Unsafe.java:299)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
   at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:510)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(SourceFile:197)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(SourceFile:236)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(SourceFile:65)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(SourceFile:46)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)

35. Queue

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:1220)
   at sun.misc.Unsafe.park(Unsafe.java:299)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
   at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:510)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(SourceFile:197)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(SourceFile:236)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(SourceFile:65)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(SourceFile:46)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)

36. OkHttp ConnectionPool

   at java.lang.Object.wait(Object.java)
   at okhttp3.ConnectionPool$1.run(SourceFile:67)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)

37. Queue

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:1220)
   at sun.misc.Unsafe.park(Unsafe.java:299)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
   at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:510)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(SourceFile:197)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(SourceFile:236)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(SourceFile:65)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(SourceFile:46)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)

38. Queue

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:1220)
   at sun.misc.Unsafe.park(Unsafe.java:299)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
   at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:510)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(SourceFile:197)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(SourceFile:236)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(SourceFile:65)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(SourceFile:46)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)

39. pool-7-thread-1

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:1220)
   at sun.misc.Unsafe.park(Unsafe.java:299)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)_
sojanpr commented 7 years ago

@saurabhdtu We are sorry that you are getting this issue. It looks like a parcel exception. Basically Branch is trying to read a values from your intent extras and some how your intent has an object added to it which fails to parcel. Can you pleas help us to diagnose more into this issue with the following

  1. Are you putting any extra parcelable class with your intent? If so can you please check the parcel read and write methods that your reading and writing order and data type is the same?
  2. If the above didn't help can you please give us the step you do inorder to reproduce the error?
saurabhdtu commented 7 years ago

Thanks. I'll look into this and get back to you

sojanpr commented 7 years ago

@saurabhdtu Did you get a chance to check this issue? We have release v2.12.0 which has a safety catch for the crash issue (Even though this is not caused by Branch SDK)

giperwlad commented 7 years ago

@sojanpr, this crash occurs after release v2.12.0.

  Caused by java.lang.RuntimeException: Parcel android.os.Parcel@3d8551c:       Unmarshalling unknown type code 4784212 at offset 3900
   at android.os.Parcel.readValue(Parcel.java:2340)
   at android.os.Parcel.readArrayMapInternal(Parcel.java:2614)
   at android.os.BaseBundle.unparcel(BaseBundle.java:221)
   at android.os.BaseBundle.getBoolean(BaseBundle.java:659)
   at android.content.Intent.getBooleanExtra(Intent.java:6049)
   at io.branch.referral.Branch.checkIntentForSessionRestart(Branch.java:2446)
   at io.branch.referral.Branch.access$1000(Branch.java:71)
   at io.branch.referral.Branch$BranchActivityLifeCycleObserver.onActivityResumed(Branch.java:2380)
   at android.app.Application.dispatchActivityResumed(Application.java:238)
   at android.app.Activity.onResume(Activity.java:1372)
   at android.support.v4.app.FragmentActivity.onResume(FragmentActivity.java:485)
   at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1286)
   at android.app.Activity.performResume(Activity.java:6987)
   at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4144)
   at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4245)
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1838)
   at android.os.Handler.dispatchMessage(Handler.java:102)
   at android.os.Looper.loop(Looper.java:158)
   at android.app.ActivityThread.main(ActivityThread.java:7224)
   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)
EvangelosG commented 7 years ago

Hi @giperwlad -- Thanks for letting us know. How are you reproducing the crash? Please provide steps. Also, are you putting any extra parcelable class with your intent? If so can you please check the parcel read and write methods so that your reading and writing order and data type is the same? Are your intents being modified by other SDKs, when providing steps let us know what's in your build.gradle file.

EvangelosG commented 7 years ago

Hi @giperwlad -- I expanded the safety of our try catch to cover your scenario in this branch: https://github.com/BranchMetrics/android-branch-deep-linking/tree/Unmarshalling-fix - if you could test with it since we don't know how to reproduce the error, that would be great! We'll be running this through QA and shipping it this week.

giperwlad commented 7 years ago

Hi @EvangelosG. I'm not putting parcelable classes with intent. I can not reproduce this crash. I received crash report with Fabric (http://crashes.to/s/b8a231bd95c). I will try to reproduce this crash.

Thanks very much.

My gradle dependencies:

     //ORM, DATABASE
compile project(':ActiveAndroid')
compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:2.0.1'

//SUPPORT
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
compile 'com.android.support:recyclerview-v7:25.3.1'
compile 'com.android.support:multidex:1.0.1'
compile 'com.google.android.gms:play-services-location:10.2.4'

//FABRIC
compile('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') {
    transitive = true;
}
// FLURRY
compile 'com.flurry.android:analytics:6.3.1'

//ANNOTATIONS
compile 'com.intellij:annotations:12.0'

//NETWORKING
compile 'com.squareup.okhttp3:logging-interceptor:3.8.1'
compile 'com.squareup.retrofit2:retrofit:2.3.0'
compile 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'
compile 'com.squareup.okhttp3:okhttp:3.8.1'
compile 'com.squareup.retrofit2:converter-gson:2.2.0'

//FACEBOOK
compile 'com.facebook.android:facebook-android-sdk:4.25.0'

//FCM
compile 'com.google.firebase:firebase-core:10.2.4'
compile 'com.google.firebase:firebase-messaging:10.2.4'

//RX
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'io.reactivex.rxjava2:rxjava:2.1.2'

//EVENT BUS
compile 'org.greenrobot:eventbus:3.0.0'

//UI
compile 'com.github.devlight:infinitecycleviewpager:1.0.2'
compile 'com.merhold.extensiblepageindicator:extensiblepageindicator:1.0.1'
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.daimajia.androidanimations:library:2.2@aar'
compile 'com.nightonke:jellytogglebutton:1.0.2'
compile('com.afollestad.material-dialogs:core:0.9.4.5') {
    exclude group: 'com.android.support'
}

//INTERCOM
compile 'io.intercom.android:intercom-sdk-base:3.2.3'
compile 'io.intercom.android:intercom-sdk-fcm:3.2.1'

//STRIPE
compile 'com.stripe:stripe-android:2.0.0'

//MAPBOX

compile('com.mapbox.mapboxsdk:mapbox-android-sdk:5.1.2@aar') {
    transitive = true    }

compile 'com.mapbox.mapboxsdk:mapbox-android-plugin-locationlayer:0.2.0-SNAPSHOT'

//SECURE PREFERENCES
compile 'com.scottyab:secure-preferences-lib:0.1.4'

compile('com.madgag.spongycastle:core:1.54.0.0')
compile('com.madgag.spongycastle:prov:1.54.0.0')

//FONTS
compile 'uk.co.chrisjenx:calligraphy:2.3.0'
EvangelosG commented 7 years ago

Hi @giperwlad -- thanks for the gradle file. We've seen before that FB creates this intent issue. I wrote a safer try/catch to handle it. Thanks for your patience, I'll post here once we publish. In the meantime if you want to ship sooner you can build with this branch: https://github.com/BranchMetrics/android-branch-deep-linking/tree/Unmarshalling-fix

saurabhdtu commented 7 years ago

Is it possible to build this branch (Unmarshalling-fix) using gradle? or Do I have to clone and compile the code as a module in my project? Should I compile this compile('io.branch.sdk.android:library:2.12.0') { exclude module: 'answers-shim' }

???? Will this work?

saurabhdtu commented 7 years ago

Getting a different crash now. io.branch.referral.Branch.checkIntentForSessionRestart nq -> Its minified name for my class, which has is never passed on the Splash Screen in the intent Is some class/member getting minified in the branch sdk ?

Fatal Exception: java.lang.RuntimeException: Unable to resume activity {com.app/com.app.ui.activities.SplashActivity}: java.lang.RuntimeException: Parcelable encountered ClassNotFoundException reading a Serializable object (name = nq$m) at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2986) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3017) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2392) at android.app.ActivityThread.access$800(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) 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:902) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:697) Caused by java.lang.RuntimeException: Parcelable encountered ClassNotFoundException reading a Serializable object (name = nq$m) at android.os.Parcel.readSerializable(Parcel.java:2384) at android.os.Parcel.readValue(Parcel.java:2203) at android.os.Parcel.readArrayMapInternal(Parcel.java:2485) at android.os.BaseBundle.unparcel(BaseBundle.java:221) at android.os.BaseBundle.getBoolean(BaseBundle.java:658) at android.content.Intent.getBooleanExtra(Intent.java:4927) at io.branch.referral.Branch.checkIntentForSessionRestart(SourceFile:2440) at io.branch.referral.Branch.access$100(SourceFile:70) at io.branch.referral.Branch$BranchActivityLifeCycleObserver.onActivityResumed(SourceFile:2380) at android.app.Application.dispatchActivityResumed(Application.java:208) at android.app.Activity.onResume(Activity.java:1229) at android.support.v4.app.FragmentActivity.onResume(SourceFile:485) at com.threesixteen.app.ui.activities.BaseActivity.onResume(SourceFile:186) at com.threesixteen.app.ui.activities.SplashActivity.onResume(SourceFile:113) at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1257) at android.app.Activity.performResume(Activity.java:6119) at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2975) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3017) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2392) at android.app.ActivityThread.access$800(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) 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:902) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:697) Caused by java.lang.ClassNotFoundException: nq$m at java.lang.Class.classForName(Class.java) at java.lang.Class.forName(Class.java:309) at android.os.Parcel$2.resolveClass(Parcel.java:2370) at java.io.ObjectInputStream.readEnumDescInternal(ObjectInputStream.java:1551) at java.io.ObjectInputStream.readEnumDesc(ObjectInputStream.java:1532) at java.io.ObjectInputStream.readEnum(ObjectInputStream.java:1577) at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:767) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1983) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1940) at android.os.Parcel.readSerializable(Parcel.java:2378) at android.os.Parcel.readValue(Parcel.java:2203) at android.os.Parcel.readArrayMapInternal(Parcel.java:2485) at android.os.BaseBundle.unparcel(BaseBundle.java:221) at android.os.BaseBundle.getBoolean(BaseBundle.java:658) at android.content.Intent.getBooleanExtra(Intent.java:4927) at io.branch.referral.Branch.checkIntentForSessionRestart(SourceFile:2440) at io.branch.referral.Branch.access$100(SourceFile:70) at io.branch.referral.Branch$BranchActivityLifeCycleObserver.onActivityResumed(SourceFile:2380) at android.app.Application.dispatchActivityResumed(Application.java:208) at android.app.Activity.onResume(Activity.java:1229) at android.support.v4.app.FragmentActivity.onResume(SourceFile:485) at com.threesixteen.app.ui.activities.BaseActivity.onResume(SourceFile:186) at com.threesixteen.app.ui.activities.SplashActivity.onResume(SourceFile:113) at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1257) at android.app.Activity.performResume(Activity.java:6119) at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2975) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3017) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2392) at android.app.ActivityThread.access$800(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) 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:902) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:697) Caused by java.lang.ClassNotFoundException: Didn't find class "nq$m" on path: DexPathList[[zip file "/data/app/com.threesixteen.app-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at java.lang.Class.classForName(Class.java) at java.lang.Class.forName(Class.java:309) at android.os.Parcel$2.resolveClass(Parcel.java:2370) at java.io.ObjectInputStream.readEnumDescInternal(ObjectInputStream.java:1551) at java.io.ObjectInputStream.readEnumDesc(ObjectInputStream.java:1532) at java.io.ObjectInputStream.readEnum(ObjectInputStream.java:1577) at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:767) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1983) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1940) at android.os.Parcel.readSerializable(Parcel.java:2378) at android.os.Parcel.readValue(Parcel.java:2203) at android.os.Parcel.readArrayMapInternal(Parcel.java:2485) at android.os.BaseBundle.unparcel(BaseBundle.java:221) at android.os.BaseBundle.getBoolean(BaseBundle.java:658) at android.content.Intent.getBooleanExtra(Intent.java:4927) at io.branch.referral.Branch.checkIntentForSessionRestart(SourceFile:2440) at io.branch.referral.Branch.access$100(SourceFile:70) at io.branch.referral.Branch$BranchActivityLifeCycleObserver.onActivityResumed(SourceFile:2380) at android.app.Application.dispatchActivityResumed(Application.java:208) at android.app.Activity.onResume(Activity.java:1229) at android.support.v4.app.FragmentActivity.onResume(SourceFile:485) at com.threesixteen.app.ui.activities.BaseActivity.onResume(SourceFile:186) at com.threesixteen.app.ui.activities.SplashActivity.onResume(SourceFile:113) at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1257) at android.app.Activity.performResume(Activity.java:6119) at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2975) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3017) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2392) at android.app.ActivityThread.access$800(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) 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:902) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:697)

sojanpr commented 7 years ago

@saurabhdtu looks like you are adding a Parcelable object to your intent in your application. The object nq is added to the intent as a parcelable extra while the intent is created and in your application some how there is no definition for that class. Can you please check if you missed to add any library that has the class for the above parcelable.

Can you please help with the following questions to solve this quickly 1) How are you creating the intent to open the app? 2) If you are clicking some links to open the app can you please specify the link you use and how you create that

saurabhdtu commented 7 years ago

I am not adding any parcelable data in my Intent. The crash occurs when users click on the branch link that is generated in the app. An d the crash occurs on SplashScreen itself. The SplashScreen is the launch screen of the app. This is the declaration in the manifest file

 <activity
        android:name=".ui.activities.SplashActivity"
        android:launchMode="standard"
        android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

 <intent-filter>
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <action android:name="android.intent.action.VIEW" />

            <data
                android:host="rooter.app.link"
                android:scheme="https" />
            <data
                android:host="rooter.app.link"
                android:scheme="http" />
            <data
                android:host="rooter.app.link"
                android:scheme="rooter.io://" />
            <data
                android:host="rooter.test-app.link"
                android:scheme="http" />
            <data
                android:host="rooter.test-app.link"
                android:scheme="https" />
            <data
                android:host="rooter.test-app.link"
                android:scheme="test-rooter.io://" />
        </intent-filter>
    </activity>
sojanpr commented 7 years ago

@saurabhdtu From the logs it is cleat that there is no definition of a class nq. Is it your class to is it something added from other libs? Caused by java.lang.ClassNotFoundException: Didn't find class "nq$m" on path: DexPathList[[zip file "/data/app/com.threesixteen.app-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]] I suspect that this class is a Parcelalble class and somehow added to the intent.

Can you please make sure you are adding MultiDex support for your application. ( If your app exceed dex limit and if you don't have multidex support then there is chance to for java.lang.ClassNotFoundException )