You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I know it is early days for jdk9 support (and I'm not 100% sure jdk9 processing.org is ready yet) but this result seems to suggest problem with the jruby java classloader.
Environment
jruby 9.1.14.0 (2.3.3) 2017-11-08 2176f24 Java HotSpot(TM) 64-Bit Server VM 9+181 on 9+181 +jit [linux-x86_64]
Linux tux-PC-2163 4.10.0-38-generic #42~16.04.1-Ubuntu SMP Tue Oct 10 16:32:20 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Expected Behavior
Works with jdk8
jruby 9.1.14.0 (2.3.3) 2017-11-08 2176f24 OpenJDK 64-Bit Server VM 25.151-b12 on 1.8.0_151-8u151-b12-0ubuntu0.16.04.2-b12 +jit [linux-x86_64]
Actual Behavior
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by jnr.posix.JavaLibCHelper$ReflectiveAccess to method sun.nio.ch.SelChImpl.getFD()
WARNING: Please consider reporting this to the maintainers of jnr.posix.JavaLibCHelper$ReflectiveAccess
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
NameError: PApplet not found in packages processing.core; last error: cannot initialize Java class processing.core.PApplet
const_missing at uri:classloader:/jruby/java/core_ext/module.rb:45
module:RbProcessing at /home/tux/animationloop/lib/rbprocessing/app.rb:6
at /home/tux/animationloop/lib/rbprocessing/app.rb:2
require at org/jruby/RubyKernel.java:955
(root) at uri:classloader:/jruby/kernel/kernel.rb:1
at uri:classloader:/jruby/kernel/kernel.rb:13
require at org/jruby/RubyKernel.java:955
(root) at /home/tux/animationloop/lib/rbprocessing.rb:10
at test.rb:1.
Ok, looks like there's more than meets the eye here.
The warnings are to be expected; JDK9 warns about "illegal" reflection access, but still allows it. The reason why the applet fails to load is not apparent, though. It appears more likely to be something in processing.org that doesn't initialize on JDK9, and that cascades out to JRuby as a NameError when we can't load the class. The "cannot initialize Java class" tells us this is a problem loading PApplet on JDK9.
I'm going to punt this back to you to investigate whether PApplet even works on JDK9. Until we have confirmation that processing.org works, I don't want to spend too much time on this.
It seems there was a stupid simple reason for PApplet failure,it checked version type and expected a . in version, that my version did not have. I have since updated to jdk-9.0.1 and there is now another issue with a protected method, so I'm closing this issue and creating a new issue.
I know it is early days for jdk9 support (and I'm not 100% sure jdk9 processing.org is ready yet) but this result seems to suggest problem with the jruby java classloader.
Environment
jruby 9.1.14.0 (2.3.3) 2017-11-08 2176f24 Java HotSpot(TM) 64-Bit Server VM 9+181 on 9+181 +jit [linux-x86_64]
Linux tux-PC-2163 4.10.0-38-generic #42~16.04.1-Ubuntu SMP Tue Oct 10 16:32:20 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Expected Behavior
Works with jdk8
jruby 9.1.14.0 (2.3.3) 2017-11-08 2176f24 OpenJDK 64-Bit Server VM 25.151-b12 on 1.8.0_151-8u151-b12-0ubuntu0.16.04.2-b12 +jit [linux-x86_64]
Actual Behavior
WARNING: An illegal reflective access operation has occurred
at /home/tux/animationloop/lib/rbprocessing/app.rb:2WARNING: Illegal reflective access by jnr.posix.JavaLibCHelper$ReflectiveAccess to method sun.nio.ch.SelChImpl.getFD()
WARNING: Please consider reporting this to the maintainers of jnr.posix.JavaLibCHelper$ReflectiveAccess
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
NameError: PApplet not found in packages processing.core; last error: cannot initialize Java class processing.core.PApplet
const_missing at uri:classloader:/jruby/java/core_ext/module.rb:45
module:RbProcessing at /home/tux/animationloop/lib/rbprocessing/app.rb:6
require at org/jruby/RubyKernel.java:955
(root) at uri:classloader:/jruby/kernel/kernel.rb:1
at uri:classloader:/jruby/kernel/kernel.rb:13
require at org/jruby/RubyKernel.java:955
(root) at /home/tux/animationloop/lib/rbprocessing.rb:10
at test.rb:1.
See https://github.com/monkstone/rbprocessing for test
The text was updated successfully, but these errors were encountered: