Skip to content
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

no answer after enable upstream_dns_file #6006

Closed
4 tasks done
catsimple opened this issue Jul 13, 2023 · 11 comments
Closed
4 tasks done

no answer after enable upstream_dns_file #6006

catsimple opened this issue Jul 13, 2023 · 11 comments
Assignees
Milestone

Comments

@catsimple
Copy link

catsimple commented Jul 13, 2023

Prerequisites

Platform (OS and CPU architecture)

openwrt (linux 5.15.116) /AMD64 (aka x86_64)

Installation

GitHub releases or script from README

Setup

On one machine

AdGuard Home version

issue occurred higher than 0.107.29

Action

upgrage version higher than 0.107.29 and enable "upstream_dns_file" .

Expected result

DNS query anwser from ADG.

Actual result

I can got dns anwser from the first few seconds after ADG started, but few seconds after no anwser from ADG. The front end of ADG still works but no dns anwser.

Additional information and/or screenshots

The dnsfile I specified: ChinaList.txt
LOG file : AdGuardHome2.log

@ainar-g
Copy link
Contributor

ainar-g commented Jul 13, 2023

Thank you for the report and the verbose log! We cannot reproduce the issue, but based on the information in the log we have a few theories:

  • Does the issue go away if you do not use upstream_dns_file and just put some upstreams into the upstreams field in the UI?
  • Does the issue go away if you set clients.runtime_sources.rdns and clients.runtime_sources.whois to false?

@ainar-g ainar-g added the waiting for data Waiting for users to provide more data. label Jul 13, 2023
@catsimple
Copy link
Author

catsimple commented Jul 13, 2023

Thank you for the report and the verbose log! We cannot reproduce the issue, but based on the information in the log we have a few theories:

  • Does the issue go away if you do not use upstream_dns_file and just put some upstreams into the upstreams field in the UI?
  • Does the issue go away if you set clients.runtime_sources.rdns and clients.runtime_sources.whois to false?
  • issue did not go away when I just put some upstreams into the upstreams field in the UI.
  • issue go away when I set clients.runtime_sources.rdns and clients.runtime_sources.whois to false.

@duckxx
Copy link

duckxx commented Jul 13, 2023

这问题我也遇到过,会导致开启adguardhome后等半个小时,dns解析器都不进入工作状态,但是管理页面可以进入。后来就放弃用分流文件形式了,就算成功启动了,前几分钟的dns解析延迟高达5000ms。

@ainar-g
Copy link
Contributor

ainar-g commented Jul 13, 2023

@catsimple, I see, thank you for the information. We'll look into it.

@duckxx
Copy link

duckxx commented Jul 13, 2023

@catsimple, I see, thank you for the information. We'll look into it.

触发bug条件是拥有一个运行很久并且有人使用的adguardhome,并按反馈者设置,新建的adguardhome是很难一下子触发。因为在此之前服务器满载的bug缓解的办法就是重新安装adguardhome。

@ainar-g ainar-g self-assigned this Jul 13, 2023
@ainar-g ainar-g added bug P3: Medium and removed waiting for data Waiting for users to provide more data. labels Jul 13, 2023
@ainar-g ainar-g added this to the v0.107.35 milestone Jul 13, 2023
@catsimple
Copy link
Author

I did meet a problem today even I downgraded to 107.29 before. ADG would not give any dns query answer randomly.

@catsimple
Copy link
Author

@catsimple, I see, thank you for the information. We'll look into it.

触发bug条件是拥有一个运行很久并且有人使用的adguardhome,并按反馈者设置,新建的adguardhome是很难一下子触发。因为在此之前服务器满载的bug缓解的办法就是重新安装adguardhome。

不清楚,我在用107.29之后的版本,即使是全新配置的yaml,只要一指定dns上游文件就崩,用107.29就没问题,但是今天107.29用久了也遇到同样的问题了

adguard pushed a commit that referenced this issue Jul 18, 2023
Updates #6006.

Squashed commit of the following:

commit c72d637
Merge: 02d64b1 0cd441f
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Jul 18 13:56:26 2023 +0300

    Merge branch 'master' into 6006-client-processor

commit 02d64b1
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Jul 17 19:42:07 2023 +0300

    client: imp code, tests

