brave-browser: Crash on accessing passwords

Description

There is a crash that some users experience when accessing a certain website to view a saved password via Settings->Passwords

Steps to reproduce

  1. Save a few passwords from some websites
  2. Go to Settings->Passwords
  3. Click on a certain website to view the password

Actual result

Some users experience a crash there. A full context could be found here https://community.brave.com/t/app-stopped-working-when-trying-to-access-passwords/448201. From what I can tell it happens on Samsung phones like Galaxy S21 and Galaxy Note20 and on the newest Android 13.

Expected result

no crash

Issue reproduces how often

We were not able to replicate it internally. We’ve tried that on a bunch of devices included the problem one Galaxy S21

Version/Channel Information:

  • Can you reproduce this issue with the current Play Store version?
  • Can you reproduce this issue with the current Play Store Beta version?
  • Can you reproduce this issue with the current Play Store Nightly version?

Device details

  • Install type (ARM, x86):
  • Device type (Phone, Tablet, Phablet):
  • Android version:

Brave version

Website problems only

  • Does the issue resolve itself when disabling Brave Shields?
  • Does the issue resolve itself when disabling Brave Rewards?
  • Is the issue reproducible on the latest version of Chrome?

Additional information

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 16 (7 by maintainers)

Most upvoted comments

@kjozwiak yeah, it was fully resolved via #27089 (comment), so basically that issue is a dup. I put a lable on it as duplicated, do we need to put milestones and etc on dup issues?

Nope, we can just remove all the labels/milestones other than the close/duplicate label 👍

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Typeface.getWeight()' on a null object reference
	at com.google.android.material.resources.TypefaceUtils.maybeCopyWithFontWeightAdjustment(TypefaceUtils.java:57)
	at com.google.android.material.internal.CollapsingTextHelper.setCollapsedTypefaceInternal(CollapsingTextHelper.java:482)
	at com.google.android.material.internal.CollapsingTextHelper.setTypefaces(CollapsingTextHelper.java:465)
	at com.google.android.material.textfield.TextInputLayout.setEditText(TextInputLayout.java:1441)
	at com.google.android.material.textfield.TextInputLayout.addView(TextInputLayout.java:706)
	at android.view.ViewGroup.addView(ViewGroup.java:5268)
	at android.view.LayoutInflater.rInflate(LayoutInflater.java:1149)
	at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1106)
	at android.view.LayoutInflater.rInflate(LayoutInflater.java:1148)
	at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1106)
	at android.view.LayoutInflater.rInflate(LayoutInflater.java:1148)
	at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1106)
	at android.view.LayoutInflater.rInflate(LayoutInflater.java:1148)
	at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1106)
	at android.view.LayoutInflater.inflate(LayoutInflater.java:692)
	at android.view.LayoutInflater.inflate(LayoutInflater.java:544)
	at org.chromium.chrome.browser.password_entry_edit.CredentialEditFragmentView.onCreateView(CredentialEditFragmentView.java:42)
	at androidx.fragment.app.Fragment.performCreateView(Fragment.java:3104)
	at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:557)
	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:272)
	at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1899)
	at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1817)
	at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1760)
	at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2988)
	at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:2898)
	at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:263)
	at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:351)
	at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:251)
	at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1510)
	at android.app.Activity.performStart(Activity.java:8603)
	at android.app.ActivityThread.handleStartActivity(ActivityThread.java:4191)
	at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
	at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
	at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2571)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loopOnce(Looper.java:226)
	at android.os.Looper.loop(Looper.java:313)
	at android.app.ActivityThread.main(ActivityThread.java:8741)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)