diff options
author | Igor Murashkin <iam@google.com> | 2013-10-23 16:40:06 -0700 |
---|---|---|
committer | Igor Murashkin <iam@google.com> | 2013-10-29 11:49:05 -0700 |
commit | ff3e31d2b100d8efd969b358b18e4405c49dd10d (patch) | |
tree | 6d3bcd6772305f06fcf85c498365c8c198a7fbc9 /services/camera/libcameraservice/device3 | |
parent | 95c03858e2ab4fb693a2bfe47b3caa806e43c044 (diff) | |
download | frameworks_av-ff3e31d2b100d8efd969b358b18e4405c49dd10d.zip frameworks_av-ff3e31d2b100d8efd969b358b18e4405c49dd10d.tar.gz frameworks_av-ff3e31d2b100d8efd969b358b18e4405c49dd10d.tar.bz2 |
camera: Collect stack traces when bad things happen, print with dumpsys
Bug: 11324229
Change-Id: Ic920e170a8f5a389fc139bbf5416c0e3186c7fb6
Diffstat (limited to 'services/camera/libcameraservice/device3')
-rw-r--r-- | services/camera/libcameraservice/device3/Camera3Device.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/services/camera/libcameraservice/device3/Camera3Device.cpp b/services/camera/libcameraservice/device3/Camera3Device.cpp index 6f2dc85..c320d6c 100644 --- a/services/camera/libcameraservice/device3/Camera3Device.cpp +++ b/services/camera/libcameraservice/device3/Camera3Device.cpp @@ -41,6 +41,7 @@ #include <utils/Trace.h> #include <utils/Timers.h> +#include "utils/CameraTraces.h" #include "device3/Camera3Device.h" #include "device3/Camera3OutputStream.h" #include "device3/Camera3InputStream.h" @@ -1363,6 +1364,10 @@ void Camera3Device::setErrorStateLockedV(const char *fmt, va_list args) { // But only do error state transition steps for the first error if (mStatus == STATUS_ERROR || mStatus == STATUS_UNINITIALIZED) return; + // Save stack trace. View by dumping it later. + CameraTraces::saveTrace(); + // TODO: consider adding errorCause and client pid/procname + mErrorCause = errorCause; mRequestThread->setPaused(true); |