Skip to content

Java25 GraalVM cannot start with Meowice GraalVM flags because of OptWriteMotion #3881

@MerMaidII

Description

@MerMaidII

Describe the problem

Running on minikube-k8s (docker with alpine which runs k8s v3.14 holding server in pod with docker) on Windows 11 x86_64. Can't seem to run stable-jdk25-graalvm or java25-graalvm with USE_MEOWICE_GRAALVM_FLAGS=TRUE, the pod with container keeps restarting with logs like these included.

No problems with stable-java21-graalvm, so it seems like GraalVM 25 gimmick.

Container definition

Not a compose but k8s files since I'm using k8s for this project.

My deployment.yaml continers section

      containers:
        - name: minecraft-fabric
          image: itzg/minecraft-server:stable-java25-graalvm
          imagePullPolicy: IfNotPresent
          tty: TRUE
          envFrom:
            - configMapRef:
                name: minecraft-conf
            - secretRef:
                name: minecraft-secrets
                name: curseforge-secret # manually made on single node
          ports:
          ### redacted ports ###
          volumeMounts:
            - mountPath: /data
              subPath: server
              name: minecraft-pv
          resources:
            requests:
              memory: 11Gi
            limits:
              memory: 12Gi

My config.yaml

--- # configuration
apiVersion: v1
kind: ConfigMap
metadata:
  name: minecraft-conf
  namespace: minecraft
data:
  EULA: "TRUE"
  JVM_DD_OPTS: "java.net.preferIPv4Stack=true"
  SERVER_PORT: "#REDACTED#"
  MEMORY: 10G
  TZ: #REDACTED#
  USE_MEOWICE_GRAALVM_FLAGS: "TRUE"
  #USE_MEOWICE_FLAGS: "TRUE"
  #JVM_XX_OPTS: "-XX:+UseCompactObjectHeaders"
  LOG_TIMESTAMP: "TRUE"
  TYPE: FABRIC
  VERSION: "1.20.1"
  DIFFICULTY: normal
  MAX_PLAYERS: "15"
  ALLOW_NETHER: "TRUE"
  ENABLE_COMMAND_BLOCK: "FALSE"
  GENERATE_STRUCTURES: "TRUE"
  HARDCORE: "FALSE"
  SPAWN_PROTECTION: "10"
  VIEW_DISTANCE: "6"
  SIMULATION_DISTANCE: "4"
  MODE: survival
  PVP: "TRUE"
  ONLINE_MODE: "TRUE"
  SERVER_NAME: #REDACTED#
  OP_PERMISSION_LEVEL: "4"
  STOP_DURATION: "60"
  ENABLE_WHITELIST: "FALSE"
  GUI: "FALSE"
  MODPACK_PLATFORM: "AUTO_CURSEFORGE"
  CF_DOWNLOADS_REPO: '/data/download'
  CF_PAGE_URL: 'https://www.curseforge.com/minecraft/modpacks/prominence-2-hasturian-era/files/7441253'
  MODRINTH_EXCLUDE_FILES: |
                        nightconfigfixes
                        night-config-fixes
  MODRINTH_PROJECTS: |
                        lithium:iEcXOkz4
                        krypton:jiDwS0W1
                        spark:XGW2fviP
                        create-fabric:HAqwA6X1
                        fabric-api:UapVHwiP
                        bluemap:lHRktt6S
                        create-bluemap:AoHFWwaz
                        fzzy-config:E75OaTHD
                        fabric-language-kotlin:N6D3uiZF
                        architectury-api:WbL7MStR
                        chunkyborder:74w5ono0
                        chunky:NHWYq9at
                        ferrite-core:unerR5MN
                        modernfix:rPmgLeZC
                        simple-voice-chat:z5kIPm1A
                        image2map:T71Apams
                        c2me-fabric:s4WOiNtz
                        bmarker:yxu1UqLJ
                        silk:3H0nUJhq
                        open-parties-and-claims:p5VIVxkt
                        forge-config-api-port:HvR3IdRE
                        openpac-bluemap-remapped:s6esP76C
                        debugify:6XDJoCks
                        distanthorizons:lC6CwqPp
                        tt20:ahmZ3Yw2
                        noisium:erSJnRcq
                        emi:VvPw7Vi5
                        structure-layout-optimizer:CTg3JEhH
                        async-locator:xXhZI4u3
                        servercore:m978FuzE
  MOTD: #REDACTED#

--- # contains RCON_PASSWORD and OPS list
apiVersion: "v1"
kind: "Secret"
metadata:
  name: minecraft-secrets
  namespace: minecraft
data:
  RCON_PASSWORD: #REDACTED#
  OPS: #REDACTED#
type: Opaque

Container logs

### server starts ###
[init] 2026-01-23 00:40:17+01:00 Running as uid=1000 gid=1000 with /data as 'drwxr-xr-x 10 1000 1000 4096 Jan 23 00:18 /data'
[init] 2026-01-23 00:40:17+01:00 Image info: buildtime=2026-01-04T14:02:52.014Z,version=2026.1.0-java25-graalvm,revision=c9094063d344fa38a97223e7ceafe005577865bb
[init] 2026-01-23 00:40:17+01:00 [WARN] Avoid setting TYPE and MODPACK_PLATFORM �(B
[mc-image-helper] 00:40:19.444 INFO  : Requested CurseForge modpack Prominence II: Hasturian Era v3.9.14hf is already installed for Prominence™ II: Hasturian Era
[mc-image-helper] 00:40:19.567 INFO  : Fabric launcher for minecraft 1.20.1 loader 0.18.3 is already available
[init] 2026-01-23 00:40:29+01:00 Copying any mods from /mods to /data/mods
[init] 2026-01-23 00:40:29+01:00 Copying any configs from /config to /data/config
[init] 2026-01-23 00:40:30+01:00 Disabling whitelist functionality
[init] 2026-01-23 00:40:30+01:00 Setting mode
[mc-image-helper] 00:40:30.938 INFO  : Created/updated 1 property in /data/server.properties
[init] 2026-01-23 00:40:31+01:00 Generating log4j2.xml from template in /data/log4j2.xml
[init] 2026-01-23 00:40:31+01:00 Using MeowIce's flags for Graalvm
[init] 2026-01-23 00:40:31+01:00 Setting initial memory to 10G and max to 10G
[init] 2026-01-23 00:40:31+01:00 Starting the Minecraft server...
WARNING: The 'graal.' property prefix for the Graal option EnterprisePartialUnroll
WARNING: (and all other Graal options) is deprecated and will be ignored
WARNING: in a future release. Please use 'jdk.graal.EnterprisePartialUnroll' instead.
Error parsing Graal options: Could not find option OptWriteMotion
### server exits ###

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions