daeuniverse / daeuniverse/dae

[Bug Report] Seemingly DNS failure after a short interval of time

Open
#604 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
6.2k
Forks
402
Avg merge
1h 8m
Merged PRs (30d)
1

Description

### Checks

- [X] I have searched the existing issues
- [X] I have read the documentation
- [X] Is it your first time sumbitting an issue

### Current Behavior

After a certain period of time, dae fails to dial with error:
```
dial to wss://SERVER: dial tcp: lookup SERVER: device or resource busy
```
However, the `dig SERVER` works just fine. Not sure if it's actually a DNS failure.

### Expected Behavior

_No response_

### Steps to Reproduce

My config:
```
global{
wan_interface: auto

log_level: info
allow_insecure: false
# auto_config_kernel_parameter: true
dial_mode: domain
}

# Forward all DNS requests to local DNS
dns {
upstream {
dcompass: 'udp://127.0.0.1:53'
}
routing {
request {
fallback: dcompass
}
}
}

node {
v2ray: "NODE DETAIL"
}

group {
first {
policy: fixed(0)
}
}

routing{
# Don't route dcompass's requests
pname(NetworkManager, dcompass) -> must_direct

domain(geosite:category-ads) -> block
dip(geoip:private) -> direct
dip(geoip:cn) -> direct
# domain(geosite:cn) -> direct

# Don't route games that have server in China.
domain(geosite:category-games@cn) -> direct

fallback: first
}
```

### Environment

- **Dae version (use `dae --version`)**: v0.7.0
- **OS (e.g `cat /etc/os-release`)**:
```
ANSI_COLOR="1;34"
BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
BUILD_ID="24.11.20240804.cb9a96f"
DOCUMENTATION_URL="https://nixos.org/learn.html"
HOME_URL="https://nixos.org/"
ID=nixos
IMAGE_ID=""
IMAGE_VERSION=""
LOGO="nix-snowflake"
NAME=NixOS
PRETTY_NAME="NixOS 24.11 (Vicuna)"
SUPPORT_URL="https://nixos.org/community.html"
VERSION="24.11 (Vicuna)"
VERSION_CODENAME=vicuna
VERSION_ID="24.11"
```
- **Kernel (e.g. `uname -a`)**: `Linux x1c7 6.10.3 #1-NixOS SMP PREEMPT_DYNAMIC Sat Aug 3 07:01:09 UTC 2024 x86_64 GNU/Linux`
- **Others**:

### Anything else?

_No response_

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the failure with the provided dae configuration on the reported NixOS and kernel versions, then compare dae's WSS lookup behavior with `dig SERVER` after the interval. Trace the relevant DNS and dialing paths in the Go code; done means identifying the cause and preventing the recurring `device or resource busy` failure, with a regression test if the affected path supports one.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, linux, nixos
Domain
networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.