Troubleshooting

Validation failures before startup

If shmpipeline validate fails, the most common causes are:

  • duplicate shared-memory names

  • duplicate kernel names

  • kernels referencing undefined streams

  • invalid storage combinations between streams and kernel kinds

  • multiple kernels producing the same output stream

Use shmpipeline describe pipeline.yaml to confirm the intended graph shape.

Worker stays in waiting-input

This means the worker process is alive but has not yet received its first trigger input.

Typical causes:

  • no external producer is writing the source stream

  • the wrong stream is being driven

  • a synthetic input writer was not started for a source stream

Worker becomes idle

This means the worker has processed frames before but has not made recent output progress.

Typical causes:

  • upstream input has stalled

  • the configured timeout is too aggressive for the workload

  • a long-running stage is introducing backpressure

GPU viewer or CPU reader cannot inspect a stream

If a GPU stream must be readable from CPU code, create it with cpu_mirror: true.

GPU runtime requirements

GPU support depends on a compatible CUDA and PyTorch environment. When CUDA is unavailable, GPU-specific tests are skipped and GPU examples will not run.

Repeated lifecycle testing

For release testing or stress testing, repeatedly exercise:

  • build()

  • start()

  • stop()

  • shutdown()

This catches stale-handle, teardown, and resource ownership issues earlier than single-run smoke tests.