Kenneth Wolcott <[email protected]> wrote:

> My Kotlin and Scala come from MacPorts.  My Kotlin (etc) ports are up-to-date.
> 
> The following is something that I receive every time that I run Kotlin
> or Scala (or anything else that depends on a JVM):
> 
> WARNING: A restricted method in java.lang.System has been called
> WARNING: java.lang.System::load has been called by
> org.fusesource.jansi.internal.JansiLoader in an unnamed module
> WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for
> callers in this module
> WARNING: Restricted methods will be blocked in a future release unless
> native access is enabled
> 
> WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
> WARNING: sun.misc.Unsafe::objectFieldOffset has been called by
> com.intellij.util.containers.Unsafe
> WARNING: Please consider reporting this to the maintainers of class
> com.intellij.util.containers.Unsafe
> WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future 
> release
> 
> What is the appropriate action for me, as an end user, to take?

It looks like the combination of the JVM version you use and the code you’re 
executing causes these warnings. These seem like software-specific warnings, 
not general warnings that would appear for anything that runs on a JVM. I don’t 
see these warnings when I run my own software for instance.

Both warnings are about compatibility problems with future JVM versions. The 
warnings tell you what you could do. 

The first warning says that org.fusesource.jansi.internal.JansiLoader calls the 
java.lang.System::load method, and that that is a restricted method that will 
be blocked in a future JVM release unless native access is enabled, which you 
can do by running the JVM with the --enable-native-access=ALL-UNNAMED flag. How 
you can specify this flag depends on how the software you’re running is 
executed. You could try set the JDK_JAVA_OPTIONS environment variable with this 
flag for the command you run, or pass the flag directly to the ‘java’ command 
if you run the software like that. Alternatively an update of this software may 
be available which doesn’t require fixing this yourself. Or you could choose to 
ignore this warning for now, or run this software on an older JVM version which 
doesn’t result in this warning.

The second warning says that com.intellij.util.containers.Unsafe calls 
sun.misc.Unsafe::objectFieldOffset, which will be removed in a future JVM 
release. You could ignore the warning for now, see if there is an update of 
this software which doesn’t use this deprecated method, or run this software on 
an older JVM version which doesn’t result in this warning.

What is the software you’re running when you see these warnings? Is this 
software provided by MacPorts? If not, this is not really anything that can be 
‘fixed’ in MacPorts.

Also, which JVM do you use for running these programs? (The default JVM is 
typically set via the JAVA_HOME environment variable when not set explicitly 
for a specific execution.) The software you run may be targeting older Java 
versions, and may not be adjusted for the upcoming changes in future Java 
versions, which is why you’re seeing these warnings.

Nils.

Reply via email to