neolink icon indicating copy to clipboard operation
neolink copied to clipboard

neolink in a reconnect/push loop and leaking file descriptors ?

Open illnesse opened this issue 1 month ago • 1 comments

i'm running neolink in docker with a few reolink E1 cams. i think it might have hit the per‑process “nofile” limit, every new socket/DNS attempt fails (os error 24), CPU pins, and memory balloons. it went up to 18gb mem usage over night, 100% cpu, spamming the log with:

2025-10-31T12:50:16.919468104Z [2025-10-31T12:50:16Z WARN  neolink::common::pushnoti] Issue connecting to push notifications server: Http(reqwest::Error { kind: Request, url: Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("android.clients.google.com")), port: None, path: "/checkin", query: None, fragment: None }, source: hyper::Error(Connect, ConnectError("dns error", Os { code: 24, kind: Uncategorized, message: "Too many open files" })) })
2025-10-31T12:50:18.331956024Z [2025-10-31T12:50:18Z INFO  neolink::utils] reo4: Connecting to camera at Address: 10.4.0.93:9000
2025-10-31T12:50:18.332528254Z [2025-10-31T12:50:18Z WARN  neolink::common::camthread] reo4: Connection Lost: Failed to connect to camera reo4 at Address: 10.4.0.93:9000 on channel 0
2025-10-31T12:50:18.332539746Z     
2025-10-31T12:50:18.332544529Z     Caused by:
2025-10-31T12:50:18.332545526Z         0: IO Error: Os { code: 24, kind: Uncategorized, message: "Too many open files" }
2025-10-31T12:50:18.332546649Z         1: Too many open files (os error 24)
2025-10-31T12:50:18.332547828Z [2025-10-31T12:50:18Z INFO  neolink::common::camthread] reo4: Attempt reconnect in 5s
root@eb7aa42b4b0e:/# neolink --version
[2025-10-31T12:54:02Z INFO  neolink] Neolink 6e05e7844b5b50f89787d30bffcbbd3471bfcfde release
neolink 0.6.3-rc.3
root@docker:~# cat /docker/neolink/neolink.toml 
bind = "0.0.0.0"
bind_port = 8554

[mqtt]
broker_addr = "homeassistant.XXX" # Address of the mqtt server
port = 1883 # mqtt servers port
credentials = ["XXXX", "XXXX"] # mqtt server login details


...

[[cameras]]
name = "reo4"
username = "admin"
password = "XXXXXXXXX"
address = "XXXX:9000"
format = "h264"
#enable_preview = true  
#stream = "mainStream"

[[cameras]]
name = "reo5"
username = "admin"
password = "XXXXXXXX"
address = "XXXXXXX:9000"
format = "h264"
#enable_preview = true  
#stream = "mainStream"

...


illnesse avatar Oct 31 '25 13:10 illnesse

i feel like it might be connected to push notifications, i just disabled them, going to keep an eye on it

illnesse avatar Oct 31 '25 13:10 illnesse