Fixed
Status Update
Comments
su...@google.com <su...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-master-dev
commit e36c65f67e49ddbfa0080542295f4a4850ae17da
Author: Sumir Kataria <sumir@google.com>
Date: Tue Aug 07 13:04:03 2018
Enforce ConstraintTracker#setState is on the main thread.
- setState now asserts that we are on the main thread
- Moved assert*Thread methods into their own utils
- Annotated several tests manually calling onBroadcastReceive
as @UiThreadTest as our broadcast receivers only operate on
the main thread (they use the default registerReceiver
method)
- NetworkCallbacks are invoked on non-main threads by default;
in this case, we re-post them to the main thread
This is part of the solution to a concurrency exception in
ConstraintTracker.
Bug: 112272753
Test: Updated and ran tests
Change-Id: I7011e5993b814f4fcafe861e283a827cd1edee12
M work/workmanager/build.gradle
M work/workmanager/src/androidTest/java/androidx/work/impl/constraints/trackers/BatteryChargingTrackerTest.java
M work/workmanager/src/androidTest/java/androidx/work/impl/constraints/trackers/BatteryNotLowTrackerTest.java
M work/workmanager/src/androidTest/java/androidx/work/impl/constraints/trackers/ConstraintTrackerTest.java
M work/workmanager/src/androidTest/java/androidx/work/impl/constraints/trackers/StorageNotLowTrackerTest.java
M work/workmanager/src/androidTest/java/androidx/work/impl/workers/ConstraintTrackingWorkerTest.java
M work/workmanager/src/main/java/androidx/work/impl/WorkManagerImpl.java
M work/workmanager/src/main/java/androidx/work/impl/background/systemalarm/SystemAlarmDispatcher.java
M work/workmanager/src/main/java/androidx/work/impl/constraints/trackers/ConstraintTracker.java
M work/workmanager/src/main/java/androidx/work/impl/constraints/trackers/NetworkStateTracker.java
A work/workmanager/src/main/java/androidx/work/impl/utils/ThreadUtils.java
https://android-review.googlesource.com/727429
https://goto.google.com/android-sha1/e36c65f67e49ddbfa0080542295f4a4850ae17da
Branch: androidx-master-dev
commit e36c65f67e49ddbfa0080542295f4a4850ae17da
Author: Sumir Kataria <sumir@google.com>
Date: Tue Aug 07 13:04:03 2018
Enforce ConstraintTracker#setState is on the main thread.
- setState now asserts that we are on the main thread
- Moved assert*Thread methods into their own utils
- Annotated several tests manually calling onBroadcastReceive
as @UiThreadTest as our broadcast receivers only operate on
the main thread (they use the default registerReceiver
method)
- NetworkCallbacks are invoked on non-main threads by default;
in this case, we re-post them to the main thread
This is part of the solution to a concurrency exception in
ConstraintTracker.
Bug: 112272753
Test: Updated and ran tests
Change-Id: I7011e5993b814f4fcafe861e283a827cd1edee12
M work/workmanager/build.gradle
M work/workmanager/src/androidTest/java/androidx/work/impl/constraints/trackers/BatteryChargingTrackerTest.java
M work/workmanager/src/androidTest/java/androidx/work/impl/constraints/trackers/BatteryNotLowTrackerTest.java
M work/workmanager/src/androidTest/java/androidx/work/impl/constraints/trackers/ConstraintTrackerTest.java
M work/workmanager/src/androidTest/java/androidx/work/impl/constraints/trackers/StorageNotLowTrackerTest.java
M work/workmanager/src/androidTest/java/androidx/work/impl/workers/ConstraintTrackingWorkerTest.java
M work/workmanager/src/main/java/androidx/work/impl/WorkManagerImpl.java
M work/workmanager/src/main/java/androidx/work/impl/background/systemalarm/SystemAlarmDispatcher.java
M work/workmanager/src/main/java/androidx/work/impl/constraints/trackers/ConstraintTracker.java
M work/workmanager/src/main/java/androidx/work/impl/constraints/trackers/NetworkStateTracker.java
A work/workmanager/src/main/java/androidx/work/impl/utils/ThreadUtils.java
su...@yahooinc.com <su...@yahooinc.com> #3
su...@google.com <su...@google.com> #4
Which Android API version is this?
su...@yahooinc.com <su...@yahooinc.com> #5
It's happening 100% on API 24
su...@google.com <su...@google.com> #6
Do you mind attaching a logcat and a sample of your code?
su...@yahooinc.com <su...@yahooinc.com> #7
I'm unable to reproduce this crash in my dev device. It's happening in out prod build. I've attached the crash log here - Not really sure how helpful that can be
https://gist.github.com/supreethprakash/01bc952ab80eba2d9f2478070cba627f
Our code is not in play here, it could be happening when some scheduled job is about to run
Our code is not in play here, it could be happening when some scheduled job is about to run
ap...@google.com <ap...@google.com> #8
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 56776a6d2eddef14d8275828f665df1177d52ac6
Author: Sumir Kataria <sumir@google.com>
Date: Thu Nov 15 14:53:31 2018
Speculative fix for IAE on NVIDIA Shield tablets.
We can't reproduce this on other devices, but Shield Tablets on
API 24 can return an IllegalArgumentException for some reason.
Since this isn't something that is fatal to WorkManager, we
will catch the exception and move on safely.
Bug: 119484416
Test: Ran existing tests.
Change-Id: If42c1c9257ebf7d36ddab11a3f24401ead731636
M work/workmanager/src/main/java/androidx/work/impl/constraints/trackers/NetworkStateTracker.java
https://android-review.googlesource.com/828360
https://goto.google.com/android-sha1/56776a6d2eddef14d8275828f665df1177d52ac6
Branch: androidx-master-dev
commit 56776a6d2eddef14d8275828f665df1177d52ac6
Author: Sumir Kataria <sumir@google.com>
Date: Thu Nov 15 14:53:31 2018
Speculative fix for IAE on NVIDIA Shield tablets.
We can't reproduce this on other devices, but Shield Tablets on
API 24 can return an IllegalArgumentException for some reason.
Since this isn't something that is fatal to WorkManager, we
will catch the exception and move on safely.
Bug: 119484416
Test: Ran existing tests.
Change-Id: If42c1c9257ebf7d36ddab11a3f24401ead731636
M work/workmanager/src/main/java/androidx/work/impl/constraints/trackers/NetworkStateTracker.java
Description
Version used: Alpha 10
Devices/Android versions reproduced on: Nvidia (100%)
stacktrace:
ConnectivityManager.java in android.net.ConnectivityManager.unregisterNetworkCallback at line 3106
NetworkStateTracker.java in androidx.work.impl.constraints.trackers.NetworkStateTracker.stopTracking at line 94
ConstraintTracker.java in androidx.work.impl.constraints.trackers.ConstraintTracker.removeListener at line 79
ConstraintController.java in androidx.work.impl.constraints.controllers.ConstraintController.replace at line 98
GreedyScheduler.java in androidx.work.impl.background.greedy.GreedyScheduler.removeConstraintTrackingFor at line 150
Processor.java in androidx.work.impl.Processor.onExecuted at line 228
Processor.java in androidx.work.impl.Processor$FutureListener.run at line 258
Handler.java in android.os.Handler.handleCallback at line 751
Handler.java in android.os.Handler.dispatchMessage at line 95
Looper.java in android.os.Looper.loop at line 154
ActivityThread.java in android.app.ActivityThread.main at line 6120
java.lang.reflect.Method in invoke
ZygoteInit.java in com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run at line 865
ZygoteInit.java in com.android.internal.os.ZygoteInit.main at line 755