[BWA-228] The system crashed while viewing a password item.
- Dominant language
- Kotlin
- Stars
- 9.4k
- Forks
- 1.1k
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 67
Description
### Steps To Reproduce
The system crashed while viewing a password item.
### Expected Result
I used the third-party client Keyguard to check this password item, and it didn't crash! I asked Chatgpt, and Bitwarden mentioned a UI bug on the Android side (Jetpack Compose's LazyColumn key conflict)! Compose doesn't allow it, throwing an exception directly → App crashes.
### Actual Result
Then I checked the password item, and I tried to check two identical tags. I only saw two blank tags. I deleted one of the blank tags, and then it stopped crashing! It's really funny!
### Screenshots or Videos
java.lang.IllegalArgumentException: Key "customField_TextField(id=953827747, name=, value=, isCopyable=false)" was already used. If you are using LazyColumn/Row please make sure you provide a unique key for each item.
at d4.a.a(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:3)
at e4.j0.n0(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:156)
at v1.l0.d(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:30)
at u1.m.a(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:32)
at u1.n.a(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:783)
at t2.q.invoke(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:1121)
at e4.l0.c(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:71)
at g4.t.H(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:38)
at o3.o0.measure-3p2s80s(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:1)
at g4.a0.H(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:11)
at v1.r.measure-3p2s80s(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:1)
at g4.a0.H(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:11)
at s1.d0.measure-3p2s80s(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:106)
at g4.a0.H(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:11)
at s1.d0.measure-3p2s80s(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:106)
at g4.a0.H(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:11)
at g4.a1.invoke(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:127)
at f3.v.d(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:314)
at g4.b1.E0(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:147)
at g4.i0.P(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:18)
at g4.y0.c(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:3)
at g4.y0.k(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:126)
at h4.v.t(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:8)
at g4.i0.k(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:41)
at pl.i.invoke(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:531)
at o1.n.a(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:17)
at o1.p2.c(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:260)
at o1.n2.a(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:423)
at o1.l2.a(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:38)
at np.n3.invoke(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:899)
at k1.d.l(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:55)
at k1.f1.invoke(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:25)
at f3.n.invoke(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:35)
at a2.b.invoke(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:740)
at androidx.lifecycle.d1.l(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:49)
at t2.s1.invoke(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:58)
at h4.v0.doFrame(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:7)
at h4.t0.doFrame(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:48)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1797)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1808)
at android.view.Choreographer.doCallbacks(Choreographer.java:1300)
at android.view.Choreographer.doFrame(Choreographer.java:1167)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1767)
at android.os.Handler.handleCallback(Handler.java:959)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loopOnce(Looper.java:249)
at android.os.Looper.loop(Looper.java:337)
at android.app.ActivityThread.main(ActivityThread.java:9410)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:614)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1005)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [h4.h2@3fb322e, h4.w0@8d291cf, s1{Cancelling}@f2f575c, u0@ee6a65]
### Additional Context
_No response_
### Build Version
2026.1.1
### What server are you connecting to?
US
### Self-host Server Version
_No response_
### Environment Details
Redmi K60 Ultra
Android 15
### Issue Tracking Info
- [x] I understand that work is tracked outside of Github. A PR will be linked to this issue should one be opened to address it, but Bitwarden doesn't use fields like "assigned", "milestone", or "project" to track progress.
Contributor guide
Assessment
This issue has not been assessed yet.