telemetry: don't log.Fatal if os.Executable returned an error

It's possible for os.Executable to fail to find the path to the
executable. This can happen for instance on AIX if os.Args[0] is not
an absolute path and we can't find it in PATH.

For #66344

Change-Id: Ief083e022a7140b228c62a5e703985e7b199561f
Reviewed-on: https://go-review.googlesource.com/c/telemetry/+/574815
Reviewed-by: Alan Donovan <adonovan@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
diff --git a/start.go b/start.go
index 661c912..6c88992 100644
--- a/start.go
+++ b/start.go
@@ -112,7 +112,11 @@
 	// Fork+exec the telemetry child.
 	exe, err := os.Executable()
 	if err != nil {
-		log.Fatal(err)
+		// There was an error getting os.Executable. It's possible
+		// for this to happen on AIX if os.Args[0] is not an absolute
+		// path and we can't find os.Args[0] in PATH.
+		log.Printf("failed to start telemetry sidecar: os.Executable: %v", err)
+		return
 	}
 	cmd := exec.Command(exe, "** telemetry **") // this unused arg is just for ps(1)
 	daemonize(cmd)