[X2Go-Dev] Infinite loop in X2GoRevFwTunnel handler on socket error

Mike Gabriel mike.gabriel at das-netzwerkteam.de
Wed Jun 22 22:47:08 CEST 2022


Hi Tomas,

On  Di 21 Jun 2022 22:19:31 CEST, Tomáš Cerha wrote:

> Dear list members,
>
> We develop a custom client for our application using python-x2go and  
> we make use of X2GoRevFwTunnel to expose some client side  
> functionality to the server side app.  We observed regular X2Go  
> session freezing after about 3 hours running on Windows (several  
> versions, reliably reproducible on Windows 10) with the following  
> output:
>
> WARN: Reverse tunnel <paramiko.Channel 16 (open) window=2036405 ->  
> <paramiko.Transport at 0x4e4f270L (cipher aes128-ctr, 128 bits)  
> (active; 2 open channel(s))>> encoutered socket error: [Errno 10054]  
> An existing connection was forcibly closed by the remote host
>
> This message comes from x2go_rev_forward_channel_handler() and if  
> the error persists, the code loops endlessly.  This freezes the  
> whole session (IMHO due to cooperative multitasking not having a  
> chance to switch).
>
> The attached patch solves the problem by breaking after catching the  
> socket error 1024 times.  This leads to the tunnel being closed,  
> which allows the application to reopen it automatically and recover  
> gracefully from the  situation.  This seems suffitiently  
> conservative, seems to make sense generally and definitely helps in  
> our case.  Of course, there may be other ways to deal with the  
> problem, so the patch is just a suggestion.
>
> We currently work around the problem by monkey patching the function  
> x2go_rev_forward_channel_handler(), but of course, we would love to  
> see the problem solved upstream.
>
> Thank you for considering the patch and for your great work on the  
> X2Go project.
>
> Best regards
>
> Tomáš Cerha


Thanks for digging into this. Patch has been applied.

Mike
-- 

DAS-NETZWERKTEAM
c\o Technik- und Ökologiezentrum Eckernförde
Mike Gabriel, Marienthaler Str. 17, 24340 Eckernförde
mobile: +49 (1520) 1976 148
landline: +49 (4351) 850 8940

GnuPG Fingerprint: 9BFB AEE8 6C0A A5FF BF22  0782 9AF4 6B30 2577 1B31
mail: mike.gabriel at das-netzwerkteam.de, http://das-netzwerkteam.de

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 851 bytes
Desc: Digitale PGP-Signatur
URL: <https://lists.x2go.org/pipermail/x2go-dev/attachments/20220622/567045fb/attachment.sig>


More information about the x2go-dev mailing list