Fix fault handler invoked before vm running.

If the ART fault handler is invoked before the vm is running, the
code derefences a NULL pointer. In this case, just invoke the next
handler in the chain instead.

Change-Id: I58f0493eae1825d7a92a1e052c88e80527914dba
diff --git a/runtime/fault_handler.cc b/runtime/fault_handler.cc
index ab3ec62..65844a5 100644
--- a/runtime/fault_handler.cc
+++ b/runtime/fault_handler.cc
@@ -177,6 +177,12 @@
 
   Thread* self = Thread::Current();
 
+  // If ART is not running, or the thread is not attached to ART pass the
+  // signal on to the next handler in the chain.
+  if (self == nullptr || Runtime::Current() == nullptr || !Runtime::Current()->IsStarted()) {
+    InvokeUserSignalHandler(sig, info, context);
+    return;
+  }
   // Now set up the nested signal handler.
 
   // TODO: add SIGSEGV back to the nested signals when we can handle running out stack gracefully.