cnbatch / kcptube

同时支持传送TCP与UDP的KCP通道,附带端口跳跃的功能,以及FEC,自带中继服务器支持
BSD 3-Clause "New" or "Revised" License
116 stars 15 forks source link

kcptube segfault error #26

Closed Handsome1080P closed 4 months ago

Handsome1080P commented 4 months ago

version:20240515 client.

Error

[58456.235864] kcptube[13360]: segfault at 200 ip 000000000045eedb sp 00007f908011cb90 error 4 in kcptube[401000+342000]

Config

mode=client listen_on=127.0.0.1 listen_port=101 destination_port=57100-57500 dport_refresh=600 destination_address=xxxxxxx encryption_algorithm=AES-GCM encryption_password=634218 udp_timeout=180 keep_alive=30 fec=25:5 kcp=fast3 outbound_bandwidth=20M inbound_bandwidth=100M ipv4_only=true

cnbatch commented 4 months ago

确实有bug,正在排查中

cnbatch commented 4 months ago

这个bug已经在新版本(20240515)修复好

wutongskype commented 4 months ago

这个bug已经在新版本(20240515)修复好

大佬, 怎么导出日志呀? 我这也是出错, 转发了一个SS的端口. 客户端崩溃 image

服务端配置文件 image

客户端配置文件 image

客户端系统是D11没法用glibc版本的, 使用的是musl版的, 不知道是不是这个问题. 两边都是musl版本的.

wutongskype commented 4 months ago

开始能连上, 也能打开个网页, 但是过一会就断了.. 客户报错上面这个

cnbatch commented 4 months ago

开始能连上, 也能打开个网页, 但是过一会就断了.. 客户报错上面这个

我用Debian 12试了下musl的版本,1个小时过去了都还没遇到这个错误。Debian 11实在是有点旧了,难说是不是旧系统的缘故。

要不先试试这些做法:

如果Windows版本一切正常,那多半就是Debian 11的锅了

wutongskype commented 4 months ago

开始能连上, 也能打开个网页, 但是过一会就断了.. 客户报错上面这个

我用Debian 12试了下musl的版本,1个小时过去了都还没遇到这个错误。Debian 11实在是有点旧了,难说是不是旧系统的缘故。

要不先试试这些做法:

  • Debian 11的Client,开启mux_tunnels
  • 换成在Windows系统运行客户端

如果Windows版本一切正常,那多半就是Debian 11的锅了

开启mux_tunnels后貌似好些了... 玩了俩小时游戏没见断了, 我继续试试在反馈.

另外大佬能不能增加个功能, 自动加载某个文件夹内的所有配置文件. 最好能热加载或减少 比如自动加载 /etc/kcptube 内所有配置文件 我这里是写的systemd服务, 每次增减一个转发都要改systemd文件...有点麻烦...

wutongskype commented 4 months ago

开始能连上, 也能打开个网页, 但是过一会就断了.. 客户报错上面这个

我用Debian 12试了下musl的版本,1个小时过去了都还没遇到这个错误。Debian 11实在是有点旧了,难说是不是旧系统的缘故。

要不先试试这些做法:

  • Debian 11的Client,开启mux_tunnels
  • 换成在Windows系统运行客户端

如果Windows版本一切正常,那多半就是Debian 11的锅了

大佬, 我这边测试了下, 客户端到是不崩溃了, 但是下载的时候会断流, 比如下面这个curl的测试, 我设置的是测试20秒, 通常5~10秒左右它就断流了. 同样的配置我试了好几台vps, 都是这个情况. 我底层转发的是个ss的端口. 链路大概是这样: curl > 本地192.168.1.120的v2rayN的SS协议客户端 > kcptube客户端 >公网> kcptube服务端 >VPS内网> VPS上的SS服务端 > 网站 image

我开始以为是带宽设置的问题, 被我降到10m了还是会断流, 下图中vps是AWS-LS, 平常丢包在3%以内,应该不是线路的问题, 我还测试了阿里云香港轻量, 也同样是断流. 另外在使用speedtest.net进行测速时也是会在下载中断流, 上传不会断流, 但是速度会从满速一直降到很低. image

cnbatch commented 4 months ago

开始能连上, 也能打开个网页, 但是过一会就断了.. 客户报错上面这个

我用Debian 12试了下musl的版本,1个小时过去了都还没遇到这个错误。Debian 11实在是有点旧了,难说是不是旧系统的缘故。 要不先试试这些做法:

  • Debian 11的Client,开启mux_tunnels
  • 换成在Windows系统运行客户端

如果Windows版本一切正常,那多半就是Debian 11的锅了

