Closed Potterli20 closed 1 year ago
目前我在使用的时候出现的问题
谢谢你,我们会想一想,这不是我们的问题,是golang内的bug。不过,我们需要处理这样的,避免崩溃。
@ainar-g what do you think, should we just handle panics in dnsproxy?
谢谢你,我们会想一想,这不是我们的问题,是golang内的bug。不过,我们需要处理这样的,避免崩溃。
@ainar-g what do you think, should we just handle panics in dnsproxy?
因为我这里是使用dns分流加速文件,只要是请求多了,就无法解析域名,运行是正常的,但用jour就出现这样的问题。
其实,有可能是和 #279 一样的 bug。来我关闭这里的 Issue,请看看 #279 修理后的情况。如果这个 bug 重复发生,请就重开这个 Issue。
其实,有可能是和 #279 一样的 bug。来我关闭这里的 Issue,请看看 #279 修理后的情况。如果这个 bug 重复发生,请就重开这个 Issue。
这个问题我也有复现过,但给我感觉是两种不一样,但同一个http问题 一个是解密 一个是http2突然回到http1.0不是1.1
不是不是,#279 都是 DoH upstream 的问题,不在于 http 版。
不是不是,#279 都是 DoH upstream 的问题,不在于 http 版。
好叭,等你们修复。
It still happens even after fixing #279?
It still happens even after fixing #279?
yes
也很容易出现假死状态,正常运行,正常日记,就是无法解析域名
哪个 golang 版?
哪个 golang 版?
是1.19.1 即使是quic-go最新版也是
试试 go 1.18,我想知道是不是 go 1.19.1 的新bug
试试 go 1.18,我想知道是不是 go 1.19.1 的新bug
好的,我这两天试一下看看
目前用是没有问题,要等一天或者两天才出现的问题
没问题,我等
没问题,我等
哦,想起来了,我提这个问题是本地上游dns分流文件的,而搭建的doq和dot的机子使用1.19.1的golang是正常,没有这个日记
这个和连接数有关 #280 问题是没有了(在go 1.18.6上),但是连接数超多会无法关闭,并会出现假运行
我问题我会重新开 目前已经正常
没问题,我等
你好,quic-go最大限制10000的窗口请求,而dnsproxy不会去关闭窗口,我请求一多就会处理不过来。 https://github.com/lucas-clemente/quic-go/blob/master/internal/protocol/params.go#L15
经过这个的调整,已经没有出现问题
@Potterli20 谢谢你研究这个问题。请试试用 fix-278 branch 看看是不是修理这个问题。
我认为只增加 dohMaxConnsPerHost
是够的。
@Potterli20 谢谢你研究这个问题。请试试用 fix-278 branch 看看是不是修理这个问题。
我认为只增加
dohMaxConnsPerHost
是够的。
是的,修改了dohMaxConnsPerHost好很多,目前我运行了一天没有问题,很少出现问题。还有一个问题是,我修得越大就越好?目前我的dns分流已经在50m大小,有20个上游dns
理论上,dohMaxConnsPerHost=1
就够了。http2能用一个连接运行很多请求。但是你的问题可能是golang的bug,我们不用增加dohMaxConnsPerHost
太多,只需要增加得规避这个bug。
理论上,
dohMaxConnsPerHost=1
就够了。http2能用一个连接运行很多请求。但是你的问题可能是golang的bug,我们不用增加dohMaxConnsPerHost
太多,只需要增加得规避这个bug。
明白明白,我明早试一试,因为我自己修改值为10
理论上,
dohMaxConnsPerHost=1
就够了。http2能用一个连接运行很多请求。但是你的问题可能是golang的bug,我们不用增加dohMaxConnsPerHost
太多,只需要增加得规避这个bug。
是的,已经缓解了很多了
Sep 28 12:59:27 potter dnsproxy[91339]: panic: net/http: internal error: connCount underflow Sep 28 12:59:27 potter dnsproxy[91339]: goroutine 799711 [running]: Sep 28 12:59:27 potter dnsproxy[91339]: net/http.(Transport).decConnsPerHost(0xc026a3c000, {{0x0, 0x0}, {0xc028963d00, 0x5}, {0xc01a26b0e0, 0xd}, 0x0}) Sep 28 12:59:27 potter dnsproxy[91339]: /usr/local/go/src/net/http/transport.go:1476 +0x592 Sep 28 12:59:27 potter dnsproxy[91339]: net/http.(Transport).roundTrip(0xc026a3c000, 0xc01c105000) Sep 28 12:59:27 potter dnsproxy[91339]: /usr/local/go/src/net/http/transport.go:605 +0x88b Sep 28 12:59:27 potter dnsproxy[91339]: net/http.(Transport).RoundTrip(0xc01c105000?, 0xa090c0?) Sep 28 12:59:27 potter dnsproxy[91339]: /usr/local/go/src/net/http/roundtrip.go:17 +0x19 Sep 28 12:59:27 potter dnsproxy[91339]: net/http.send(0xc01c104f00, {0xa090c0, 0xc026a3c000}, {0x92f3e0?, 0x4b6c01?, 0xcdaf60?}) Sep 28 12:59:27 potter dnsproxy[91339]: /usr/local/go/src/net/http/client.go:251 +0x5f7 Sep 28 12:59:27 potter dnsproxy[91339]: net/http.(Client).send(0xc01d3f9c20, 0xc01c104f00, {0x0?, 0x40e75f?, 0xcdaf60?}) Sep 28 12:59:27 potter dnsproxy[91339]: /usr/local/go/src/net/http/client.go:175 +0x9b Sep 28 12:59:27 potter dnsproxy[91339]: net/http.(Client).do(0xc01d3f9c20, 0xc01c104f00) Sep 28 12:59:27 potter dnsproxy[91339]: /usr/local/go/src/net/http/client.go:715 +0x8fc Sep 28 12:59:27 potter dnsproxy[91339]: net/http.(Client).Do(...) Sep 28 12:59:27 potter dnsproxy[91339]: /usr/local/go/src/net/http/client.go:581 Sep 28 12:59:27 potter dnsproxy[91339]: github.com/AdguardTeam/dnsproxy/upstream.(dnsOverHTTPS).exchangeHTTPSClient(0xc000030500, 0xc0122c9440, 0xc0122c9440?) Sep 28 12:59:27 potter dnsproxy[91339]: /root/dnsproxy/upstream/upstream_doh.go:169 +0x3db Sep 28 12:59:27 potter dnsproxy[91339]: github.com/AdguardTeam/dnsproxy/upstream.(dnsOverHTTPS).exchangeHTTPS(0xc000030500, 0xc0242a86c0?) Sep 28 12:59:27 potter dnsproxy[91339]: /root/dnsproxy/upstream/upstream_doh.go:144 +0xaa Sep 28 12:59:27 potter dnsproxy[91339]: github.com/AdguardTeam/dnsproxy/upstream.(*dnsOverHTTPS).Exchange(0xc000030500, 0xc0122c9440) Sep 28 12:59:27 potter dnsproxy[91339]: /root/dnsproxy/upstream/upstream_doh.go:106 +0xe5 Sep 28 12:59:27 potter dnsproxy[91339]: github.com/AdguardTeam/dnsproxy/upstream.exchangeAsync({0xa0afa0, 0xc000030500}, 0x10?, 0x0?) Sep 28 12:59:27 potter dnsproxy[91339]: /root/dnsproxy/upstream/parallel.go:117 +0x58 Sep 28 12:59:27 potter dnsproxy[91339]: created by github.com/AdguardTeam/dnsproxy/upstream.ExchangeParallel Sep 28 12:59:27 potter dnsproxy[91339]: /root/dnsproxy/upstream/parallel.go:45 +0x18c