Illegal native access from module even with --enable-native-access=[module]

Michael Ennen mike.ennen at gmail.com
Tue Aug 17 22:36:47 UTC 2021


Ah, of course. That makes sense. Thank you very much - it works.

On Tue, Aug 17, 2021 at 1:58 PM Paul Sandoz <paul.sandoz at oracle.com> wrote:

> Hi,
>
> Try placing "--enable-native-access=com.brcolow.vulkan” before “—module …”
> otherwise it becomes part of the string args passed to the application:
>
> @@ -29,11 +29,11 @@
>                      <arguments>
>                          <argument>--add-modules</argument>
>                          <argument>jdk.incubator.foreign</argument>
> +
> <argument>--enable-native-access=com.brcolow.vulkan</argument>
>                          <argument>--module-path</argument>
>                          <modulepath/>
>                          <argument>--module</argument>
>
>  <argument>com.brcolow.vulkan/com.brcolow.vulkan.Vulkan</argument>
> -
> <argument>--enable-native-access=com.brcolow.vulkan</argument>
>                      </arguments>
>                  </configuration>
>              </plugin>
>
>
> Paul.
>
> > On Aug 17, 2021, at 1:26 PM, Michael Ennen <mike.ennen at gmail.com> wrote:
> >
> > I am once again messing around with Project Panama. This time exploring
> > Vulkan.
> >
> > You can find the project here:
> >
> > https://github.com/brcolow/java-vulkan
> >
> > You can use jextract on Vulkan API headers by running `jextract.ps1` in
> > Powershell (Windows).
> >
> > Then use `maven-exec-plugin` by running:
> >
> > "mvn exec:exec"
> >
> > which is running java with the following arguments:
> >
> > [C:\Program Files\Java\jdk-17-panama\bin\java.exe, --add-modules,
> > jdk.incubator.foreign, --module-path,
> > C:\Users\mikee\dev\java-vulkan\target\classes, --module,
> > com.brcolow.vulkan/com.brcolow.vulkan.Vulkan,
> > --enable-native-access=com.brcolow.vulkan]
> >
> > (I have tried with and without --add-modules jdk.incubator.foreign which
> > shouldn't be necessary given my module-info.java).
> >
> > The JDK version is the latest EA "17-panama+3-167", I get the error:
> >
> >
> > Exception in thread "main" java.lang.ExceptionInInitializerError
> > at com.brcolow.vulkan at 0.0.1-SNAPSHOT
> > /com.brcolow.vulkan.constants$48.<clinit>(constants$48.java:15)
> >
> > at com.brcolow.vulkan at 0.0.1-SNAPSHOT
> > /com.brcolow.vulkan.vulkan_h_14.vkCreateInstance(vulkan_h_14.java:694)
> >
> > at com.brcolow.vulkan at 0.0.1-SNAPSHOT
> > /com.brcolow.vulkan.Vulkan.main(Vulkan.java:34)
> >
> > Caused by: java.lang.IllegalCallerException: Illegal native access from
> > module: com.brcolow.vulkan
> >
> > at
> >
> java.base/jdk.internal.reflect.Reflection.ensureNativeAccess(Reflection.java:113)
> >
> > at
> >
> jdk.incubator.foreign/jdk.incubator.foreign.CLinker.getInstance(CLinker.java:129)
> >
> > at com.brcolow.vulkan at 0.0.1-SNAPSHOT
> > /com.brcolow.vulkan.RuntimeHelper.<clinit>(RuntimeHelper.java:27)
> > ... 3 more
> >
> > Thank you.
> > --
> > Michael Ennen
>
>

-- 
Michael Ennen


More information about the panama-dev mailing list