Check for errors for IServiceManager::get and list.

Test: compiles
Change-Id: I65b858b1ebd5d45739db05fcadb58ae48fd3337e
diff --git a/cmds/atrace/atrace.cpp b/cmds/atrace/atrace.cpp
index f6f337c..4954869 100644
--- a/cmds/atrace/atrace.cpp
+++ b/cmds/atrace/atrace.cpp
@@ -520,7 +520,7 @@
     Parcel data;
 
     sp<IServiceManager> sm = ::android::hardware::defaultServiceManager();
-    sm->list([&](const auto &interfaces) {
+    auto listRet = sm->list([&](const auto &interfaces) {
         for (size_t i = 0; i < interfaces.size(); i++) {
             string fqInstanceName = interfaces[i];
             string::size_type n = fqInstanceName.find("/");
@@ -528,13 +528,21 @@
                 continue;
             hidl_string fqInterfaceName = fqInstanceName.substr(0, n);
             hidl_string instanceName = fqInstanceName.substr(n+1, std::string::npos);
-            sm->get(fqInterfaceName, instanceName, [&](const auto &interface) {
+            auto getRet = sm->get(fqInterfaceName, instanceName, [&](const auto &interface) {
                 // TODO(b/32756130)
                 // Once IServiceManager returns IBase, use interface->notifySyspropsChanged() here
                 interface->transact(IBinder::SYSPROPS_TRANSACTION, data, nullptr, 0, nullptr);
             });
+            if (!getRet.isOk()) {
+                fprintf(stderr, "failed to get service %s: %s\n",
+                        fqInstanceName.c_str(),
+                        getRet.getStatus().toString8().string());
+            }
         }
     });
+    if (!listRet.isOk()) {
+        fprintf(stderr, "failed to list services: %s\n", listRet.getStatus().toString8().string());
+    }
 }
 
 // Set the trace tags that userland tracing uses, and poke the running