temporalio/temporal · error

failed to execute task: %w

Error message

failed to execute task: %w

What it means

Error "failed to execute task: %w" thrown in temporalio/temporal.

Source

Thrown at service/history/timer_queue_task_executor_base.go:254

		WorkflowKey:     ms.GetWorkflowKey(),
		StateMachineRef: timer.Ref,
		Validate:        smt.Validate,
	}
	// TODO(bergundy): Duplicated this logic from the Access method. We specify write access here because
	// validateNotZombieWorkflow only blocks write access to zombie workflows.
	if err := t.validateNotZombieWorkflow(ms, hsm.AccessWrite); err != nil {
		return err
	}
	if err := t.validateStateMachineRef(ctx, workflowContext, ms, ref, false); err != nil {
		return err
	}
	node, err := ms.HSM().Child(ref.StateMachinePath())
	if err != nil {
		return err
	}

	if err := execute(node, smt); err != nil {
		return fmt.Errorf("failed to execute task: %w", err)
	}
	return nil
}

// executeChasmPureTimers walks a CHASM tree for expired pure task timers,
// executes them, and returns a count of timers processed.
func (t *timerQueueTaskExecutorBase) executeChasmPureTimers(
	ms historyi.MutableState,
	task *tasks.ChasmTaskPure,
	callback func(node chasm.NodePureTask, taskAttributes chasm.TaskAttributes, task any) (bool, error),
) error {
	// Because CHASM timers can target closed workflows, we need to specifically
	// exclude zombie workflows, instead of merely checking that the workflow is
	// running.
	if ms.GetExecutionState().State == enumsspb.WORKFLOW_EXECUTION_STATE_ZOMBIE {
		return consts.ErrWorkflowZombie
	}

View on GitHub (pinned to bde624efd1)

When it happens

Trigger: Thrown at service/history/timer_queue_task_executor_base.go:254 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of temporalio/temporal@bde624efd1 (2026-09-01). Data as JSON: /api/errors/d429069db9a5b74b. Report an issue: GitHub.