Index: src/log.cc |
diff --git a/src/log.cc b/src/log.cc |
index 2cc2b8ffa85fd9892a9ab0c4c7f5522bd251a911..d12aafb6df87e59c877d7ff775c8f05a57d59cf5 100644 |
--- a/src/log.cc |
+++ b/src/log.cc |
@@ -164,7 +164,10 @@ void StackTracer::Trace(TickSample* sample) { |
int i = 0; |
const Address callback = VMState::external_callback(); |
- if (callback != NULL) { |
+ // Surprisingly, PC can point _exactly_ to callback start, with good |
+ // probability, and this will result in reporting fake nested |
+ // callback call. |
+ if (callback != NULL && callback != sample->pc) { |
sample->stack[i++] = callback; |
} |