bcicen/ctop · warning

action not implemented

Error message

action not implemented

What it means

ActionNotImplErr is a sentinel error exported by the manager package indicating that a lifecycle action (Start/Stop/Remove/Pause/Unpause/Restart) is not implemented by the Manager implementation. The Mock manager returns it for every action, and real implementations return it for unsupported operations on the current platform.

Source

Thrown at connector/manager/main.go:5

package manager

import "errors"

var ActionNotImplErr = errors.New("action not implemented")

type Manager interface {
	Start() error
	Stop() error
	Remove() error
	Pause() error
	Unpause() error
	Restart() error
	Exec(cmd []string) error
}

View on GitHub (pinned to 59f00dd6aa)

Solutions

  1. Configure a real manager implementation instead of the Mock driver
  2. Check platform/backend support for the specific action before calling it
  3. Handle the sentinel with errors.Is(err, manager.ActionNotImplErr) and skip or degrade gracefully

Example fix

// before
mgr, _ := manager.ByName("mock")
mgr.Start() // action not implemented
// after
mgr, _ := manager.ByName("docker")
if err := mgr.Start(); errors.Is(err, manager.ActionNotImplErr) { /* unsupported: handle */ }
Defensive patterns

Strategy: type-guard

Validate before calling

if _, ok := mgr.(*manager.Mock); ok { // skip actions or use a real manager }

Type guard

func implemented(m manager.Manager) bool { _, ok := m.(interface{ Start() error }); return !errors.Is(m.Start(), manager.ActionNotImplErr) }

Try / catch

if err := mgr.Start(); err != nil {
    if errors.Is(err, manager.ActionNotImplErr) { /* degrade/skip */ }
}

Prevention

When it happens

Trigger: Calling any Manager lifecycle method on a Mock instance, or on a backend (e.g. a platform-specific manager) that does not implement that particular action.

Common situations: Using the Mock driver in tests or by misconfiguration; calling Pause/Unpause on managers/backends that only support start/stop; switching connector backends via config to one with partial support.


AI-assisted analysis of bcicen/ctop@59f00dd6aa (2026-09-02). Data as JSON: /api/errors/d8327aaa5b64f110. Report an issue: GitHub.