Skip to content

Crash in PortfolioFragment #28452

Closed
brave/brave-core
#17162

Description

I found that crash in GPS in 1.48.160. We need to fix and uplift it to a stable channel. As I understood looking on a crash stack it happens when we fetch a balance on Portfolio screen in wallet.

Exception java.lang.NullPointerException:
  at org.chromium.chrome.browser.crypto_wallet.util.TokenUtils.getUserAssetsFiltered (TokenUtils.java:79)
  at org.chromium.chrome.browser.crypto_wallet.util.TokenUtils.getUserOrAllTokensFiltered (TokenUtils.java:115)
  at org.chromium.chrome.browser.crypto_wallet.util.Utils.getTxExtraInfo (Utils.java:1527)
  at org.chromium.chrome.browser.crypto_wallet.util.PortfolioHelper.calculateBalances (PortfolioHelper.java:109)
  at org.chromium.chrome.browser.crypto_wallet.fragments.PortfolioFragment.lambda$updatePortfolioGetPendingTx$19 (PortfolioFragment.java:439)
  at org.chromium.chrome.browser.crypto_wallet.fragments.PortfolioFragment$$InternalSyntheticLambda$2$484b37846b5ccf3825f3207ea5d15a01ee215f3a5e3602f61b9737ec70817350$0.onChanged (PortfolioFragment.java:33)
  at org.chromium.chrome.browser.util.LiveDataUtil$1.onChanged (LiveDataUtil.java:17)
  at androidx.lifecycle.LiveData.considerNotify (LiveData.java:133)
  at androidx.lifecycle.MutableLiveData.considerNotify (MutableLiveData.java:30)
  at androidx.lifecycle.LiveData.dispatchingValue (LiveData.java:146)
  at androidx.lifecycle.MutableLiveData.dispatchingValue (MutableLiveData.java:16)
  at androidx.lifecycle.LiveData$ObserverWrapper.activeStateChanged (LiveData.java:483)
  at androidx.lifecycle.LiveData.observeForever (LiveData.java:234)
  at androidx.lifecycle.MutableLiveData.observeForever (MutableLiveData.java:27)
  at org.chromium.chrome.browser.util.LiveDataUtil.observeOnce (LiveDataUtil.java:13)
  at org.chromium.chrome.browser.crypto_wallet.fragments.PortfolioFragment.lambda$updatePortfolioGetPendingTx$20 (PortfolioFragment.java:431)
  at org.chromium.chrome.browser.crypto_wallet.fragments.PortfolioFragment$$InternalSyntheticLambda$1$c134bd43ccb5619d8b83779bb9ef5d7a50aeac465b9effd302b72478b30eb585$0.call$bridge (PortfolioFragment.java:45)
  at org.chromium.chrome.browser.app.domain.KeyringModel.getKeyringPerId (KeyringModel.java:247)
  at org.chromium.chrome.browser.crypto_wallet.fragments.PortfolioFragment.updatePortfolioGetPendingTx (PortfolioFragment.java:421)
  at org.chromium.chrome.browser.crypto_wallet.fragments.PortfolioFragment.lambda$setUpObservers$3 (PortfolioFragment.java:195)
  at org.chromium.chrome.browser.crypto_wallet.fragments.PortfolioFragment$$InternalSyntheticLambda$3$376baa504b705602c0c3178a9ebced4b462570a1e063c5bb6b1e1550caf6c946$0.onChanged$bridge (PortfolioFragment.java:267)
  at androidx.lifecycle.LiveData.considerNotify (LiveData.java:133)
  at androidx.lifecycle.MutableLiveData.considerNotify (MutableLiveData.java:30)
  at androidx.lifecycle.LiveData.dispatchingValue (LiveData.java:146)
  at androidx.lifecycle.MutableLiveData.dispatchingValue (MutableLiveData.java:16)
  at androidx.lifecycle.LiveData$ObserverWrapper.activeStateChanged (LiveData.java:483)
  at androidx.lifecycle.LiveData$LifecycleBoundObserver.onStateChanged (LiveData.java:440)
  at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent (LifecycleRegistry.kt:314)
  at androidx.lifecycle.LifecycleRegistry.forwardPass (LifecycleRegistry.kt:251)
  at androidx.lifecycle.LifecycleRegistry.sync (LifecycleRegistry.kt:287)
  at androidx.lifecycle.LifecycleRegistry.moveToState (LifecycleRegistry.kt:136)
  at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent (LifecycleRegistry.kt:119)
  at androidx.fragment.app.FragmentViewLifecycleOwner.handleLifecycleEvent (FragmentViewLifecycleOwner.java:100)
  at androidx.fragment.app.Fragment.performStart (Fragment.java:3184)
  at androidx.fragment.app.FragmentStateManager.start (FragmentStateManager.java:625)
  at androidx.fragment.app.FragmentStateManager.moveToExpectedState (FragmentStateManager.java:290)
  at androidx.fragment.app.FragmentStore.moveToExpectedState (FragmentStore.java:114)
  at androidx.fragment.app.FragmentManager.moveToState (FragmentManager.java:1433)
  at androidx.fragment.app.FragmentManagerImpl.moveToState (FragmentManagerImpl.java:58)
  at androidx.fragment.app.FragmentManager.dispatchStateChange (FragmentManager.java:2980)
  at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange (FragmentManagerImpl.java:34)
  at androidx.fragment.app.FragmentManager.dispatchStart (FragmentManager.java:2905)
  at androidx.fragment.app.FragmentController.dispatchStart (FragmentController.java:274)
  at androidx.fragment.app.FragmentActivity.onStart (FragmentActivity.java:359)
  at androidx.appcompat.app.AppCompatActivity.onStart (AppCompatActivity.java:251)
  at org.chromium.chrome.browser.init.AsyncInitializationActivity.onStart (AsyncInitializationActivity.java:490)
  at android.app.Instrumentation.callActivityOnStart (Instrumentation.java:1419)
  at android.app.Activity.performStart (Activity.java:7479)
  at android.app.ActivityThread.handleStartActivity (ActivityThread.java:3454)
  at android.app.servertransaction.TransactionExecutor.performLifecycleSequence (TransactionExecutor.java:180)
  at android.app.servertransaction.TransactionExecutor.cycleToPath (TransactionExecutor.java:165)
  at android.app.servertransaction.TransactionExecutor.executeLifecycleState (TransactionExecutor.java:142)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:70)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2199)
  at android.os.Handler.dispatchMessage (Handler.java:112)
  at android.os.Looper.loop (Looper.java:216)
  at android.app.ActivityThread.main (ActivityThread.java:7625)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:524)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:987)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

Type

No type

Projects

  • Status

    Done

Relationships

None yet

Development

No branches or pull requests

Issue actions