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

AdGuard Home won´t install on OpenBSD on newer processors #7228

Closed
4 tasks done
loop0 opened this issue Aug 29, 2024 · 6 comments
Closed
4 tasks done

AdGuard Home won´t install on OpenBSD on newer processors #7228

loop0 opened this issue Aug 29, 2024 · 6 comments

Comments

@loop0
Copy link

loop0 commented Aug 29, 2024

Prerequisites

Platform (OS and CPU architecture)

OpenBSD, AMD64 (aka x86_64)

Installation

GitHub releases or script from README

Setup

On a router, DHCP is handled by the router

AdGuard Home version

v0.107.52

Action

Replace the following command with the one you're calling or a
description of the failing action:

ftp https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.52/AdGuardHome_openbsd_amd64.tar.gz
tar xfvz AdGuardHome_openbsd_amd64.tar.gz
cd AdGuardHome/
doas ./AdGuardHome -s install

The same error happens if running with the auto installer:

curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v

Expected result

Install succeeds

Actual result

Job 1, 'doas ./AdGuardHome -s install' terminated by signal SIGILL (Illegal instruction)

Additional information and/or screenshots

I have searched this issue and found out that there is a new feature that was added to go 1.23 to prevent this error when running on newer CPUs.

The issue is discussed here: golang/go#66040
And the fix can be seen here: golang/go@1e43391#diff-9302517e879760a2450ca8ad2ca420fcad6476b4cdc70414369d0b35004ef51fR776

I believe updating the go version to 1.23 on github actions build step should fix the issue for the next release.

@bcookatpcsd
Copy link

Just sharing this here..

obsd-pms# tar xfvz AdGuardHome_openbsd_amd64.tar.gz
./AdGuardHome
./AdGuardHome/AdGuardHome
./AdGuardHome/LICENSE.txt
./AdGuardHome/AdGuardHome.sig
./AdGuardHome/README.md
./AdGuardHome/CHANGELOG.md

obsd-pms# cd AdGuardHome/

obsd-pms# ./AdGuardHome -s install
2024/09/24 13:05:09 [info] AdGuard Home, version v0.107.52
2024/09/24 13:05:09 [info] service: control action: install
2024/09/24 13:05:09 [info] service: started
2024/09/24 13:05:09 [info] Almost ready!
AdGuard Home is successfully installed and will automatically start on boot.
There are a few more things that must be configured before you can use it.
Click on the link below and follow the Installation Wizard steps to finish setup.
AdGuard Home is now available at the following addresses:
2024/09/24 13:05:09 [info] go to http://[::1]:3000
2024/09/24 13:05:09 [info] go to http://[fe80::1%lo0]:3000
2024/09/24 13:05:09 [info] go to http://127.0.0.1:3000
2024/09/24 13:05:09 [info] go to http://10.120.48.180:3000
2024/09/24 13:05:09 [info] service: action install has been done successfully on openbsd-runcom

obsd-pms# uname -a
OpenBSD obsd-pms.dyn.pms.v42 7.5 GENERIC.MP#2 amd64

@loop0
Copy link
Author

loop0 commented Sep 24, 2024

What processor/cpu are you running this? Because it will work fine for older CPUs, like the title says, only in new processors with IBT support that it won't work. I also confirmed that updating the golang version and rebuilding the packages will fix the issue.

@bcookatpcsd
Copy link

cpu0: Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz, 3192.87 MHz, 06-3c-03, patch 00000028

cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,PERF,ITSC,FSGSBASE,TSC_ADJUST,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,SRBDS_CTRL,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,MELTDOWN

Same machine in linux

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts md_clear flush_l1d

@loop0
Copy link
Author

loop0 commented Sep 24, 2024

Yeah, so, IBT started shipping on intel 11th gen processors. Your processor won't have any issues running AdGuard Home. Thanks for the additional info though.

@jrick
Copy link

jrick commented Sep 25, 2024

Go 1.23.x is needed to mark OPENBSD_NOBTCFI in the executable. This should be fixed if the release were to be rebuilt with Go 1.23.x. It's currently built with Go 1.22.5.

@schzhn
Copy link
Member

schzhn commented Oct 4, 2024

v0.107.53 should work you. Feel free to reopen the issue if the problem persists.

@schzhn schzhn closed this as completed Oct 4, 2024
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

4 participants