-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
panic: readlink /proc/self/exe: permission denied #4509
Comments
Hello. Please fill out the full issue template, and in particular the OS and how you're running AdGuard Home. Thanks. |
@busybit Here is a little more information used by the SH installer to support my suggestion. To recap on my above recommendation. I recommend using the armv5 tar instead as I noticed you failed to use the armv7 tar. |
The same happens with armv5 binary. Google search "linux kernel readlink /proc/self permission denied Looks to me like this is a problem with older Linux kernels. My Odroid is running: |
That was my first thought as well when I checked the ol'Google, but I felt I would give it the benefit of doubt with the alternative first. How are you trying to run this? are you running it straight as a launch instance, or are you trying to service install it? You may be able to still run it with out service installing it, but this would require you to control the starting/stopping mechanism's of AdGuardHome. I am able to run the armv5 under the conditions I have stated above on a kernel much older than the one your device uses:
From the looks of it though, you may not even be able to simply "run" it because it appears your kernel is blocking the execution of programs which is probably a runtime restriction imposed by the developers of your specific setup. |
I'm running it with "runit". The run script first does I can also run it manually sudo setcap CAP_NET_BIND_SERVICE=+eip /opt/AdGuardHome/AdGuardHome That makes no difference |
On my setup, before I am able to "run" adguardhome, I had to set the correct file permissions using chown. looked something like this chown 'replace with your OS system username':root AdGuardHome_directory/* |
Particularly here is all the adjustments I have to make to the .yaml file. fix the permissions using chmod 644 /opt/AdGuardHome/AdGuardHome.yaml (adjust to match your setup). As a last measure, I manually run adguardhome checkconfig. $PATH_to_Adguardhome_binary --check-config -c "path to adguardhome.yaml" --no-check-update |
The permissions are all ok. I'm running the same adguard binary on two Odroids, one Odroid C2 running kernel and one Odroid U3 running kernel Both systems use the same Devuan OS, configured identical (the U3 only used as backup) Until version v0.107.5 the armv7 binary was running fine on both. v0.107.6 only runs on the newer Odroid C2 (same binary!). So the question ist: what changed from v0.107.5 to v0.107.6? |
Try the edge binary version on your arm7 kernel device. See if it makes any difference. I think the main difference between the previous version, and this new version is that the go binaries version was updated as well. Maybe a change in the go version itself used in compiling has impacted the compatibility with your armv7 kernel. Full Changelog See also the v0.107.6 GitHub milestone. Security User-Agent HTTP header removed from outgoing DNS-over-HTTPS requests.Go version was updated to prevent the possibility of exploiting the CVE-2022-24675, CVE-2022-27536, and CVE-2022-28327 vulnerabilities. I/O timeout errors when checking for the presence of another DHCP server. Network interfaces being incorrectly labeled as down during installation. Rules for blocking the QQ service (#3717). Removed Go 1.16 support, since that branch of the Go compiler has reached end of life and doesn't receive security updates anymore. |
Same problem with the edge version. |
So then it has to be the changes in the Go. To me, that is the only thing that could explain why it went from being able to work on your setup, to not being able to work on it with the new version change. Unless something inadvertently broke on your system. |
@busybit, which directory did you install AdGuard Home into? It looks a bit like the error our macOS users would get whenever they tried to install it outside if Also, just to be clear, you're not running it in Docker, right? |
It is installed in /opt/adguard. It's not running in Docker. |
Issue Details
With AdGuard Home v0.107.6 I get the following error:
panic: readlink /proc/self/exe: permission denied
goroutine 1 [running]:
github.com/AdguardTeam/AdGuardHome/internal/home.initWorkingDir({0x0, {0x0, 0x0}, {0x0, 0x0}, {0x0, 0x0, 0x0}, 0x0, {0x0, ...}, ...})
github.com/AdguardTeam/AdGuardHome/internal/home/home.go:587 +0x13c
github.com/AdguardTeam/AdGuardHome/internal/home.run({0x0, {0x0, 0x0}, {0x0, 0x0}, {0x0, 0x0, 0x0}, 0x0, {0x0, ...}, ...}, ...)
github.com/AdguardTeam/AdGuardHome/internal/home/home.go:388 +0x60
github.com/AdguardTeam/AdGuardHome/internal/home.Main({0x1bff620, 0x1c1cb18})
github.com/AdguardTeam/AdGuardHome/internal/home/home.go:131 +0x128
main.main()
github.com/AdguardTeam/AdGuardHome/main.go:17 +0x28
Version v0.107.5 did not have this problem.
The text was updated successfully, but these errors were encountered: