summaryrefslogtreecommitdiff
path: root/services/usb/java
diff options
context:
space:
mode:
authorPaul McLean <pmclean@google.com>2020-01-29 15:47:24 -0700
committerPaul McLean <pmclean@google.com>2020-01-29 15:58:57 -0700
commitc9b7cb2fc21c2b3ff264c2cce6c82ca57f3fa35f (patch)
tree8b4fbf6aceddd6886f8d9375f915c0afd0462bd3 /services/usb/java
parent8248661d252c20a12f4aaec4e9ebe9a746bbfb18 (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
Diffstat (limited to 'services/usb/java')
-rw-r--r--services/usb/java/com/android/server/usb/descriptors/UsbDescriptorParser.java22
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);