Comments (6)
@simos, I took your advice and updated the upstream bug report with some more info including linking to this bug. I do think the libssh maintainers simply have not been active this week:)
from multipass.
After much debugging, I found this to be a bug in libssh.
In it's polling of stdin, it does not check if POLLHUP (which indicates EOF) is set on the fd. It's a very simple fix and I'll plan on proposing it in upstream libssh. In the meantime, we'll probably need to patch the version we are using.
from multipass.
BTW, here is the simple diff:
diff --git a/src/connector.c b/src/connector.c
index 54e85241..714ef815 100644
--- a/src/connector.c
+++ b/src/connector.c
@@ -368,7 +368,7 @@ static int ssh_connector_fd_cb(ssh_poll_handle p,
if (revents & POLLERR) {
ssh_connector_except(connector, fd);
- } else if((revents & POLLIN) && fd == connector->in_fd) {
+ } else if(((revents & POLLIN) || (revents & POLLHUP)) && fd == connector->in_fd) {
ssh_connector_fd_in_cb(connector);
} else if((revents & POLLOUT) && fd == connector->out_fd) {
ssh_connector_fd_out_cb(connector);
from multipass.
Here is the upstream bug report:
from multipass.
Still no response from upstream. If we don't get a response soon, we should probably clone our own libssh branch, fix it, and point our submodule to it.
from multipass.
I think the bug report on libssh would need a bit of description to demonstrate the issue.
With plain SSH, the following works
$ echo bar | ssh localhost tee foo
bar
$
Perhaps a link to this report or a suitable example with plain SSH that demonstrates the issue?
from multipass.
Related Issues (20)
- Not able to shell into existing instance after upgrading to multipass 1.14.0 HOT 3
- New GUI doesn't respect theme HOT 1
- mounting error HOT 2
- ICYMI: v1.14.0 not available via brew yet HOT 4
- multipass launch with memory <1Gb fails on memtest HOT 2
- /etc/hosts file contents reset once VM's are stopped HOT 2
- (Re-)Enable Copy/Paste HOT 2
- [GUI] Bulk selection affects invisible instances
- Multipass mounted directory permission issues (tox and virtualenv) HOT 4
- The Multipass profile lost the icon in the Windows Terminal
- Document what platform/driver/cpu combos support nesting HOT 1
- multipass delete on suspended vm cause weird error message
- multipass stop --force can not stop suspended vm if it does not have a suspend tag
- Unable to start any VM on macOS 14.5 with M1 Max, the VMs always end up with an `unknown` status HOT 14
- Error accessing VM after launch; state is always `unknown` HOT 2
- launch: timed out waiting for response, Web ui: Unknown state and just hanging HOT 13
- Multipass can not reach hosts, yet browser can. HOT 1
- Re-implement TCI protocol HOT 2
- Incompatibility between Cloudflare WARP client and Multipass (+ solution) HOT 4
- Qt Error in systemd output Ubuntu 22.04 HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from multipass.