Skip to content

cli: blocks forever when stdin is an open pipe #284

Description

@myme

Any novem invocation that inherits a non-TTY stdin which stays open blocks forever — presumably it's looking there for a piped value.

That's bad in CI and agent contexts mainly because it's silent: some commands hang, and piped writes appear to succeed while writing nothing.

timeout 10 novem -p my-plot -r name < <(sleep 30); echo $?   # 124, hung
printf '1: 0 bg red' | novem -p my-plot -w config/colors     # looks fine, writes nothing

I lost several -w writes to the second form before noticing the values never landed. Workaround is < /dev/null on every call.

Suggestion: only read stdin when the command actually expects a value there, or when stdin is not a TTY and data is already available.

Still present on 0.6.3.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions