Guacd运行一段时间后,不能创建与远程主机的连接,重启方能解决

问题表象:

       使用guacamole搭建远程桌面访问,使用guacamole版本为1.5.4。连接远程主机使用rdp协议。运行过程中发现,各几个小时,guacamole连接就会断连,点击重新连接一直是连接不上,重启guacd后,点击重新连接,能i连接到远程主机桌面。

问题定位:

        发现该问题时,首先怀疑是guacamole-client和guacd的问题,两者重启后问题得到解决。而后长时间运行过程中多次出现该问题,偶然一次重启guacd问题也得到了解决。进而将问题锁定到guacd上。

       断连时,guacamole到gucad的TCP连接正常建立, gucad到远程主机的rdp连接建立失败。

       因为是连接问题,首先考虑文件句柄设置是否过小导致,经排查排除。

lsof

ulimit -a

cat /proc/sys/fs/file-nr

netstat -a  --观察连接创建情况

        进而分析是系统资源泄漏问题,经分析排除。

free -h

top

ps -ef | grep guacd

        排查分析后排除是操作系统层面的问题,进而分析应用本身。

        分析应用本身,肯定离不开打开两个组件的日志,将两个组件的debug日志全部打开,从guacamole的日志分析看不出明细的问题诱因。

如果是docker容器启动,添加变量:

guacamole:
    LOGBACK_LEVEL debug

gucad :
    GUACD_LOG_LEVEL  debug

  接着分析guacd的debug日志中找到了看着貌似不正常的日志。

Major bug, unable to allocate a TLS value for currentThread

   搜索发现是guacd的一个bug,具体分析描述:

https://github.com/FreeRDP/FreeRDP/discussions/9717
https://lists.apache.org/thread/z8m7y5n0nco0smn1mscdn0fhyxjctrtt

解决方案:

        回退guacd版本到1.5.3,问题得到解决。

        

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值