Skip to content

Murex gets stuck in loop due to EAGAIN #958

@tiymat

Description

@tiymat

Describe the bug:
Not sure if this is properly a murex or readline bug, but I'm leaning Murex, so I'll open it here.

When I use Murex on Linux to run a command which sets stdin to non-blocking and doesn't set it back, the line read /dev/stdin: resource temporarily unavailable repeatedly spams my terminal so fast I can't even kill Murex with Ctrl+C. I have to close my terminal emulator.

Expected behaviour:
At least one of murex and readline should handle this more gracefully.

Screenshots:
N/A

Platform (please complete the following information):

  • OS, output from uname -a if supported: 6.17.5-arch1-1
  • Terminal Emulator: kitty 0.43.1 (also reproduced in foot 1.25.0)
  • Murex version, output from version --no-app-name: 7.1.4143 (unknown)

Additional context
I encountered this by running the Curl test suite with make test from the curl source directory, but I was able to get an LLM to generate a one-liner that reproduces the issue: python3 -c "import fcntl,os,sys; fcntl.fcntl(0,fcntl.F_SETFL,fcntl.fcntl(0,fcntl.F_GETFL)|os.O_NONBLOCK); print('stdin now non-blocking')"
The issue doesn't occur when I run the above python command in bash and fish.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugUnexpected behaviordeployed to `develop`Feature built. Currently BETA testing in the `develop` branchin progressIssue is currently being worked on (possibly in a feature branch)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions