MetaCubeX / mihomo

A simple Python Pydantic model for Honkai: Star Rail parsed data from the Mihomo API.
https://wiki.metacubex.one
MIT License
13.87k stars 2.4k forks source link

[Bug] clash.meta内核下tuic多线程测速崩溃 #623

Open lateid opened 1 year ago

lateid commented 1 year ago

Verify steps

Clash version

clash -1.14.5 & clash -Prerelease-Alpha

What OS are you seeing the problem on?

Windows

Clash config

mixed-port: *

tcp-concurrent: true
geodata-mode: true
global-client-fingerprint: random

allow-lan: true
bind-address: "*"
log-level: info
external-controller: *
secret: *

# DNS配置
dns:
  enable: true # 关闭将使用系统 DNS
  prefer-h3: true # 开启 DoH 支持 HTTP/3,将并发尝试
  listen: 0.0.0.0:53 # 开启 DNS 服务器监听
  default-nameserver:
    - 114.114.114.114
    - 8.8.8.8
    # - tls://1.12.12.12:853
    # - tls://223.5.5.5:853
    # - system  # append DNS server from system configuration. If not found, it would print an error log and skip.
  enhanced-mode: fake-ip # or redir-host

  fake-ip-range: 198.18.0.1/16 # fake-ip 池设置

  nameserver:
    - https://doh.pub/dns-query # DNS over HTTPS
    - https://dns.alidns.com/dns-query#h3=true # 强制 HTTP/3,与 perfer-h3 无关,强制开启 DoH 的 HTTP/3 支持,若不支持将无法使用
    - https://mozilla.cloudflare-dns.com/dns-query#DNS&h3=true # 指定策略组和使用 HTTP/3
    - 8.8.8.8 # default value
    - tls://223.5.5.5:853 # DNS over TLS
    - dhcp://en0 # dns from dhcp
    - quic://dns.adguard.com:784 # DNS over QUIC
    # - '8.8.8.8#en0' # 兼容指定DNS出口网卡

  nameserver-policy:
    #   'www.baidu.com': '114.114.114.114'
    #   '+.internal.crop.com': '10.0.0.1'
    "geosite:cn,private,apple":
      - https://doh.pub/dns-query
      - https://dns.alidns.com/dns-query
    "www.baidu.com,+.google.cn": [223.5.5.5, https://dns.alidns.com/dns-query]
tun:
  enable: true
  stack: gvisor
  auto-route: true
  auto-detect-interface: true
  dns-hijack:
    - any:53

# 嗅探域名 可选配置
sniffer:
  enable: false
  override-destination: false
  sniff: # TLS 默认如果不配置 ports 默认嗅探 443
    TLS:
    #  ports: [443, 8443]

    # 默认嗅探 80
    HTTP: # 需要嗅探的端口

      ports: [80, 8080-8880]
      # 可覆盖 sniffer.override-destination
      override-destination: true
  force-domain:
    - +.v2ex.com
  sniffing:
    - tls
    - http
  port-whitelist:
    - "80"
    - "443"
    # - 8000-9999
proxies:
   - name: "hinet"
      server: *
      port: 33552
      type: tuic
      uuid: *
      password: *
      # heartbeat-interval: 10000
      alpn: [h3]
      disable-sni: true
      reduce-rtt: true
      udp-relay-mode: quic # Available: "native", "quic". Default: "native"
      congestion-controller: bbr # Available: "cubic", "new_reno", "bbr". Default: "cubic"
      # max-udp-relay-packet-size: 1500
      fast-open: true
      # max-open-streams: 100 # default 100, too many open streams may hurt performance
      sni: *

Clash log

No response

Description

使用clash.meta内核,tuic协议的代理。多线程speedtest测速时,下载速度测试完后无法测试上传速度,此时所有的节点显示超时网络连接失败,但是其他设备使用同一节点一切正常,实际情况应为本地clash.meta内核崩溃。垦请大家测试一下,并向大家咨询是否有解决方法。

lateid commented 1 year ago

已排除服务端oom,初步认为是客户端的问题。单线程测速没有该问题。

Skyxim commented 1 year ago

@lateid 崩溃?能否提供崩溃时的软件日志

lateid commented 1 year ago

@lateid 崩溃?能否提供崩溃时的软件日志

@lateid 崩溃?能否提供崩溃时的软件日志

我不知道如何调取软件日志,我的环境是window-clash for window GUI-clash.meta内核。clash.meta程序没有退出运行,但是此时所有节点均超时(实际上这些节点在其他设备上正常)。

Skyxim commented 1 year ago

@lateid cfw 的话你看看用户目录,有个 .config 文件夹(可能是隐藏目录)在这里面应该有他存储的东西

lateid commented 1 year ago

@lateid cfw 的话你看看用户目录,有个 .config 文件夹(可能是隐藏目录)在这里面应该有他存储的东西

日志中没有error,warning也是一些无关信息,内核并没有崩溃或退出。问题补充:多线程测试后有时候会让所有节点超时,有时候仅测试的那个tuic协议节点一直超时。此时手动关闭所有连接,这个tuic节点就会恢复正常。日志文件我稍后上传

lateid commented 1 year ago

2023-06-15-154810.log

lateid commented 1 year ago

image 表现为一直卡在这个状态

nasaboy commented 1 year ago

和我在使用iOS上的stash表现一致,多线程测速,无法完成上传测试,然后在观察stash上已经建立的连接,发现收发的数据都是0,在服务器上看tuic的日志,发现服务器那边还是建立了连接。

lateid commented 1 year ago

和我在使用iOS上的stash表现一致,多线程测速,无法完成上传测试,然后在观察stash上已经建立的连接,发现收发的数据都是0,在服务器上看tuic的日志,发现服务器那边还是建立了连接。

我的stash客户端和windows下clash.meta内核均有这个问题

Skyxim commented 1 year ago

@lateid ?stash 也有是什么意思 也会测试 断网?

lateid commented 1 year ago

@lateid ?stash 也有是什么意思 也会测试 断网?

stash也会有同样的现象。tuic协议的节点测speedtest多线程测完下载后无法测上传,此时节点显示超时。

Skyxim commented 1 year ago

@lateid 服务器使用的 meta 还是 tuic 原版,尝试替换

lateid commented 1 year ago

@lateid 服务器使用的 meta 还是 tuic 原版,尝试替换

服务端使用原版tuic

nasaboy commented 1 year ago

在阿里云国际搭了个tuic服务器,然后在stash里添加,用speedtest测试又没问题,不确定是哪个出问题了。

Skyxim commented 1 year ago

麻烦提供下崩溃时 meta 的日志,使用 debug 等级 是否能确定非 OOM

ahdiua commented 11 months ago

同,上传在0-1Mbps之间浮动,用官方tuic-client没有问题

keaidang commented 11 months ago

离谱了,我更奇怪,我用的clash mate for android客户端vps使用的reality协议连接后使用speedtest测速,下载可以正常测试,测试上传就会卡住,此时vps内存,cpu全部吃满直接崩溃掉了,测试了三次都是这样!这个bug太离谱了希望修复!!!