일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- fullframe
- himatic
- Realm
- variants
- e마운트
- rx
- 하이매틱
- Android
- portra400
- 풀프레임
- himatic7sii
- film
- SSL
- Exception
- himatic7s2
- Kodak
- Git
- 니콘
- Flavor
- 미놀타
- 필름카메라
- COLORPLUS
- It
- emount
- Nikon
- Sony
- Minolta
- fm2
- 35mmf2.8
- gradle
- Today
- Total
BloByJames
날 미치게 하는 Exception: io.realm.exceptions.RealmError: Unrecoverable error. 본문
날 미치게 하는 Exception: io.realm.exceptions.RealmError: Unrecoverable error.
blobyjames 2016. 11. 8. 22:33Fatal Exception: io.realm.exceptions.RealmError: Unrecoverable error. /data/data/<package>/files/<realm file>: Encrypted interprocess sharing is currently unsupported.SharedGroup has been opened by pid: xxxx. Current pid is xxxx. in /Users/cm/Realm/realm-java/realm/realm- library/src/main/cpp/io_realm_internal_SharedRealm.cpp line 81 at io.realm.internal.SharedRealm.nativeGetSharedRealm(SharedRealm.java) at io.realm.internal.SharedRealm.getInstance(SharedRealm.java:178) at io.realm.internal.SharedRealm.getInstance(SharedRealm.java:155) at io.realm.RealmCache.createRealmOrGetFromCache(RealmCache.java:124) at io.realm.Realm.getDefaultInstance(Realm.java:210)
Realm에서도 많은 reporting이 있었습니다.
Encrypted interprocess sharing is currently unsupported in io_realm_internal_SharedGroup.cpp #1477
error를 보아하니, 현재 실행중인 pid와 기존에 사용 되었던 pid간에, 암호화 된 file을 공유하지 못하는 것 같습니다.
아래는, 현재 제가 개발에 참여한, 한 service의 crash report입니다.
아놔, 환장합니다.
13k는...
13,000!!
13,000!!
13,000!!!!
안타깝게도 모든 단말기에서 발생하는 issue는 아닙니다.
하지만, 히당 issue가 발생하는 단말기에서는 100% 재현되며,
평소 사용 습관에 따라서는 1000% 재현됩니다. ㅠㅠ
오늘도 야근과 함께...
라고 생각했지만, 생각보다 쉽게 답을 찾을 수 있었습니다.
제가 issue를 해결한 방법을 알려드리자면,
...
Realm realm;
try {
realm = Realm.getDefaultInstance()
} catch(RealmError e) {
RealmConfiguration config = new RealmConfiguration.Builder()
.deleteRealmIfMigrationNeeded()
.build()
realm = Realm.getInstance(config);
}
...
물론 RealmConfiguration 설정은 기존에 사용하던 설정과 똑같이 맞춰야겠죠?
(중요하지 않다고 하시는 분들이라면 상관 없지만..)
Realm을 사용하며 큰 장점과 더불어 crash 신세계를 경험하고 있습니다.
수많은 삽질 troubleshooting으로 왠만큼 Realm을 숙지하여,
차기 project에서는 큰 탈 없이 사용할 수 있게 되었습니다.
감사합니다.
'프로그래밍 > 안드로이드' 카테고리의 다른 글
Glide와 함께 Circular Notification Icon 만들기 (0) | 2017.03.13 |
---|---|
날 미치게 하는 Exception: java.util.IllegalFormatConversionException: %d can't format java.lang.String arguments (0) | 2016.12.02 |
Gradle Flavor 그리고 google-services.json (0) | 2016.10.21 |
Gradle Flavor 그리고 apk build (0) | 2016.10.08 |
ViewPager와 Fragment 사용하기 (Fragment 함수 호출) (0) | 2016.09.28 |