Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit deb6ed8c authored by Jeff Brown's avatar Jeff Brown
Browse files

Don't reuse StringBuilder outside of lock when dumping ANR.

The ANR dumping code was reusing the shared StringBuilder while
not holding the ActivityManagerService lock.  As a result, other
threads could sweep in and clobber the ANR information.
We don't want to hold the lock here, so just create a new StringBuilder.

Change-Id: I0d91af55f5c123102cfab2cd97035491efed59c0
parent 27fd3420
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3181,7 +3181,7 @@ public final class ActivityManagerService extends ActivityManagerNative
        }
        // Log the ANR to the main log.
        StringBuilder info = mStringBuilder;
        StringBuilder info = new StringBuilder();
        info.setLength(0);
        info.append("ANR in ").append(app.processName);
        if (activity != null && activity.shortComponentName != null) {