-
-
Notifications
You must be signed in to change notification settings - Fork 83
Description
What is Happening
DPS binary, distributed either as docker image or from dns-proxy-server-linux-aarch64-3.19.3-snapshot.tgz archive, doesn't work on non 4k page size linux arm kernels.
RHEL 8 variants for arm64 has only 64k page size kernel:
$ getconf PAGESIZE
65536
RHEL 9 variants for arm64 have 2 kernel versions (4k and 64k page size) and you can choose. DPS works on the 4k version, but not on the 64k version.
I didn't tested it, but this will probably be issue also when running on linux on apple's arm, as that kernel has 16k page size.
When you try to run the binary from release archive of from docker, it won't start, you just get the error:
Fatal error: Failed to create the main Isolate. (code 8)
When I try to run the DPS as jar, it works:
$ java -version
openjdk version "22.0.1" 2024-04-16
OpenJDK Runtime Environment (Red_Hat-22.0.1.0.8-1) (build 22.0.1+8)
OpenJDK 64-Bit Server VM (Red_Hat-22.0.1.0.8-1) (build 22.0.1+8, mixed mode)
$ java -jar ./dns-proxy-server.jar
20:42:31.229 [main ] INF c.m.dnsproxyserver.config.dataprovider.JsonConfigsl=75 m=createDefault status=createdDefaultConfigFile, path=/root/conf/config.json
20:42:31.308 [main ] DEB c.m.d.config.dataprovider.ConfigDAOJson l=39 m=find configPath=/root/conf/config.json
20:42:31.657 [main ] INF c.m.d.s.d.a.DpsDockerEnvironmentSetupService l=32 m=setup status=binding-docker-events, connectedToDocker=true
20:42:31.657 [main ] INF c.m.d.s.d.a.DpsDockerEnvironmentSetupService l=44 m=setupNetwork status=dpsNetwork, active=false
20:42:31.657 [main ] INF c.m.d.s.docker.application.DpsContainerService l=102 m=tRunningContainersToDpsNetwork status=autoConnectDpsNetworkDisabled, dpsNetwork=false, dpsNetworkAutoConnect=false
20:42:31.657 [main ] INF c.m.d.solver.docker.entrypoint.EventListener l=32 m=onStart status=containerAutoConnectToDpsNetworkDisabled
20:42:31.660 [main ] INF com.mageddo.dnsserver.UDPServerPool l=31 m=start Starting UDP server, addresses=/0.0.0.0:53
....
I think this is some java issue, but I'm not sure how to fix it. Google shows some reports like this for other java sw.
Specs
- Docker Version:
Client: Docker Engine - Community
Version: 26.1.3
API version: 1.45
Go version: go1.21.10
Git commit: b72abbb
Built: Thu May 16 08:34:00 2024
OS/Arch: linux/arm64
Context: default
Server: Docker Engine - Community
Engine:
Version: 26.1.3
API version: 1.45 (minimum version 1.24)
Go version: go1.21.10
Git commit: 8e96db1
Built: Thu May 16 08:33:12 2024
OS/Arch: linux/arm64
Experimental: true
containerd:
Version: 1.6.32
GitCommit: 8b3b7ca2e5ce38e8f31a34f35b2b68ceb8470d89
runc:
Version: 1.1.12
GitCommit: v1.1.12-0-g51d5e94
docker-init:
Version: 0.19.0
GitCommit: de40ad0
- DPS Version:
defreitas/dns-proxy-server:3.19.3-snapshot-aarch64 - Attach DPS Log file
Fatal error: Failed to create the main Isolate. (code 8)
- OS:
Rocky Linux 8.10 (Green Obsidian)
Metadata
Metadata
Assignees
Labels
Projects
Status