大佬, 我这边测试了下, 客户端到是不崩溃了, 但是下载的时候会断流, 比如下面这个curl的测试, 我设置的是测试20秒, 通常5~10秒左右它就断流了. 同样的配置我试了好几台vps, 都是这个情况. 我底层转发的是个ss的端口. 链路大概是这样: curl > 本地192.168.1.120的v2rayN的SS协议客户端 > kcptube客户端 >公网> kcptube服务端 >VPS内网> VPS上的SS服务端 > 网站 image

我开始以为是带宽设置的问题, 被我降到10m了还是会断流, 下图中vps是AWS-LS, 平常丢包在3%以内,应该不是线路的问题, 我还测试了阿里云香港轻量, 也同样是断流. 另外在使用speedtest.net进行测速时也是会在下载中断流, 上传不会断流, 但是速度会从满速一直降到很低. image

我的链路也是相似的,唯一不同的是,我用的*ray/ss是xray-core的ss。 在丢包率达到10%~12%的线路,下载大文件,比如xtom的ubuntu镜像,可以正常完成 image

会不会是v2ray的原因?

cnbatch commented 4 months ago

开始能连上, 也能打开个网页, 但是过一会就断了.. 客户报错上面这个

我用Debian 12试了下musl的版本,1个小时过去了都还没遇到这个错误。Debian 11实在是有点旧了,难说是不是旧系统的缘故。 要不先试试这些做法:

  • Debian 11的Client,开启mux_tunnels
  • 换成在Windows系统运行客户端

如果Windows版本一切正常,那多半就是Debian 11的锅了

开启mux_tunnels后貌似好些了... 玩了俩小时游戏没见断了, 我继续试试在反馈.

另外大佬能不能增加个功能, 自动加载某个文件夹内的所有配置文件. 最好能热加载或减少 比如自动加载 /etc/kcptube 内所有配置文件 我这里是写的systemd服务, 每次增减一个转发都要改systemd文件...有点麻烦...

目前做热加载有个障碍。Client停止运行后,如果停止前本身就有活跃连接,那么Linux和BSD不一定会立即完全释放端口,要等几十秒、一分钟左右才会释放完毕。

wutongskype commented 4 months ago

会不会是v2ray的原因?

我的服务器上也是xray-core开的ss, 直连没任何问题, 用kcptube就奇了怪了~~~ 但是更奇怪的是下载的时候会断流, 但是玩游戏可能是因为流量比较小, 却没有断流...

目前做热加载有个障碍。Client停止运行后,如果停止前本身就有活跃连接,那么Linux和BSD不一定会立即完全释放端口,要等几十秒、一分钟左右才会释放完毕。

我也发现这个问题了... 客户端停掉以后要过一会才能再次开启 ~_~

cnbatch commented 4 months ago

会不会是v2ray的原因?

我的服务器上也是xray-core开的ss, 直连没任何问题, 用kcptube就奇了怪了~~~ 但是更奇怪的是下载的时候会断流, 但是玩游戏可能是因为流量比较小, 却没有断流...

终于发现差异点了:v2rayN 这个位置,我是直接用xray-core,并且版本号跟服务器那边完全一致

然后刚刚想起还有一个注意点:MTU值不能太高 我设置的mtu默认值为1420,其他转发工具几乎都是默认1400,不知道会不会也有关系 ss客户端换成xray-core还是断的话,可以给kcptube加个kcp_mtu=1400(或者更低的数值)试试,

wutongskype commented 4 months ago

然后刚刚想起还有一个注意点:MTU值不能太高 我设置的mtu默认值为1420,其他转发工具几乎都是默认1400,不知道会不会也有关系 ss客户端换成xray-core还是断的话,可以给kcptube加个kcp_mtu=1400(或者更低的数值)试试,

测试了几天, 发现貌似是下载源的问题~_~, 就很奇怪......

首先 https://mirror-cdn.xtom.com/ubuntu-releases/20.04/ubuntu-20.04.6-live-server-amd64.iso 这个下载源直连或是用其他方式代理就不断流. 用kcptube转发的任何代理协议下载都会中途断流...

然后我换了个 http://speedtest.sin1.sg.leaseweb.net/1000mb.bin 做为下载测试的源文件 再curl下载测试就不断流了,

最后我转发了个socks5端口给浏览器使用, 再用speedtest.net进行网页测速, 同样测速地点, 也是两种情况. 一种是测下载速度时1秒左右就断流, 然后跳到上传测速, 但上传速度逐渐走的很低直到测试结束 令一种情况, 下载测速的时候速度会慢慢走低, 然后一直到没有流量, 然后再慢慢走高恢复速度.. 中途应该没断流, 直到下载测试结束 然后上传测试时速度正常, 能达到客户端上传满速..

以上测试都没有改MTU, 使用默认值... 因为我之前测试的时候MTU降到1000也还是断流... 最后换了个测试源curl上就不断了, 但是speedtest上还有点问题..

wutongskype commented 4 months ago

对了.. 还有 .. 另外... 客户端自定义模式那里能不能在远程目标那里支持一下域名呀?