bitwarden / bitwarden/android

In the background, it `OutOfMemoryError`'d after the device resumed from being idle.

Open
#5,402 5 comments 1 reaction 0 assignees View on GitHub
app:password-manager bug
Dominant language
Kotlin
Stars
9.4k
Forks
1.1k
Avg merge
1d 14h
Merged PRs (30d)
67

Description

### Steps To Reproduce

All I did was unlock my device. Evidently, BW was active in the background.

### Expected Result

It shouldn't have crashed.

### Actual Result

~~~YAML
FATAL EXCEPTION: DefaultDispatcher-worker-1
Process: com.x8bit.bitwarden, PID: 5541
java.lang.OutOfMemoryError: Failed to allocate a 32 byte allocation with 8 free bytes and 8B until OOM, target footprint 268435456, growth limit 268435456
at java.util.HashMap$EntrySet.iterator(HashMap.java:1107)
at java.time.format.Parsed.resolveFields(Parsed.java:281)
at java.time.format.Parsed.resolve(Parsed.java:259)
at java.time.format.DateTimeParseContext.toResolved(DateTimeParseContext.java:331)
at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:2056)
at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1952)
at java.time.ZonedDateTime.parse(ZonedDateTime.java:593)
at com.bitwarden.core.data.serializer.ZonedDateTimeSerializer.deserialize(SourceFile:3)
at com.bitwarden.core.data.serializer.ZonedDateTimeSerializer.deserialize(SourceFile:1)
at nd.s.p(Unknown Source:282)
at hd.a.deserialize(Unknown Source:140)
at nd.s.p(Unknown Source:282)
at ic.i.q(Unknown Source:29)
at com.bitwarden.network.model.SyncResponseJson$Cipher$Login$$serializer.deserialize(SourceFile:1)
at com.bitwarden.network.model.SyncResponseJson$Cipher$Login$$serializer.deserialize(SourceFile:2)
at nd.s.p(Unknown Source:282)
at ic.i.q(Unknown Source:29)
at com.bitwarden.network.model.SyncResponseJson$Cipher$$serializer.deserialize(SourceFile:1)
at com.bitwarden.network.model.SyncResponseJson$Cipher$$serializer.deserialize(SourceFile:2)
at nd.s.p(Unknown Source:282)
at md.c.a(Unknown Source:28)
at m8.k.invokeSuspend(Unknown Source:27)
at yc.a.resumeWith(Unknown Source:7)
at Wc.L.run(Unknown Source:114)
at dd.b.run(Unknown Source:126)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [v0{Cancelling}@4afc5cc, Dispatchers.Unconfined]
~~~

### Additional Context

I wasn't doing anything that should cause this. The device was previously idle.

### Build Version

~~~ini
versionName=2025.5.0
versionCode=20269
~~~

### What server are you connecting to?

US

### Environment Details

1. ~~~sh
#!/system/bin/sh
getprop | grep ro.build
~~~

1. > ~~~YAML
> [ro.product.brand]: [Fairphone]
> [ro.build.product]: [FP5]
> [ro.build.version.release]: [14]
> [ro.build.display.id]: [FP5.UT2P.B.122.20250422​​]
> ~~~

### 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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.