Describe the bug
The latest elasticsearch docker does not support cgroups v2 (which are the default since the linux kernel 6.12), this prevents the docker from starting on "modern" linux.
To Reproduce
Steps to reproduce the behavior:
- Start the docker compose on a linux whose kernel is > 6.12
- See error in the elasticsearch docker
2025-08-28 08:42:42,446 main ERROR Could not reconfigure JMX java.lang.NullPointerException: Cannot invoke "jdk.internal.platform.CgroupInfo.getMountPoint()" because "anyController" is null
at java.base/jdk.internal.platform.cgroupv2.CgroupV2Subsystem.getInstance(CgroupV2Subsystem.java:81)
at java.base/jdk.internal.platform.CgroupSubsystemFactory.create(CgroupSubsystemFactory.java:113)
at java.base/jdk.internal.platform.CgroupMetrics.getInstance(CgroupMetrics.java:167)
at java.base/jdk.internal.platform.SystemMetrics.instance(SystemMetrics.java:29)
at java.base/jdk.internal.platform.Metrics.systemMetrics(Metrics.java:58)
at java.base/jdk.internal.platform.Container.metrics(Container.java:43)
at jdk.management/com.sun.management.internal.OperatingSystemImpl.<init>(OperatingSystemImpl.java:182)
at jdk.management/com.sun.management.internal.PlatformMBeanProviderImpl.getOperatingSystemMXBean(PlatformMBeanProviderImpl.java:280)
at jdk.management/com.sun.management.internal.PlatformMBeanProviderImpl$3.nameToMBeanMap(PlatformMBeanProviderImpl.java:199)
at java.management/java.lang.management.ManagementFactory.lambda$getPlatformMBeanServer$0(ManagementFactory.java:488)
at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:273)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
at java.base/java.util.HashMap$ValueSpliterator.forEachRemaining(HashMap.java:1779)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
at java.management/java.lang.management.ManagementFactory.getPlatformMBeanServer(ManagementFactory.java:489)
at org.apache.logging.log4j.core.jmx.Server.reregisterMBeansAfterReconfigure(Server.java:140)
at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:637)
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:302)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:209)
at org.apache.logging.log4j.core.config.Configurator.initialize(Configurator.java:243)
at org.apache.logging.log4j.core.config.Configurator.initialize(Configurator.java:219)
at org.elasticsearch.common.logging.LogConfigurator.configureStatusLogger(LogConfigurator.java:251)
at org.elasticsearch.common.logging.LogConfigurator.configureWithoutConfig(LogConfigurator.java:95)
at org.elasticsearch.cli.CommandLoggingConfigurator.configureLoggingWithoutConfig(CommandLoggingConfigurator.java:29)
at org.elasticsearch.cli.Command.main(Command.java:74)
at org.elasticsearch.common.settings.KeyStoreCli.main(KeyStoreCli.java:33)
Expected behavior
The docker starts
Patch
The best way to fix it is to upgrade the docker to use v2, if you can't you can force the system to use the v1. To do that:
- Edit
/etc/default/grub to add the configuration GRUB_CMDLINE_LINUX="systemd.unified_cgroup_hierarchy=0"
- Then update GRUB:
sudo update-grub
- Reboot
Aleph version
Irrelevant
Describe the bug
The latest elasticsearch docker does not support cgroups v2 (which are the default since the linux kernel 6.12), this prevents the docker from starting on "modern" linux.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The docker starts
Patch
The best way to fix it is to upgrade the docker to use v2, if you can't you can force the system to use the v1. To do that:
/etc/default/grubto add the configurationGRUB_CMDLINE_LINUX="systemd.unified_cgroup_hierarchy=0"sudo update-grubAleph version
Irrelevant