realm / realm-java

Realm is a mobile database: a replacement for SQLite & ORMs
http://realm.io
Apache License 2.0
11.46k stars 1.75k forks source link

Strange exception, if transaction was committed in IntentService. #480

Closed DanielSerdyukov closed 10 years ago

DanielSerdyukov commented 10 years ago
W/MessageQueue﹕ Handler (io.realm.Realm$1) {52a2b9b8} sending message to a Handler on a dead thread
    java.lang.RuntimeException: Handler (io.realm.Realm$1) {52a2b9b8} sending message to a Handler on a dead thread
            at android.os.MessageQueue.enqueueMessage(MessageQueue.java:309)
            at android.os.Handler.enqueueMessage(Handler.java:623)
            at android.os.Handler.sendMessageAtTime(Handler.java:592)
            at android.os.Handler.sendMessageDelayed(Handler.java:563)
            at android.os.Handler.sendEmptyMessageDelayed(Handler.java:527)
            at android.os.Handler.sendEmptyMessage(Handler.java:512)
            at io.realm.internal.android.LooperThread$1.handleMessage(LooperThread.java:63)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at io.realm.internal.android.LooperThread.run(LooperThread.java:71)
emanuelez commented 10 years ago

Thanks for pointing this out! It is now fixed in master

ndorigatti commented 8 years ago

Had this again with version 89.1:

05-19 16:16:48.724   931  1099 W MessageQueue: Handler (android.os.Handler) {6a2e825} sending message to a Handler on a dead thread
05-19 16:16:48.724   931  1099 W MessageQueue: java.lang.IllegalStateException: Handler (android.os.Handler) {6a2e825} sending message to a Handler on a dead thread
05-19 16:16:48.724   931  1099 W MessageQueue:  at android.os.MessageQueue.enqueueMessage(MessageQueue.java:543)
05-19 16:16:48.724   931  1099 W MessageQueue:  at android.os.Handler.enqueueMessage(Handler.java:631)
05-19 16:16:48.724   931  1099 W MessageQueue:  at android.os.Handler.sendMessageAtTime(Handler.java:600)
05-19 16:16:48.724   931  1099 W MessageQueue:  at android.os.Handler.sendMessageDelayed(Handler.java:570)
05-19 16:16:48.724   931  1099 W MessageQueue:  at android.os.Handler.sendEmptyMessageDelayed(Handler.java:534)
05-19 16:16:48.724   931  1099 W MessageQueue:  at android.os.Handler.sendEmptyMessage(Handler.java:519)
05-19 16:16:48.724   931  1099 W MessageQueue:  at io.realm.BaseRealm.commitTransaction(BaseRealm.java:344)
05-19 16:16:48.724   931  1099 W MessageQueue:  at io.realm.BaseRealm.commitTransaction(BaseRealm.java:307)
05-19 16:16:48.724   931  1099 W MessageQueue:  at it.dorigatti.gazzetta.services.IssueDownloadService.handleActionDownloadIssue(IssueDownloadService.java:229)
05-19 16:16:48.724   931  1099 W MessageQueue:  at it.dorigatti.gazzetta.services.IssueDownloadService.onHandleIntent(IssueDownloadService.java:148)
05-19 16:16:48.724   931  1099 W MessageQueue:  at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:66)
05-19 16:16:48.724   931  1099 W MessageQueue:  at android.os.Handler.dispatchMessage(Handler.java:102)
05-19 16:16:48.724   931  1099 W MessageQueue:  at android.os.Looper.loop(Looper.java:148)
05-19 16:16:48.724   931  1099 W MessageQueue:  at android.os.HandlerThread.run(HandlerThread.java:61)
05-19 16:16:48.724   931  1099 W REALM   : Cannot update Looper threads when the Looper has quit. Use realm.setAutoRefresh(false) to prevent this.