Status Update
Comments
dn...@google.com <dn...@google.com>
dn...@google.com <dn...@google.com> #2
Thanks for reporting this issue.
Can you provide the below requested information to better understand the issue:
SDK version
Which version of the SDK are you using?
Android build
Which Android build are you using?
Device used
Which device did you use to reproduce this issue?
Steps to reproduce
Please provide sample project or apk to reproduce the issue. Also mention the steps to be followed for reproducing the issue with the given sample project or apk.
Frequency
How frequently does this issue occur? (e.g 100% of the time, 10% of the time)
Expected output
What do you expect to occur?
Current output
What do you see instead?
Android bug report
After reproducing the issue, press the volume up, volume down, and power button simultaneously. This will capture a bug report on your device in the “bug reports” directory. Attach the bug report file to this issue.
Alternate method:
After reproducing the issue, navigate to developer settings, ensure ‘USB debugging’ is enabled, then enable ‘Bug report shortcut’. To take bug report, hold the power button and select the ‘Take bug report’ option.
Can you provide the below requested information to better understand the issue:
SDK version
Which version of the SDK are you using?
Android build
Which Android build are you using?
Device used
Which device did you use to reproduce this issue?
Steps to reproduce
Please provide sample project or apk to reproduce the issue. Also mention the steps to be followed for reproducing the issue with the given sample project or apk.
Frequency
How frequently does this issue occur? (e.g 100% of the time, 10% of the time)
Expected output
What do you expect to occur?
Current output
What do you see instead?
Android bug report
After reproducing the issue, press the volume up, volume down, and power button simultaneously. This will capture a bug report on your device in the “bug reports” directory. Attach the bug report file to this issue.
Alternate method:
After reproducing the issue, navigate to developer settings, ensure ‘USB debugging’ is enabled, then enable ‘Bug report shortcut’. To take bug report, hold the power button and select the ‘Take bug report’ option.
wo...@gmail.com <wo...@gmail.com> #3
I made a sample project here: https://github.com/PaulWoitaschek/RoomFlowableDisposeBug
Device : Google Pixel, Oreo
The sample project is really simple. It subscribes to a flowable and applies schedulers:
https://github.com/PaulWoitaschek/RoomFlowableDisposeBug/blob/4edd7342bf5d76c94f10491c63a0087a807bac42/app/src/main/java/de/paul_woitaschek/roomflowableuithread/MainActivity.kt#L41
Then after 1 second it disposes that flowable on the UI thread.
https://github.com/PaulWoitaschek/RoomFlowableDisposeBug/blob/4edd7342bf5d76c94f10491c63a0087a807bac42/app/src/main/java/de/paul_woitaschek/roomflowableuithread/MainActivity.kt#L48
You can now see the warning from strict mode that work was done on the UI thread.
If you downgrade room to 1.1.0-alpha2, that warning is gone.
Device : Google Pixel, Oreo
The sample project is really simple. It subscribes to a flowable and applies schedulers:
Then after 1 second it disposes that flowable on the UI thread.
You can now see the warning from strict mode that work was done on the UI thread.
If you downgrade room to 1.1.0-alpha2, that warning is gone.
ku...@google.com <ku...@google.com>
ku...@google.com <ku...@google.com> #4
Thank you for reporting this issue. We have shared this with our product and engineering team and will update this issue with more information as it becomes available.
wo...@gmail.com <wo...@gmail.com> #5
Still happening with 1.1.0-beta01. I updated the sample project.
wo...@gmail.com <wo...@gmail.com> #6
Same with beta 2. Can this get some attention please?
bo...@gmail.com <bo...@gmail.com> #7
I'm having the same issue with Room 1.1.1
da...@google.com <da...@google.com> #9
Yup, the fix done for b/117201279 applies here too.
Description
This happens when you dispose a flowable.
Normally I apply my scheduler like:
dao.myFlowable().subscribeOn(Schedulers.io())
As a workaround one also needs to apply unsubscribeOn(Schedulers.io())
Here is the message from strict mode:
StrictMode policy violation; ~duration=73 ms: android.os.StrictMode$StrictModeDiskReadViolation: policy=1114175 violation=2
at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1440)
at android.database.sqlite.SQLiteConnection.applyBlockGuardPolicy(SQLiteConnection.java:1042)
at android.database.sqlite.SQLiteConnection.execute(SQLiteConnection.java:553)
at android.database.sqlite.SQLiteSession.endTransactionUnchecked(SQLiteSession.java:437)
at android.database.sqlite.SQLiteSession.endTransaction(SQLiteSession.java:401)
at android.database.sqlite.SQLiteDatabase.endTransaction(SQLiteDatabase.java:551)
at android.arch.persistence.db.framework.FrameworkSQLiteDatabase.endTransaction(FrameworkSQLiteDatabase.java:90)
at android.arch.persistence.room.InvalidationTracker.syncTriggers(InvalidationTracker.java:434)
at android.arch.persistence.room.InvalidationTracker.syncTriggers(InvalidationTracker.java:460)
at android.arch.persistence.room.InvalidationTracker.removeObserver(InvalidationTracker.java:277)
at android.arch.persistence.room.RxRoom$1$2.run(RxRoom.java:85)
at io.reactivex.disposables.ActionDisposable.onDisposed(ActionDisposable.java:30)