warpdotdev / Warp

Warp is a modern, Rust-based terminal with AI built in so you and your team can build great software, faster.
https://warp.dev
Other
20.75k stars 348 forks source link

cannot set terminal process group (-1): Inappropriate ioctl for device #5095

Closed eifinger closed 2 weeks ago

eifinger commented 1 month ago

Dupe Check

Operating System

MacOS

Operating System and Version

14.5 (23F79)

Local Shell Version

5.9

Remote Shell Version

5.0.17(1)-release

Warp Version

v0.2024.06.25.08.02.stable_01

I have tried commenting out my system & user rcfiles and warp still will not bootstrap

Screenshots

No response

Include shell xtrace output

WARP_DEBUG_MODE=1 ssh user@host bash: cannot set terminal process group (-1): Inappropriate ioctl for device bash: no job control in this shell

Does this block you from using Warp daily?

Yes, this issue prevents me from using Warp daily.

Is this a Warp specific issue? (i.e. does it happen in Terminal, iTerm, Kitty, etc.)

Yes, this I confirmed this only happens in Warp, not other terminals.

Warp Internal (ignore) - linear-label:e7dfaa84-5fdb-4a00-b754-d8912da923fa

None

Warp Internal (ignore): linear-label:b8107fdf-ba31-488d-b103-d271c89cac3e

None

eifinger commented 1 month ago

This started to happen one or two versions ago (can't say for sure, sorry)

dannyneira commented 1 month ago

Hi @eifinger sorry to hear about this. I don't know of any changes to SSH recently that may have caused this. Warp has an SSH Wrapper that enables features (like the blocks, prompt, completions, etc.) on remote machines requiring the default prompt on the remote machine to be either bash or zsh.

As a workaround you can add command ssh to your Settings > Subshells > Added commands menu, then run command ssh <user@server> to connect to a remote session, this will attempt to enable Warp features as a subshell.

You can also try disabling the SSH Wrapper by navigating to Settings > Features. Blocks will stop working but with it disabling, SSH should work as normal.

Related docs: https://docs.warp.dev/features/ssh https://docs.warp.dev/features/subshells

Please let us know if that helps, we'll be working on further SSH improvements soon so we appreciate your patience in the meantime.

eifinger commented 1 month ago

Using the workaround with command ssh and enable the subshell does work for me. I already found this on your good documentation. I am looking forward to new releases and am happy to report if the issue went away.

arb000r commented 1 month ago

I am also encountering a few issues here where I have noticed that the warp SSH blocks shell randomly calls exit after 1 or more commands.

Here is an example of input and output.

  1. SSH'd into the instance. For extra information - it is an aws graviton instance hooked up with tailscale ssh. SSH is performed by ssh ec2-user@<instance-name> where instance-name is a magicDNS configured name.
    ControlSocket /Users/dummy/.ssh/17210068769296 already exists, disabling multiplexing
    bash: cannot set terminal process group (-1): Inappropriate ioctl for device
    bash: no job control in this shell
    A newer release of "Amazon Linux" is available.
    Version 2023.5.20240624:
    Version 2023.5.20240701:
    Version 2023.5.20240708:
    Run "/usr/bin/dnf check-release-update" for full release and version update info

After this I execute ls three times or for example docker ps -a maybe once and the shell automatically calls exit

If I use the command ssh workaround. The shell automatically calls logout instead of exit and it is the same result.

eifinger commented 2 weeks ago

My error does not appear any more. Currently running v0.2024.08.06.08.01.stable_00