Closed dycwuxing closed 10 months ago
更新内核到"alpha-d6b80ac" 问题依旧,这次观察了下:早上重启后内存150MB左右,到中午看的时候内存到500MB左右,后来再看就崩了,应该是内存泄露了?
2023-09-03 16:41:06 守护程序:检测到 Clash 内核崩溃,重启中... github.com/Dreamacro/clash/common/batch/batch.go:43 +0xc8 created by github.com/Dreamacro/clash/common/batch.(Batch[...]).Go in goroutine 8399117 github.com/Dreamacro/clash/common/batch/batch.go:52 +0x112 github.com/Dreamacro/clash/common/batch.(Batch[...]).Go.func1() github.com/Dreamacro/clash/adapter/provider/healthcheck.go:210 +0x1ee github.com/Dreamacro/clash/adapter/provider.(HealthCheck).execute.func1() github.com/Dreamacro/clash/adapter/adapter.go:248 +0x2e5 github.com/Dreamacro/clash/adapter.(Proxy).URLTest(0xc00de36580, {0x16003a0?, 0xc000023960}, {0xc0000f6f00, 0x14}, {0x0?, 0x0, 0x2?}, 0x0) github.com/Dreamacro/clash/adapter/adapter.go:67 github.com/Dreamacro/clash/adapter.(Proxy).DialContext(...) github.com/Dreamacro/clash/adapter/outbound/hysteria.go:56 +0x1b2 github.com/Dreamacro/clash/adapter/outbound.(Hysteria).DialContext(0xc00761d080, {0x16003a0?, 0xc000023960}, 0x0?, {0x0, 0x0, 0x0}) github.com/Dreamacro/clash/transport/hysteria/core/client.go:202 +0x7a github.com/Dreamacro/clash/transport/hysteria/core.(Client).DialTCP(0xc00d5ad200, {0xc0053109b0?, 0xc00476d320?}, {0x15fc390, 0xc008a1aca0}) github.com/Dreamacro/clash/transport/hysteria/core/client.go:172 +0xf8 github.com/Dreamacro/clash/transport/hysteria/core.(Client).openStreamWithReconnect(0xc00d5ad200, {0x15fc390, 0xc008a1aca0}) github.com/Dreamacro/clash/transport/hysteria/core/client.go:78 +0x9a github.com/Dreamacro/clash/transport/hysteria/core.(Client).connectToServer(0xc00d5ad200, {0x15fc390?, 0xc008a1aca0?}) github.com/Dreamacro/clash/transport/hysteria/transport/client.go:82 +0x205 github.com/Dreamacro/clash/transport/hysteria/transport.(ClientTransport).QUICDial(0x7e0570?, {0xc003c7d680, 0x3}, {0xc0109abec0?, 0xffff?}, {0xc003c7d630, 0xb}, 0xc000c37730?, 0x410405?, {0x15f51e0, ...}, ...) github.com/metacubex/quic-go@v0.38.1-0.20230821081539-517fdb17fb28/transport.go:154 github.com/metacubex/quic-go.(Transport).Dial(...) github.com/metacubex/quic-go@v0.38.1-0.20230821081539-517fdb17fb28/transport.go:167 +0x95 github.com/metacubex/quic-go.(Transport).dial(0xc0048bcd20, {0x1600248, 0x2573260}, {0x15f5028, 0xc0111358f0}, {0x15f5028?, 0xc0111358f0?}, 0xc003c7d630?, 0xb?, 0x0) github.com/metacubex/quic-go@v0.38.1-0.20230821081539-517fdb17fb28/transport.go:189 +0x4d github.com/metacubex/quic-go.(Transport).init(0xc0048bcd20, 0x5?) sync/once.go:65 sync.(Once).Do(...) sync/once.go:74 +0xbf sync.(Once).doSlow(0xc00352e5a0?, 0xc01113a6c0?) github.com/metacubex/quic-go@v0.38.1-0.20230821081539-517fdb17fb28/transport.go:222 +0x332 github.com/metacubex/quic-go.(Transport).init.func1() github.com/metacubex/quic-go@v0.38.1-0.20230821081539-517fdb17fb28/multiplexer.go:59 +0x165 github.com/metacubex/quic-go.(*connMultiplexer).AddConn(0xc0000493a0, {0x7f280c25d8b8?, 0xc006272000?}) goroutine 8399177 [running]: panic: connection already exists 2023-09-03 04:00:09 OpenClash 启动成功,请等待服务器上线! 2023-09-03 04:00:09 第九步: 添加计划任务,启动进程守护程序... 2023-09-03 04:00:08 第八步: 重启 Dnsmasq 程序... 2023-09-03 04:00:08 提示:开始添加自定义防火墙规则... 2023-09-03 04:00:08 提示:正在根据防火墙端口转发和防火墙通信规则添加端口绕过规则... 2023-09-03 04:00:07 提示:IPv6 代理模式为 TProxy... 2023-09-03 04:00:07 提示:DNS 劫持未开启... 2023-09-03 04:00:07 第七步: 设置防火墙规则... 2023-09-03 04:00:07 第六步: 等待主程序下载外部文件... 2023-09-03 04:00:04 第五步: 检查内核启动状态... 2023-09-03 04:00:03 提示:检测到配置了 Meta 内核专属功能,调用 Meta 内核启动... 2023-09-03 04:00:03 第四步: 启动主程序... 2023-09-03 04:00:03 提示:开始运行自定义覆写脚本... 2023-09-03 04:00:02 第三步: 修改配置文件... 2023-09-03 04:00:02 提示:由于文件【 /etc/openclash/config/myclash.yaml 】被修改,暂停快速启动... 2023-09-03 04:00:02 第二步: 组件运行前检查... 2023-09-03 04:00:02 第一步: 获取配置... 2023-09-03 04:00:02 OpenClash 开始启动... 2023-09-03 04:00:02 第六步:删除 OpenClash 残留文件... 2023-09-03 04:00:01 第五步: 重启 Dnsmasq 程序... 2023-09-03 04:00:01 第四步: 关闭 Clash 主程序... 2023-09-03 04:00:01 第三步: 关闭 OpenClash 守护程序... 2023-09-03 04:00:00 第二步: 删除 OpenClash 防火墙规则... 2023-09-03 04:00:00 第一步: 备份当前策略组状态... 2023-09-03 04:00:00 OpenClash 开始关闭... 2023-09-03 04:00:00 OpenClash 重新启动中... 2023-09-03 01:59:50 OpenClash 启动成功,请等待服务器上线! 2023-09-03 01:59:50 第九步: 添加计划任务,启动进程守护程序... 2023-09-03 01:59:49 第八步: 重启 Dnsmasq 程序... 2023-09-03 01:59:49 提示:开始添加自定义防火墙规则... 2023-09-03 01:59:49 提示:正在根据防火墙端口转发和防火墙通信规则添加端口绕过规则... 2023-09-03 01:59:48 提示:IPv6 代理模式为 TProxy... 2023-09-03 01:59:48 提示:DNS 劫持未开启... 2023-09-03 01:59:48 第七步: 设置防火墙规则... 2023-09-03 01:59:48 第六步: 等待主程序下载外部文件... ...
更新alpha-7286391和上一个版本后内存还是会不停的涨,但是提示有变化 提示"protocol error: received DATA before a HEADERS frame"
heap.zip传过了,大佬们啥时候能给看看啊?现在最新内核"21fb5f7.gz",不到4个小时,就会爆内存崩一次
@dycwuxing alpha 已经更新过多次 quic-go 可以尝试最新版本是否存在崩溃
这个是因为quic基础包 中的一个文件会panic https://github.com/quic-go/quic-go/blob/master/multiplexer.go 具体代码如下
func (m *connMultiplexer) AddConn(c indexableConn) {
m.mutex.Lock()
defer m.mutex.Unlock()
connIndex := m.index(c.LocalAddr())
p, ok := m.conns[connIndex]
if ok {
// Panics if we're already listening on this connection.
// This is a safeguard because we're introducing a breaking API change, see
// https://github.com/quic-go/quic-go/issues/3727 for details.
// We'll remove this at a later time, when most users of the library have made the switch.
panic("connection already exists") // TODO: write a nice message
}
m.conns[connIndex] = p
}
有能力就自己编译下,删除panic就好了
我没有这个能力:(
Verify steps
Clash version
alpha-630a17c
What OS are you seeing the problem on?
Linux
Clash config
Clash log
Description
间歇性出现内核崩溃,提示"panic: connection already exists" clash检测到内核崩溃自动重启后,可正常运行,到17:00未再次出现,目前可正常使用