[asan] Fix deadlock in stack unwinder on android/x86.

Fixes PR17116.
Patch by 林作健 (manjian2006 at gmail.com).


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@190590 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/lsan/lsan_common_linux.cc b/lib/lsan/lsan_common_linux.cc
index 38cf88a..6517cf1 100644
--- a/lib/lsan/lsan_common_linux.cc
+++ b/lib/lsan/lsan_common_linux.cc
@@ -114,8 +114,9 @@
   chunk = GetUserBegin(chunk);
   LsanMetadata m(chunk);
   if (m.allocated() && m.tag() != kReachable) {
-    if (linker->containsAddress(
-            GetCallerPC(m.stack_trace_id(), param->stack_depot_reverse_map))) {
+    u32 stack_id = m.stack_trace_id();
+    if (!stack_id || linker->containsAddress(GetCallerPC(
+                         stack_id, param->stack_depot_reverse_map))) {
       m.set_tag(kReachable);
       param->frontier->push_back(chunk);
     }