Merge "TEMPORARY HACK: strace and fail on some timeout"
am: 5642cc09f4

Change-Id: Ifb200a4a234642dd86cc09054469cab0563cf70d
diff --git a/tools/jack_server_setup.mk b/tools/jack_server_setup.mk
index 8e42817..56c4ca7 100644
--- a/tools/jack_server_setup.mk
+++ b/tools/jack_server_setup.mk
@@ -39,10 +39,9 @@
 ALARM := $(shell which alarm)
 endif
 ifneq (,$(ALARM))
-setup-jack-server : PRIVATE_JACK_ADMIN := $(ALARM) -l 600 $(LOCAL_PATH)/jack-admin
-else
-setup-jack-server : PRIVATE_JACK_ADMIN := $(LOCAL_PATH)/jack-admin
+ALARM := $(ALARM) -l 600
 endif
+setup-jack-server : PRIVATE_JACK_ADMIN := $(LOCAL_PATH)/jack-admin
 setup-jack-server : PRIVATE_PATH := $(LOCAL_PATH)
 setup-jack-server : PRIVATE_SERVER_VERSION := $(jack_server_version)
 setup-jack-server : PRIVATE_SERVER_JAR := $(jack_server_jar)
@@ -50,20 +49,20 @@
 ifndef jack_server_disabled
 	@echo Ensuring Jack server is installed and started
 ifneq ($(dist_goal),)
-	$(hide) $(PRIVATE_JACK_ADMIN) stop-server 2>&1 || (exit 0)
-	$(hide) $(PRIVATE_JACK_ADMIN) kill-server 2>&1 || (exit 0)
-	$(hide) $(PRIVATE_JACK_ADMIN) uninstall-server 2>&1 || (exit 0)
+	$(hide) $(ALARM) $(PRIVATE_JACK_ADMIN) stop-server 2>&1 || (exit 0)
+	$(hide) $(ALARM) $(PRIVATE_JACK_ADMIN) kill-server 2>&1 || (exit 0)
+	$(hide) $(ALARM) $(PRIVATE_JACK_ADMIN) uninstall-server 2>&1 || (exit 0)
 endif
-	$(hide) $(PRIVATE_JACK_ADMIN) install-server $(PRIVATE_PATH)/jack-launcher.jar $(PRIVATE_SERVER_JAR)  2>&1 || (exit 0)
+	$(hide) if ! $(ALARM) $(SHELL) -c "$(PRIVATE_JACK_ADMIN) install-server $(PRIVATE_PATH)/jack-launcher.jar $(PRIVATE_SERVER_JAR)  2>&1 || (exit 0)"; then uptime; $(ALARM) strace -f $(PRIVATE_JACK_ADMIN) install-server $(PRIVATE_PATH)/jack-launcher.jar $(PRIVATE_SERVER_JAR)  2>&1 || (exit 1); fi
 ifneq ($(dist_goal),)
 	$(hide) mkdir -p "$(DIST_DIR)/logs/jack/"
-	$(hide) JACK_SERVER_VM_ARGUMENTS="$(jack_vm_args) -Dcom.android.jack.server.log.file=$(abspath $(DIST_DIR))/logs/jack/jack-server-%u-%g.log" $(PRIVATE_JACK_ADMIN) start-server 2>&1 || exit 0
+	$(hide) if ! JACK_SERVER_VM_ARGUMENTS="$(jack_vm_args) -Dcom.android.jack.server.log.file=$(abspath $(DIST_DIR))/logs/jack/jack-server-%u-%g.log" $(ALARM) $(SHELL) -c "$(PRIVATE_JACK_ADMIN) start-server 2>&1 || exit 0"; then uptime; JACK_SERVER_VM_ARGUMENTS="$(jack_vm_args) -Dcom.android.jack.server.log.file=$(abspath $(DIST_DIR))/logs/jack/jack-server-%u-%g.log" $(ALARM) strace -f $(PRIVATE_JACK_ADMIN) start-server 2>&1 || (exit 1); fi
 else
-	$(hide) JACK_SERVER_VM_ARGUMENTS="$(jack_vm_args)" $(PRIVATE_JACK_ADMIN) start-server 2>&1 || exit 0
+	$(hide) JACK_SERVER_VM_ARGUMENTS="$(jack_vm_args)" $(ALARM) $(PRIVATE_JACK_ADMIN) start-server 2>&1 || exit 0
 endif
-	$(hide) $(PRIVATE_JACK_ADMIN) update server $(PRIVATE_SERVER_JAR) $(PRIVATE_SERVER_VERSION) 2>&1 || exit 0
-	$(hide) $(foreach jack_jar,$(available_jack_jars),$(PRIVATE_JACK_ADMIN) update jack $(jack_jar) $(patsubst $(PRIVATE_PATH)/jacks/jack-%.jar,%,$(jack_jar)) || exit 47;)
+	$(hide) if ! $(ALARM) $(SHELL) -c "$(PRIVATE_JACK_ADMIN) update server $(PRIVATE_SERVER_JAR) $(PRIVATE_SERVER_VERSION) 2>&1 || exit 0"; then uptime; $(ALARM) strace -f $(PRIVATE_JACK_ADMIN) update server $(PRIVATE_SERVER_JAR) $(PRIVATE_SERVER_VERSION) || (exit 1); fi
+	$(hide) $(foreach jack_jar,$(available_jack_jars),$(ALARM) $(PRIVATE_JACK_ADMIN) update jack $(jack_jar) $(patsubst $(PRIVATE_PATH)/jacks/jack-%.jar,%,$(jack_jar)) || exit 47;)
 ifdef JACK_ENGINEERING_VERSION
-	$(hide) $(PRIVATE_JACK_ADMIN) update jack $(jack_eng_jar)
+	$(hide) $(ALARM) $(PRIVATE_JACK_ADMIN) update jack $(jack_eng_jar)
 endif
 endif