Summary: | too large XML-RPC messages hangs Windows client | ||
---|---|---|---|
Product: | ThinLinc | Reporter: | Pierre Ossman <ossman> |
Component: | Client | Assignee: | Pierre Ossman <ossman> |
Status: | CLOSED FIXED | ||
Severity: | Normal | CC: | astrand, samuel |
Priority: | P2 | Keywords: | relnotes, samuel_tester |
Version: | 1.3.1 | ||
Target Milestone: | 4.9.0 | ||
Hardware: | PC | ||
OS: | Unknown | ||
Acceptance Criteria: |
Description
Pierre Ossman
More debugging and the issue is in ssh. There is no way to check if a pipe is writeable, so we simply claim it always is. Microsoft's documentation claims that a pipe should be blocking by default, so the expected behaviour is intermittent hangs in ssh until tlclient empties the pipe buffer. However in practice it is non-blocking and write() returns ENOSPC. Need to check if the documentation is wrong or if write() is misbehaving. The documentation was wrong. The pipes are non-blocking by default. And setting them to blocking solves the issue. Or maybe not... I found some code in ssh that sets things to non-blocking (haven't checked if it is called yet). However that code also figured out some way to check the outgoing buffer. There might be room to improve things. Seems to work well now. Tester should check that the Windows client can connect to a server where the user already has many (5+) sessions. I could reproduce the issue on Windows 10 with client build 5621 and can verify that it is fixed in build 5656. I could start 10 sessions with the same user and the same server without any problem. |