Skip to content

My App Python: setup.sh escape hatch has no timeout, blocking build forever #22

Description

@birme

Part of Eyevinn/osaas-deploy-manager#1562 (item A), sibling of the php-runner ticket for the same bug (linked from php-runner#7-equivalent — see Eyevinn/osaas-deploy-manager#1562 for the original repro, which was reproduced on php-runner; this repo has the identical unguarded pattern).

Root cause (verified against main)

scripts/docker-entrypoint.sh:261-264:

if [ -f "setup.sh" ]; then
  echo "Running setup.sh..."
  chmod +x setup.sh
  ./setup.sh
fi

No timeout wrapper — identical defect to the php-runner instance of this bug (php-runnerscripts/docker-entrypoint.sh:198-202, from which this mechanism was originally copied per that file's own comment "Mirrors python-runner's mechanism"). If setup.sh never exits, the build hangs indefinitely in building status with no terminal failure.

Acceptance criteria

  • Wrap the setup.sh invocation with timeout <N>s (match whatever value the php-runner fix lands on for consistency across runners — check that PR before implementing).
  • On timeout or non-zero exit, treat as terminal failure using this repo's existing terminal-failure pattern (kill loading server / serve the failed error page) — follow whatever pattern this file already uses for other build-step failures (e.g. dependency install failure), matching the php-runner fix's approach.
  • Add/update a test covering: setup.sh exceeding the timeout resolves to a terminal failed state, not an indefinite hang.

E2E impact

No existing e2e coverage for this. Tracked centrally in a linked osaas-e2e-tests issue alongside the php-runner sibling.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions