diff options
author | Paul McLean <pmclean@google.com> | 2020-01-29 15:47:24 -0700 |
---|---|---|
committer | Paul McLean <pmclean@google.com> | 2020-01-29 15:58:57 -0700 |
commit | c9b7cb2fc21c2b3ff264c2cce6c82ca57f3fa35f (patch) | |
tree | 8b4fbf6aceddd6886f8d9375f915c0afd0462bd3 | |
parent | 8248661d252c20a12f4aaec4e9ebe9a746bbfb18 (diff) |
Replace parsing error stack dump with a more terse message
Bug: 147608995
Test: boot, connect PreSonus AudioBox 22VSL, pull log and examine.
Change-Id: I49629267c91cea5d6ba8a76af956cd3306c1d8b1
-rw-r--r-- | services/usb/java/com/android/server/usb/descriptors/UsbDescriptorParser.java | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/services/usb/java/com/android/server/usb/descriptors/UsbDescriptorParser.java b/services/usb/java/com/android/server/usb/descriptors/UsbDescriptorParser.java index b230e4bbf8a2..43d5bf323abb 100644 --- a/services/usb/java/com/android/server/usb/descriptors/UsbDescriptorParser.java +++ b/services/usb/java/com/android/server/usb/descriptors/UsbDescriptorParser.java @@ -292,9 +292,27 @@ public final class UsbDescriptorParser { // Clean up descriptor.postParse(stream); } catch (Exception ex) { - Log.e(TAG, "Exception parsing USB descriptors.", ex); + // Clean up, compute error status + descriptor.postParse(stream); - // Clean up + // Report + Log.w(TAG, "Exception parsing USB descriptors. type:0x" + descriptor.getType() + + " status:" + descriptor.getStatus()); + if (DEBUG) { + // Show full stack trace if debugging + Log.e(TAG, "Exception parsing USB descriptors.", ex); + } + StackTraceElement[] stackElems = ex.getStackTrace(); + if (stackElems.length > 0) { + Log.i(TAG, " class:" + stackElems[0].getClassName() + + " @ " + stackElems[0].getLineNumber()); + } + if (stackElems.length > 1) { + Log.i(TAG, " class:" + stackElems[1].getClassName() + + " @ " + stackElems[1].getLineNumber()); + } + + // Finish up descriptor.setStatus(UsbDescriptor.STATUS_PARSE_EXCEPTION); } finally { mDescriptors.add(descriptor); |