-
Notifications
You must be signed in to change notification settings - Fork 251
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
{bug} panic: net/http: internal error: connCount underflow #278
Comments
目前我在使用的时候出现的问题 |
谢谢你,我们会想一想,这不是我们的问题,是golang内的bug。不过,我们需要处理这样的,避免崩溃。 @ainar-g what do you think, should we just handle panics in dnsproxy? |
因为我这里是使用dns分流加速文件,只要是请求多了,就无法解析域名,运行是正常的,但用jour就出现这样的问题。 |
不是不是,#279 都是 DoH upstream 的问题,不在于 http 版。 |
好叭,等你们修复。 |
It still happens even after fixing #279? |
yes |
也很容易出现假死状态,正常运行,正常日记,就是无法解析域名 |
哪个 golang 版? |
是1.19.1 |
试试 go 1.18,我想知道是不是 go 1.19.1 的新bug |
好的,我这两天试一下看看 |
目前用是没有问题,要等一天或者两天才出现的问题 |
没问题,我等 |
哦,想起来了,我提这个问题是本地上游dns分流文件的,而搭建的doq和dot的机子使用1.19.1的golang是正常,没有这个日记 |
这个和连接数有关 #280 |
我问题我会重新开 |
你好,quic-go最大限制10000的窗口请求,而dnsproxy不会去关闭窗口,我请求一多就会处理不过来。 |
@Potterli20 谢谢你研究这个问题。请试试用 fix-278 branch 看看是不是修理这个问题。 我认为只增加 |
是的,修改了dohMaxConnsPerHost好很多,目前我运行了一天没有问题,很少出现问题。还有一个问题是,我修得越大就越好?目前我的dns分流已经在50m大小,有20个上游dns |
理论上, |
明白明白,我明早试一试,因为我自己修改值为10 |
是的,已经缓解了很多了 |
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
The text was updated successfully, but these errors were encountered: