Skip to content

gluon graalvm is not using reachability and reflect jsons #1306

@ozkanpakdil

Description

@ozkanpakdil

When I build my project with gluon graalvm and run the output, I am getting error below

Feb 14, 2025 3:23:03 PM com.sun.javafx.application.PlatformImpl startup
WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @428bdd72'
Exception in Application start method
Exception in thread "main" java.lang.RuntimeException: Exception in Application start method
        at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:893)
        at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
        at java.base@23/java.lang.Thread.runWith(Thread.java:1588)
        at java.base@23/java.lang.Thread.run(Thread.java:1575)
        at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:836)
        at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:812)
Caused by: org.graalvm.nativeimage.MissingReflectionRegistrationError: The program tried to reflectively invoke method

   public final void javafx.scene.Node.setOnKeyReleased(javafx.event.EventHandler)

without it being registered for runtime reflection. Add public final void javafx.scene.Node.setOnKeyReleased(javafx.event.EventHandler) to the reflection metadata to solve this problem. See https://www.graalvm.org/latest/reference-manual/native-image/metadata/#reflection for help.
        at org.graalvm.nativeimage.builder/com.oracle.svm.core.reflect.MissingReflectionRegistrationUtils.errorForQueriedOnlyExecutable(MissingReflectionRegistrationUtils.java:85)
        at java.base@23/java.lang.reflect.Method.acquireMethodAccessor(Method.java:93)
        at java.base@23/java.lang.reflect.Method.invoke(Method.java:577)
        at com.sun.javafx.fxml.ModuleHelper.invoke(ModuleHelper.java:102)
        at com.sun.javafx.fxml.BeanAdapter.put(BeanAdapter.java:259)
        at javafx.fxml.FXMLLoader$Element.processEventHandlerAttributes(FXMLLoader.java:631)
        at javafx.fxml.FXMLLoader$ValueElement.processEndElement(FXMLLoader.java:783)
        at javafx.fxml.FXMLLoader.processEndElement(FXMLLoader.java:2969)
        at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2654)
        at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2563)
        at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2531)
        at com.mascix.swaggerific.SwaggerApplication.start(SwaggerApplication.java:33)
        at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:839)
        at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:483)
        at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:456)
        at java.base@23/java.security.AccessController.executePrivileged(AccessController.java:132)
        at java.base@23/java.security.AccessController.doPrivileged(AccessController.java:400)
        at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:455)
        at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
        at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
        at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:185)
        ... 4 more

When I build with latest regular graalvm everything exe works as expected

The project is a simple javafx project, nothing complex. Looks like latest gluon's graalvm does not respect

https://github.com/ozkanpakdil/swaggerific/blob/main/src/main/resources/META-INF/native-image/reachability-metadata.json
https://github.com/ozkanpakdil/swaggerific/blob/main/src/main/resources/META-INF/native-image/reflect-config.json

or I misconfigure something that is also very possible 🤓

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions