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

[Bug] 群晖DSM 7.2 ( Linux 3.10)上运行报错ERROR udp get dst address from oob #750

Open
4 tasks done
tyycssy007 opened this issue Nov 6, 2023 · 1 comment
Open
4 tasks done

Comments

@tyycssy007
Copy link

在提交之前,请确认

  • 我已经尝试搜索过 Issue ,但没有找到相关问题。
  • 我正在使用最新的 mosdns 版本(或者最新的 commit),问题依旧存在。
  • 我仔细看过 wiki 后仍然无法自行解决该问题。
  • 我非常确定这是 mosdns 核心的问题。(如果是通过第三方衍生软件使用 mosdns 核心,不确定问题源头时,请先向衍生软件开发者提交问题。)

mosdns 版本

v5.2.1以及v5.2.1以上版本

操作系统

DSM 7.2 ( Linux 3.10.108 #64570 SMP Fri Jul 14 )

Bug 描述和复现步骤

自8月31日commit
后的版本,在群晖(LInux内核3.10)上运行会报错
ERROR udp get dst address from oob {error control msg does not have dst address}",并且CPU占用率较高。

使用的配置文件

自8月31日[commit](https://github.com/IrineSistiana/mosdns/commit/98701bdf59c18a6482c9b12bbaf056f3276a84c5)
后的版本,在群晖(LInux内核3.10)上运行会报错
`ERROR udp get dst address from oob {error  control msg does not have dst address}"`,并且CPU占用率较高。
使用的配置文件:

log:
    file: ""
    level: debug
plugins:

  - tag: try_cn
    type: forward
    args:
      concurrent: 3
      upstreams:
        - addr: "udp://223.5.5.5"
        - addr: "udp://114.114.114.114"
        - addr: "udp://119.29.29.29"
  - tag: main_sequence
    type: sequence
    args:
        - exec: $try_cn
        - matches: has_wanted_ans
          exec: accept

  - tag: udp_server53
    type: udp_server
    args:
      entry: main_sequence
      listen: :53
  - tag: "tcp_server53"
    type: "tcp_server"
    args:
      entry: main_sequence
      listen: :53
      idle_timeout: 5

mosdns 的 log 记录

root@Synology716:~#  /volume1/docker/mosdns start -c /volume1/docker/test.yaml
2023-11-06T20:00:30.872+0800    INFO    main config loaded      {"file": "/volume1/docker/test.yaml"}
2023-11-06T20:00:30.874+0800    INFO    loading plugin  {"tag": "try_cn", "type": "forward"}
2023-11-06T20:00:30.874+0800    INFO    loading plugin  {"tag": "main_sequence", "type": "sequence"}
2023-11-06T20:00:30.874+0800    INFO    loading plugin  {"tag": "udp_server53", "type": "udp_server"}
2023-11-06T20:00:30.874+0800    INFO    udp_server53    udp server started      {"addr": "[::]:53"}
2023-11-06T20:00:30.874+0800    INFO    loading plugin  {"tag": "tcp_server53", "type": "tcp_server"}
2023-11-06T20:00:30.875+0800    INFO    tcp_server53    tcp server started      {"addr": "[::]:53", "tls": false}
2023-11-06T20:00:30.875+0800    INFO    all plugins are loaded
2023-11-06T20:01:22.000+0800    ERROR   udp_server53    failed to get dst address from oob      {"error": "control msg does not have dst address"}
2023-11-06T20:01:22.012+0800    ERROR   udp_server53    failed to get dst address from oob      {"error": "control msg does not have dst address"}
2023-11-06T20:01:22.063+0800    ERROR   udp_server53    failed to get dst address from oob      {"error": "control msg does not have dst address"}
^C2023-11-06T20:01:37.111+0800  WARN    signal received {"signal": "interrupt"}
2023-11-06T20:01:37.111+0800    INFO    starting shutdown sequences
2023-11-06T20:01:37.111+0800    INFO    closing plugin  {"tag": "try_cn"}
2023-11-06T20:01:37.112+0800    INFO    closing plugin  {"tag": "main_sequence"}
2023-11-06T20:01:37.112+0800    INFO    closing plugin  {"tag": "udp_server53"}
2023-11-06T20:01:37.112+0800    WARN    udp_server53    read err        {"error": "read udp [::]:53: use of closed network connection"}
2023-11-06T20:01:37.112+0800    INFO    closing plugin  {"tag": "tcp_server53"}
2023-11-06T20:01:37.112+0800    INFO    all plugins were closed
@IrineSistiana
Copy link
Owner

control msg does not have dst address

这是内核的 bug 。

自8月31日commit

这个 commit 只是把 这个 bug log 下来了。

解决方法,不要泛监听。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants