Snap for 10597283 from af01fd1afdb9124bfdd4d8b23daa0152dd717956 to mainline-permission-release

Change-Id: I8aa7fd6bd3b65ea79626601bcbcf4e8bfa786c00
diff --git a/libunwindstack/Unwinder.cpp b/libunwindstack/Unwinder.cpp
index 7304000..115a265 100644
--- a/libunwindstack/Unwinder.cpp
+++ b/libunwindstack/Unwinder.cpp
@@ -389,13 +389,17 @@
     }
   }
 
-  jit_debug_ptr_ = CreateJitDebug(arch_, process_memory_);
-  jit_debug_ = jit_debug_ptr_.get();
-  SetJitDebug(jit_debug_);
+  // jit_debug_ and dex_files_ may have already been set, for example in
+  // AndroidLocalUnwinder::InternalUnwind.
+  if (jit_debug_ == nullptr) {
+    jit_debug_ptr_ = CreateJitDebug(arch_, process_memory_);
+    SetJitDebug(jit_debug_ptr_.get());
+  }
 #if defined(DEXFILE_SUPPORT)
-  dex_files_ptr_ = CreateDexFiles(arch_, process_memory_);
-  dex_files_ = dex_files_ptr_.get();
-  SetDexFiles(dex_files_);
+  if (dex_files_ == nullptr) {
+    dex_files_ptr_ = CreateDexFiles(arch_, process_memory_);
+    SetDexFiles(dex_files_ptr_.get());
+  }
 #endif
 
   return true;