From ac9547e6b2d47a49f8ad27ad2a3a25b7e04b0f38 Mon Sep 17 00:00:00 2001 From: Mahmood Ali Date: Fri, 22 Nov 2019 10:44:59 -0500 Subject: [PATCH] drivers: always initialize taskHandle.logger Looks like the RecoverTask doesn't set taskHandle.logger field causing a panic when the handle attempts to log (e.g. when Shutdown or Signaling fails). --- drivers/exec/driver.go | 1 + drivers/exec/driver_pre09.go | 1 + drivers/java/driver.go | 1 + drivers/java/driver_pre09.go | 1 + drivers/qemu/driver.go | 1 + drivers/qemu/driver_pre09.go | 1 + drivers/rkt/driver.go | 1 + drivers/rkt/driver_pre09.go | 1 + 8 files changed, 8 insertions(+) diff --git a/drivers/exec/driver.go b/drivers/exec/driver.go index 6611ec472..6c0bf7c99 100644 --- a/drivers/exec/driver.go +++ b/drivers/exec/driver.go @@ -304,6 +304,7 @@ func (d *Driver) RecoverTask(handle *drivers.TaskHandle) error { procState: drivers.TaskStateRunning, startedAt: taskState.StartedAt, exitResult: &drivers.ExitResult{}, + logger: d.logger, } d.tasks.Set(taskState.TaskConfig.ID, h) diff --git a/drivers/exec/driver_pre09.go b/drivers/exec/driver_pre09.go index 5b063ea24..607142d9e 100644 --- a/drivers/exec/driver_pre09.go +++ b/drivers/exec/driver_pre09.go @@ -36,6 +36,7 @@ func (d *Driver) recoverPre09Task(h *drivers.TaskHandle) error { procState: drivers.TaskStateRunning, startedAt: time.Now(), exitResult: &drivers.ExitResult{}, + logger: d.logger, } d.tasks.Set(h.Config.ID, th) diff --git a/drivers/java/driver.go b/drivers/java/driver.go index ac35aa82d..02931cdcf 100644 --- a/drivers/java/driver.go +++ b/drivers/java/driver.go @@ -290,6 +290,7 @@ func (d *Driver) RecoverTask(handle *drivers.TaskHandle) error { procState: drivers.TaskStateRunning, startedAt: taskState.StartedAt, exitResult: &drivers.ExitResult{}, + logger: d.logger, } d.tasks.Set(taskState.TaskConfig.ID, h) diff --git a/drivers/java/driver_pre09.go b/drivers/java/driver_pre09.go index 80d1fc5ca..9f1b3f31f 100644 --- a/drivers/java/driver_pre09.go +++ b/drivers/java/driver_pre09.go @@ -36,6 +36,7 @@ func (d *Driver) recoverPre09Task(h *drivers.TaskHandle) error { procState: drivers.TaskStateRunning, startedAt: time.Now(), exitResult: &drivers.ExitResult{}, + logger: d.logger, } d.tasks.Set(h.Config.ID, th) diff --git a/drivers/qemu/driver.go b/drivers/qemu/driver.go index 156dd1104..f24bda73d 100644 --- a/drivers/qemu/driver.go +++ b/drivers/qemu/driver.go @@ -286,6 +286,7 @@ func (d *Driver) RecoverTask(handle *drivers.TaskHandle) error { procState: drivers.TaskStateRunning, startedAt: taskState.StartedAt, exitResult: &drivers.ExitResult{}, + logger: d.logger, } d.tasks.Set(taskState.TaskConfig.ID, h) diff --git a/drivers/qemu/driver_pre09.go b/drivers/qemu/driver_pre09.go index 10d810ee0..eeef3d29f 100644 --- a/drivers/qemu/driver_pre09.go +++ b/drivers/qemu/driver_pre09.go @@ -36,6 +36,7 @@ func (d *Driver) recoverPre09Task(h *drivers.TaskHandle) error { procState: drivers.TaskStateRunning, startedAt: time.Now(), exitResult: &drivers.ExitResult{}, + logger: d.logger, } d.tasks.Set(h.Config.ID, th) diff --git a/drivers/rkt/driver.go b/drivers/rkt/driver.go index 238dcfc77..6de9f4dfe 100644 --- a/drivers/rkt/driver.go +++ b/drivers/rkt/driver.go @@ -405,6 +405,7 @@ func (d *Driver) RecoverTask(handle *drivers.TaskHandle) error { procState: drivers.TaskStateRunning, startedAt: taskState.StartedAt, exitResult: &drivers.ExitResult{}, + logger: d.logger, } d.tasks.Set(taskState.TaskConfig.ID, h) diff --git a/drivers/rkt/driver_pre09.go b/drivers/rkt/driver_pre09.go index e974e9c09..a30c80ad4 100644 --- a/drivers/rkt/driver_pre09.go +++ b/drivers/rkt/driver_pre09.go @@ -36,6 +36,7 @@ func (d *Driver) recoverPre09Task(h *drivers.TaskHandle) error { procState: drivers.TaskStateRunning, startedAt: time.Now(), exitResult: &drivers.ExitResult{}, + logger: d.logger, } d.tasks.Set(h.Config.ID, th)