commit b161346
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Jul 17 18:42:19 2023 +0300

    client: imp code, docs, tests

commit f71a179
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Jul 14 21:53:47 2023 +0300

    all: add new client processor; imp code
adguard pushed a commit that referenced this issue Jul 18, 2023
Updates #6006.

Squashed commit of the following:

commit ac27db9
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Jul 18 15:47:17 2023 +0300

    all: imp code

commit 3936288
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Jul 17 19:23:46 2023 +0300

    all: imp client resolving
@ainar-g
Copy link
Contributor

ainar-g commented Jul 18, 2023

@catsimple, could you please check the recent versions on the Edge channel? If the issue still persists, please send us the new verbose logs from that version as well.

adguard pushed a commit that referenced this issue Jul 18, 2023
Updates #6006.

Squashed commit of the following:

commit f974a08
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Jul 18 20:51:58 2023 +0300

    home: fix cmdline update
@catsimple
Copy link
Author

@catsimple, could you please check the recent versions on the Edge channel? If the issue still persists, please send us the new verbose logs from that version as well.

seems problem still, I received many errors from docker

Tue Jul 25 11:31:36 2023 daemon.err dockerd[3621]: time="2023-07-25T11:31:36.734071112+08:00" level=error msg="[resolver] failed to query DNS server: 127.0.0.1:53, query: ;o1098464.ingest.sentry.io.\tIN\t A" error="read udp 127.0.0.1:37577->127.0.0.1:53: i/o timeout" Tue Jul 25 11:31:37 2023 daemon.err dockerd[3621]: time="2023-07-25T11:31:37.061673371+08:00" level=error msg="[resolver] failed to query DNS server: 127.0.0.1:53, query: ;plogin.m.jd.com.\tIN\t A" error="read udp 127.0.0.1:49128->127.0.0.1:53: i/o timeout" Tue Jul 25 11:31:37 2023 daemon.err dockerd[3621]: time="2023-07-25T11:31:37.861543666+08:00" level=error msg="[resolver] failed to query DNS server: 127.0.0.1:53, query: ;o1098464.ingest.sentry.io.\tIN\t A" error="read udp 127.0.0.1:39694->127.0.0.1:53: i/o timeout" Tue Jul 25 11:31:40 2023 daemon.err dockerd[3621]: time="2023-07-25T11:31:40.735355257+08:00" level=error msg="[resolver] failed to query DNS server: 127.0.0.1:53, query: ;o1098464.ingest.sentry.io.\tIN\t A" error="read udp 127.0.0.1:42253->127.0.0.1:53: i/o timeout" Tue Jul 25 11:31:41 2023 daemon.err dockerd[3621]: time="2023-07-25T11:31:41.062177329+08:00" level=error msg="[resolver] failed to query DNS server: 127.0.0.1:53, query: ;plogin.m.jd.com.\tIN\t A" error="read udp 127.0.0.1:46372->127.0.0.1:53: i/o timeout" Tue Jul 25 11:31:41 2023 daemon.err dockerd[3621]: time="2023-07-25T11:31:41.863083416+08:00" level=error msg="[resolver] failed to query DNS server: 127.0.0.1:53, query: ;o1098464.ingest.sentry.io.\tIN\t A" error="read udp 127.0.0.1:59257->127.0.0.1:53: i/o timeout" Tue Jul 25 11:31:45 2023 daemon.err dockerd[3621]: time="2023-07-25T11:31:45.863528960+08:00" level=error msg="[resolver] failed to query DNS server: 127.0.0.1:53, query: ;o1098464.ingest.sentry.io.\tIN\t A" error="read udp 127.0.0.1:46253->127.0.0.1:53: i/o timeout" Tue Jul 25 11:31:47 2023 daemon.err dockerd[3621]: time="2023-07-25T11:31:47.083418186+08:00" level=error msg="[resolver] failed to query DNS server: 127.0.0.1:53, query: ;plogin.m.jd.com.\tIN\t A" error="read udp 127.0.0.1:38596->127.0.0.1:53: i/o timeout"

Uploading AdGuardHome.log…

@catsimple
Copy link
Author

@catsimple, could you please check the recent versions on the Edge channel? If the issue still persists, please send us the new verbose logs from that version as well.

seems problem still, I received many errors from docker

