Improve event time crash logging
We got a report that system server is crashing due to receiving some events with a time set in the future. From the error message it is not possible to determine if the event time is a bit further or if it's just uninitialized garbage (the second is a lot more plausible). This CL will add some extra logging when this occurs so we have a better idea of what is happening. Bug: 269510424 Test: builds, passes presubmit Change-Id: I47a924f182444dcdefea5b2cda76f7d2d8de1cf0
This commit is contained in:
committed by
Josep del Río
parent
b153d19b13
commit
b56a64a37e
@@ -5693,6 +5693,7 @@ public final class PowerManagerService extends SystemService
|
||||
}
|
||||
|
||||
if (eventTime > now) {
|
||||
Slog.e(TAG, "Event time " + eventTime + " cannot be newer than " + now);
|
||||
throw new IllegalArgumentException("event time must not be in the future");
|
||||
}
|
||||
|
||||
@@ -5708,7 +5709,9 @@ public final class PowerManagerService extends SystemService
|
||||
@Override // Binder call
|
||||
public void wakeUp(long eventTime, @WakeReason int reason, String details,
|
||||
String opPackageName) {
|
||||
if (eventTime > mClock.uptimeMillis()) {
|
||||
final long now = mClock.uptimeMillis();
|
||||
if (eventTime > now) {
|
||||
Slog.e(TAG, "Event time " + eventTime + " cannot be newer than " + now);
|
||||
throw new IllegalArgumentException("event time must not be in the future");
|
||||
}
|
||||
|
||||
@@ -5760,7 +5763,9 @@ public final class PowerManagerService extends SystemService
|
||||
|
||||
@Override // Binder call
|
||||
public void nap(long eventTime) {
|
||||
if (eventTime > mClock.uptimeMillis()) {
|
||||
final long now = mClock.uptimeMillis();
|
||||
if (eventTime > now) {
|
||||
Slog.e(TAG, "Event time " + eventTime + " cannot be newer than " + now);
|
||||
throw new IllegalArgumentException("event time must not be in the future");
|
||||
}
|
||||
|
||||
@@ -6525,7 +6530,9 @@ public final class PowerManagerService extends SystemService
|
||||
|
||||
@Override // Binder call
|
||||
public void boostScreenBrightness(long eventTime) {
|
||||
final long now = mClock.uptimeMillis();
|
||||
if (eventTime > mClock.uptimeMillis()) {
|
||||
Slog.e(TAG, "Event time " + eventTime + " cannot be newer than " + now);
|
||||
throw new IllegalArgumentException("event time must not be in the future");
|
||||
}
|
||||
|
||||
@@ -6684,7 +6691,9 @@ public final class PowerManagerService extends SystemService
|
||||
|
||||
@RequiresPermission(android.Manifest.permission.DEVICE_POWER)
|
||||
private void goToSleepInternal(IntArray groupIds, long eventTime, int reason, int flags) {
|
||||
if (eventTime > mClock.uptimeMillis()) {
|
||||
final long now = mClock.uptimeMillis();
|
||||
if (eventTime > now) {
|
||||
Slog.e(TAG, "Event time " + eventTime + " cannot be newer than " + now);
|
||||
throw new IllegalArgumentException("event time must not be in the future");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user