Revert "Revert "[RESTRICT AUTOMERGE]: Update CrashUtils regex to be reluctant.""

This reverts commit 51cda81075844a38b980f11ad23f23a4447212d4.
Reason for revert: Accidentally merged nyc-dev before oc-dev. Now oc-dev's child nodes skipped because of merged-in. Will reinstate to kick off automerger again.

Bug: 140929474
Bug: 133329166
Test: cts/run_unit_tests.sh
Change-Id: I4ee2a278683255c0ecfb9a9ef8a6758a25cedc29
diff --git a/common/host-side/tradefed/src/com/android/compatibility/common/tradefed/targetprep/CrashReporter.java b/common/host-side/tradefed/src/com/android/compatibility/common/tradefed/targetprep/CrashReporter.java
index 42d71e7..768d07b 100644
--- a/common/host-side/tradefed/src/com/android/compatibility/common/tradefed/targetprep/CrashReporter.java
+++ b/common/host-side/tradefed/src/com/android/compatibility/common/tradefed/targetprep/CrashReporter.java
@@ -125,15 +125,16 @@
 
         private void processLogLine(String line) {
             mLogcatChunk.append(line);
+            mLogcatChunk.append('\n');
             Matcher m;
-            if ((m = CrashUtils.sNewTestPattern.matcher(line)).matches()) {
+            if ((m = CrashUtils.sNewTestPattern.matcher(line)).find()) {
                 mTestName = m.group(1);
                 mCrashes = new ArrayList<Crash>();
                 mLogcatChunk.setLength(0);
-            } else if (CrashUtils.sEndofCrashPattern.matcher(line).matches()) {
+            } else if (CrashUtils.sEndofCrashPattern.matcher(line).find()) {
                 mCrashes = CrashUtils.getAllCrashes(mLogcatChunk.toString());
                 mLogcatChunk.setLength(0);
-            } else if (CrashUtils.sUploadRequestPattern.matcher(line).matches()) {
+            } else if (CrashUtils.sUploadRequestPattern.matcher(line).find()) {
                 upload(mDevice, mTestName, mCrashes);
             }
         }
diff --git a/common/util/src/com/android/compatibility/common/util/CrashUtils.java b/common/util/src/com/android/compatibility/common/util/CrashUtils.java
index d77b9a0..715e43d 100644
--- a/common/util/src/com/android/compatibility/common/util/CrashUtils.java
+++ b/common/util/src/com/android/compatibility/common/util/CrashUtils.java
@@ -23,33 +23,33 @@
 
 /** Contains helper functions and shared constants for crash parsing. */
 public class CrashUtils {
-
-    public static final long MIN_CRASH_ADDR = 32768;
+    // used to only detect actual addresses instead of nullptr and other unlikely values
+    public static final long MIN_CRASH_ADDR = 0x8000;
     // Matches the end of a crash
     public static final Pattern sEndofCrashPattern =
-            Pattern.compile(".*DEBUG\\s+:\\s+backtrace:.*");
+            Pattern.compile("DEBUG\\s+?:\\s+?backtrace:");
     public static final String DEVICE_PATH = "/data/local/tmp/CrashParserResults/";
     public static final String LOCK_FILENAME = "lockFile.loc";
     public static final String UPLOAD_REQUEST = "Please upload a result file to stagefright";
     public static final Pattern sUploadRequestPattern =
-            Pattern.compile(".*" + UPLOAD_REQUEST + ".*");
+            Pattern.compile(UPLOAD_REQUEST);
     public static final String NEW_TEST_ALERT = "New test starting with name: ";
     public static final Pattern sNewTestPattern =
-            Pattern.compile(".*" + NEW_TEST_ALERT + "(\\w+)\\(.*\\).*");
+            Pattern.compile(NEW_TEST_ALERT + "(\\w+?)\\(.*?\\)");
     // Matches the smallest blob that has the appropriate header and footer
     private static final Pattern sCrashBlobPattern =
-            Pattern.compile("DEBUG\\s+:( [*]{3})+.*?DEBUG\\s+:\\s+backtrace:", Pattern.DOTALL);
+            Pattern.compile("DEBUG\\s+?:( [*]{3})+?.*?DEBUG\\s+?:\\s+?backtrace:", Pattern.DOTALL);
     // Matches process id and name line and captures them
     private static final Pattern sPidtidNamePattern =
-            Pattern.compile("pid: (\\d+), tid: (\\d+), name: ([^\\s]+\\s+)*>>> (.*) <<<");
+            Pattern.compile("pid: (\\d+?), tid: (\\d+?), name: ([^\\s]+?\\s+?)*?>>> (.*?) <<<");
     // Matches fault address and signal type line
     private static final Pattern sFaultLinePattern =
             Pattern.compile(
-                    "\\w+ \\d+ \\((.*)\\), code -*\\d+ \\(.*\\), fault addr "
+                    "\\w+? \\d+? \\((.*?)\\), code -*?\\d+? \\(.*?\\), fault addr "
                             + "(?:0x(\\p{XDigit}+)|-+)");
     // Matches the abort message line if it contains CHECK_
     private static Pattern sAbortMessageCheckPattern =
-            Pattern.compile("(?i)Abort message.*CHECK_.*");
+            Pattern.compile("(?i)Abort message.*?CHECK_");
 
     /**
      * Determines if the given input has a {@link com.android.compatibility.common.util.Crash} that