Describe the bug
The SftpServer calls release_channel() on the SSHFS SSHProcess, which nulls the channel field. But it later asks the process for the exit code, which internally registers an ExitStatusCallback with a null channel. An SSH_ERROR code is returned, but never handled.
The process's exit code can never be observed and every health check times out silently. Recovery is driven by EOF alone.
|
sftp_server_session{make_sftp_session(ssh_session, sshfs_process->release_channel())}, |
|
ssh_add_channel_callbacks(channel, &cb); |
Describe the bug
The SftpServer calls
release_channel()on the SSHFSSSHProcess, which nulls the channel field. But it later asks the process for the exit code, which internally registers anExitStatusCallbackwith a null channel. An SSH_ERROR code is returned, but never handled.The process's exit code can never be observed and every health check times out silently. Recovery is driven by EOF alone.
multipass/src/sshfs_mount/sftp_server.cpp
Line 313 in f4542c3
multipass/src/ssh/ssh_process.cpp
Line 48 in b0ed7e3