summaryrefslogtreecommitdiff
path: root/services/usb/java
diff options
context:
space:
mode:
authorPaul Mclean <pmclean@google.com>2020-01-30 18:38:13 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-01-30 18:38:13 +0000
commite37a75ccae3c4d4042a6d6ab6ff39ea1b3d857c2 (patch)
tree98b8bd7930f92a3d13e52410e356094560c3a594 /services/usb/java
parente75d0ca7fef59caa1297d21ad6fd19526d29dba7 (diff)
parentc9b7cb2fc21c2b3ff264c2cce6c82ca57f3fa35f (diff)
Merge "Replace parsing error stack dump with a more terse message"
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);