[split_config.arm64_v8a.apk!librealm_dart.so] realm_commit ANR on Android 10 & 11
T-BugSDK-Use:Local
### What happened?
After upgrading to realm_dart: ^20.2.0 (latest), my production app started showing ANRs in Google Play Console.
The ANR always points to realm_commit inside librealm_dart.so, blocking on fsync
**Environment**
- Flutter: 3.35.4
- Dart: 3.9.2
- Android SDK: 35.0.0
- Devices affected: Android 10 & Android 11 mostly
- Architecture: arm6-v8a
- Realm: realm_dart: 20.2.0
Issue did not happen on earlier versions of realm_dart.
ANR happens during commit/write transactions.
My app performs small Realm writes, nothing heavy.
Database size is small (~ few MB).
Cannot reproduce locally even with stress testing.
Only visible in production ANR reports.
### Repro steps
The issue is not reproducible in debug or release locally, only reported by Play Store (real users).
### Version
Flutter version 3.35.4 Dart version 3.9.2
### What Atlas Services are you using?
Local Database only
### What type of application is this?
Flutter Application
### Client OS and version
Android 10 & 11
### Code snippets
_No response_
### Stacktrace of the exception/crash you're getting
```shell
**Play Store ANR Stacktrace**
`Input dispatching timed out, "main" tid=1 Native
#00 pc 0x00000000000d16c8 /apex/com.android.runtime/lib64/bionic/libc.so (fsync+8)
#01 pc 0x00000000005dd704 .../split_config.arm64_v8a.apk!librealm_dart.so
#02 pc 0x0000000000562c88 .../split_config.arm64_v8a.apk!librealm_dart.so
#03 pc 0x000000000055af10 .../split_config.arm64_v8a.apk!librealm_dart.so
#04 pc 0x000000000055ac88 .../split_config.arm64_v8a.apk!librealm_dart.so
#05 pc 0x00000000005bd41c .../split_config.arm64_v8a.apk!librealm_dart.so
#06 pc 0x00000000004752a8 .../split_config.arm64_v8a.apk!librealm_dart.so
#07 pc 0x000000000044b844 .../split_config.arm64_v8a.apk!librealm_dart.so
#08 pc 0x00000000004096e4 .../split_config.arm64_v8a.apk!librealm_dart.so (realm_commit+12)
#09 pc 0x000000000001158c .../split_config.arm64_v8a.apk
at android.os.MessageQueue.nativePollOnce
at android.os.Looper.loop
at android.app.ActivityThread.main
`
```
### Relevant log output
```shell
```
1 条评论