android_system_core/metricsd/uploader
Todd Poynor 2862a7843d metricsd binder: Abort if fail to register service
Assert abort metricsd if binder service registration fails.

If the addService() call fails (for reasons that at least include an SELinux
policy denial), the call to joinThreadPool() apparently processes a stale
pending weak dereference that triggers an abort on a probable double-free:

 F libc    : Invalid address 0xbe8bfa30 passed to free: value not allocated
 F libc    : Fatal signal 6 (SIGABRT), code -6 in tid 609 (metricsd)

Since metricsd is severely hobbled if registration fails, abort and see if
things work better the next time.  If not, the crash loop will hopefully
attract attention to the problem.

Change-Id: I520d0eafb9cb25ee225d589bfd87df4e51f6b181
2015-12-09 13:32:37 -08:00
..
mock metricsd: Make the unit tests pass. 2015-09-02 13:30:48 -07:00
proto metricsd: Rename build_target_id to product_id. 2015-10-06 15:27:37 -07:00
bn_metricsd_impl.cc metricsd binder: Abort if fail to register service 2015-12-09 13:32:37 -08:00
bn_metricsd_impl.h metricsd: Allows introspecting the metrics. 2015-12-04 13:14:58 -08:00
crash_counters.cc metricsd: Log over binder. 2015-12-03 17:01:27 -08:00
crash_counters.h metricsd: Log over binder. 2015-12-03 17:01:27 -08:00
metrics_hashes.cc metricsd: Relicense as Apache 2. 2015-08-10 15:57:47 -07:00
metrics_hashes.h metricsd: Relicense as Apache 2. 2015-08-10 15:57:47 -07:00
metrics_hashes_unittest.cc metricsd: Relicense as Apache 2. 2015-08-10 15:57:47 -07:00
metrics_log.cc metricsd: Log over binder. 2015-12-03 17:01:27 -08:00
metrics_log.h metricsd: Log over binder. 2015-12-03 17:01:27 -08:00
metrics_log_base.cc Use GetBuildTime from libchrome instead of __DATE__ 2015-10-29 13:02:42 -07:00
metrics_log_base.h metricsd: Relicense as Apache 2. 2015-08-10 15:57:47 -07:00
metrics_log_base_unittest.cc metricsd: Relicense as Apache 2. 2015-08-10 15:57:47 -07:00
sender.h metricsd: Relicense as Apache 2. 2015-08-10 15:57:47 -07:00
sender_http.cc system/core: Rename "chromeos" -> "brillo" in include paths and namespaces 2015-10-13 15:29:24 -07:00
sender_http.h core: Rename libchromeos into libbrillo 2015-10-27 11:46:37 -07:00
system_profile_cache.cc metricsd: Use different directories for each daemon. 2015-11-30 13:34:49 -08:00
system_profile_cache.h metricsd: Don't upload if product id is empty. 2015-11-17 13:22:30 -08:00
system_profile_setter.h metricsd: Don't crash when some metadata is missing. 2015-08-20 11:57:50 -07:00
upload_service.cc metricsd: Log over binder. 2015-12-03 17:01:27 -08:00
upload_service.h metricsd: Log over binder. 2015-12-03 17:01:27 -08:00
upload_service_test.cc metricsd: Log over binder. 2015-12-03 17:01:27 -08:00