dump callstack on Surface use error
Change-Id: I38e260dd47349b9af3a999dda683a083a94be16d
diff --git a/include/utils/CallStack.h b/include/utils/CallStack.h
index c2c8ce5..8817120 100644
--- a/include/utils/CallStack.h
+++ b/include/utils/CallStack.h
@@ -50,7 +50,7 @@
void clear();
- void update(int32_t ignoreDepth=0, int32_t maxDepth=MAX_DEPTH);
+ void update(int32_t ignoreDepth=1, int32_t maxDepth=MAX_DEPTH);
// Dump a stack trace to the log
void dump(const char* prefix = 0) const;
diff --git a/libs/surfaceflinger_client/Surface.cpp b/libs/surfaceflinger_client/Surface.cpp
index 9467a4c..6d82b5d 100644
--- a/libs/surfaceflinger_client/Surface.cpp
+++ b/libs/surfaceflinger_client/Surface.cpp
@@ -489,6 +489,9 @@
LOGE("[Surface] using an invalid surface, "
"identity=%u should be %d",
mIdentity, identity);
+ CallStack stack;
+ stack.update();
+ stack.dump("Surface");
return NO_INIT;
}
@@ -497,6 +500,9 @@
if (err != NO_ERROR) {
LOGE("surface (identity=%u) is invalid, err=%d (%s)",
mIdentity, err, strerror(-err));
+ CallStack stack;
+ stack.update();
+ stack.dump("Surface");
return err;
}