webview: add trace event for relro timeout.
Record an instant trace event if we encounter a timeout while waiting for relro creation, using the same message we already log. We're seeing a number of occurrences of this timeout in cases where WebView is otherwise working in traces, so this should help to debug. Using the ACTIVITY_MANAGER trace tag as it's enabled for the trace collection pipeline already; WEBVIEW is not. Bug: 235546861 Test: n/a Change-Id: I2b60c5699efde026da934457e430adaebad1d2b3
This commit is contained in:
@@ -21,6 +21,7 @@ import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageManager.NameNotFoundException;
|
||||
import android.content.pm.Signature;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Trace;
|
||||
import android.os.UserHandle;
|
||||
import android.util.Slog;
|
||||
import android.webkit.UserPackage;
|
||||
@@ -265,10 +266,12 @@ class WebViewUpdateServiceImpl {
|
||||
// Either the current relro creation isn't done yet, or the new relro creatioin
|
||||
// hasn't kicked off yet (the last relro creation used an out-of-date WebView).
|
||||
webViewStatus = WebViewFactory.LIBLOAD_FAILED_WAITING_FOR_RELRO;
|
||||
Slog.e(TAG, "Timed out waiting for relro creation, relros started "
|
||||
String timeoutError = "Timed out waiting for relro creation, relros started "
|
||||
+ mNumRelroCreationsStarted
|
||||
+ " relros finished " + mNumRelroCreationsFinished
|
||||
+ " package dirty? " + mWebViewPackageDirty);
|
||||
+ " package dirty? " + mWebViewPackageDirty;
|
||||
Slog.e(TAG, timeoutError);
|
||||
Trace.instant(Trace.TRACE_TAG_ACTIVITY_MANAGER, timeoutError);
|
||||
}
|
||||
}
|
||||
if (!webViewReady) Slog.w(TAG, "creating relro file timed out");
|
||||
|
||||
Reference in New Issue
Block a user