`Tue Jul 25 11:31:36 2023 daemon.err dockerd[3621]: time="2023-07-25T11:31:36.734071112+08:00" level=error msg="[resolver] failed to query DNS server: 127.0.0.1:53, query: ;o1098464.ingest.sentry.io.\tIN\t A" error="read udp 127.0.0.1:37577->127.0.0.1:53: i/o timeout"

Tue Jul 25 11:31:37 2023 daemon.err dockerd[3621]: time="2023-07-25T11:31:37.061673371+08:00" level=error msg="[resolver] failed to query DNS server: 127.0.0.1:53, query: ;plogin.m.jd.com.\tIN\t A" error="read udp 127.0.0.1:49128->127.0.0.1:53: i/o timeout"

Tue Jul 25 11:31:37 2023 daemon.err dockerd[3621]: time="2023-07-25T11:31:37.861543666+08:00" level=error msg="[resolver] failed to query DNS server: 127.0.0.1:53, query: ;o1098464.ingest.sentry.io.\tIN\t A" error="read udp 127.0.0.1:39694->127.0.0.1:53: i/o timeout"

Tue Jul 25 11:31:40 2023 daemon.err dockerd[3621]: time="2023-07-25T11:31:40.735355257+08:00" level=error msg="[resolver] failed to query DNS server: 127.0.0.1:53, query: ;o1098464.ingest.sentry.io.\tIN\t A" error="read udp 127.0.0.1:42253->127.0.0.1:53: i/o timeout"

Tue Jul 25 11:31:41 2023 daemon.err dockerd[3621]: time="2023-07-25T11:31:41.062177329+08:00" level=error msg="[resolver] failed to query DNS server: 127.0.0.1:53, query: ;plogin.m.jd.com.\tIN\t A" error="read udp 127.0.0.1:46372->127.0.0.1:53: i/o timeout"

Tue Jul 25 11:31:41 2023 daemon.err dockerd[3621]: time="2023-07-25T11:31:41.863083416+08:00" level=error msg="[resolver] failed to query DNS server: 127.0.0.1:53, query: ;o1098464.ingest.sentry.io.\tIN\t A" error="read udp 127.0.0.1:59257->127.0.0.1:53: i/o timeout"

Tue Jul 25 11:31:45 2023 daemon.err dockerd[3621]: time="2023-07-25T11:31:45.863528960+08:00" level=error msg="[resolver] failed to query DNS server: 127.0.0.1:53, query: ;o1098464.ingest.sentry.io.\tIN\t A" error="read udp 127.0.0.1:46253->127.0.0.1:53: i/o timeout"

Tue Jul 25 11:31:47 2023 daemon.err dockerd[3621]: time="2023-07-25T11:31:47.083418186+08:00" level=error msg="[resolver] failed to query DNS server: 127.0.0.1:53, query: ;plogin.m.jd.com.\tIN\t A" error="read udp 127.0.0.1:38596->127.0.0.1:53: i/o timeout"
`

AdGuardHome.log

@ainar-g
Copy link
Contributor

ainar-g commented Jul 26, 2023

@catsimple, thank you for the informative logs. The new logs we've added point at one of the issues:

[debug] whois: received response (2135 bytes) from "whois.apnic.net:43" about "[IPv6 address]"
[debug] clients: finished processing [IPv6 address] with whois in 37.89008224s

It seems like the WHOIS lookup sometimes gets stuck and lasts over 30 seconds, which is a very long time. Additionally, the log has lots of these:

[debug] upstream [IPv4 address]:53 failed to exchange ;www.youtube.com.	IN	 A in 20.002065543s: exchanging with [IPv4 address]:53 over udp: read udp [IPv4 address]:37835->[IPv4 address]:53: i/o timeout
[debug] proxy: replying from upstream: rtt is 20.002116193s

Again, 20 seconds is a very long time, so my guess is that there is something wrong with your connection to some upstreams. So you should probably disable WHOIS resolving of clients and either choose a different upstream or lower the dns.upstream_timeout value in the configuration file so that these stuck queries are retried by clients quicker.

Since these don't seem like bugs in AdGuard Home, I'll close the issue, if you don't mind.

@ainar-g ainar-g closed this as completed Jul 26, 2023
@ainar-g ainar-g modified the milestones: v0.107.36, v0.107.35 Jul 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants