diff --git a/src/builder/b-task.c b/src/builder/b-task.c
index 72c35eb..941b291 100644
--- a/src/builder/b-task.c
+++ b/src/builder/b-task.c
@@ -177,6 +177,8 @@ saib_task_destroy(struct sai_nspawn *ns)
{
int n;
+ lwsl_notice("%s: destroying task %s\n", __func__, ns->task ? ns->task->uuid : "null");
+
ns->finished_when_logs_drained = 0;
lws_sul_cancel(&ns->sul_cleaner);
lws_sul_cancel(&ns->sul_task_cancel);
@@ -733,8 +735,8 @@ saib_ws_json_rx_builder(struct sai_plat_server *spm, const void *in, size_t len)
lwsac_free(&ns->task->ac_task_container);
ns->task = task; /* we are owning this nspawn for the duration */
- ns->current_step = task->build_step;
- if (!ns->current_step) {
+ if (!task->build_step) {
+ ns->current_step = 0;
ns->spins = 0;
ns->user_cancel = 0;
ns->us_cpu_user = 0;
@@ -837,6 +839,7 @@ saib_ws_json_rx_builder(struct sai_plat_server *spm, const void *in, size_t len)
can = (sai_cancel_t *)a.dest;
+ lwsl_notice("%s: received task cancel for %s\n", __func__, can->task_uuid);
lwsl_notice("%s: SAIB_RX_TASK_CANCEL: %s\n", __func__, can->task_uuid);
lws_start_foreach_dll_safe(struct lws_dll2 *, mp, mp1,
diff --git a/src/server/s-task.c b/src/server/s-task.c
index 5236540..11712ef 100644
--- a/src/server/s-task.c
+++ b/src/server/s-task.c
@@ -842,6 +842,8 @@ sais_task_reset(struct vhd *vhd, const char *task_uuid)
sais_set_task_state(vhd, NULL, NULL, task_uuid, SAIES_WAITING, 1, 1);
+ lwsl_notice("%s: stopping task %s on builders\n", __func__, task_uuid);
+ lwsl_notice("%s: stopping task %s on builders\n", __func__, task_uuid);
sais_task_stop_on_builders(vhd, task_uuid);
/*
@@ -1106,7 +1108,6 @@ sais_continue_task(struct vhd *vhd, const char *task_uuid)
if (!p) { /* no more steps */
sais_set_task_state(vhd, NULL, NULL, task->uuid, SAIES_SUCCESS, 0, 0);
- sais_task_stop_on_builders(vhd, task->uuid);
sais_event_db_close(vhd, &pdb);
lwsac_free(&task->ac_task_container);
free(task);
diff --git a/src/server/s-ws-builder.c b/src/server/s-ws-builder.c
index 3094801..63211af 100644
--- a/src/server/s-ws-builder.c
+++ b/src/server/s-ws-builder.c
@@ -1134,6 +1134,7 @@ sais_ws_json_tx_builder(struct vhd *vhd, struct pss *pss, uint8_t *buf,
sai_cancel_t *c = lws_container_of(pss->task_cancel_owner.head,
sai_cancel_t, list);
+ lwsl_notice("%s: sending task cancel for %s\n", __func__, c->task_uuid);
js = lws_struct_json_serialize_create(lsm_schema_json_map_can,
LWS_ARRAY_SIZE(lsm_schema_json_map_can), 0, c);
if (!js)