nyatla / NyARToolkit-for-Processing

NyARToolkit for Processing
GNU Lesser General Public License v3.0
51 stars 23 forks source link

simpleNft and nftFilesGen do not work in Processing b3 and later #10

Open kougaku opened 1 year ago

kougaku commented 1 year ago

Hi, thanks for your great contribution! I found bugs and wanted to let you know.

simpleNft crashes on Processing b3 and later. There seems to be an error within addNftTarget().

NyAR4psg/3.0.7;NyARToolkit/5.0.9 Processing video library using bundled GStreamer 1.20.3 Scanning GStreamer plugins... Done. RuntimeException: java.lang.IllegalAccessError: class jp.nyatla.nyartoolkit.j2se.JpegIO (in unnamed module @0x192b07fd) cannot access class com.sun.imageio.plugins.jpeg.JPEGImageReader (in module java.desktop) because module java.desktop does not export com.sun.imageio.plugins.jpeg to unnamed module @0x192b07fd java.lang.RuntimeException: java.lang.IllegalAccessError: class jp.nyatla.nyartoolkit.j2se.JpegIO (in unnamed module @0x192b07fd) cannot access class com.sun.imageio.plugins.jpeg.JPEGImageReader (in module java.desktop) because module java.desktop does not export com.sun.imageio.plugins.jpeg to unnamed module @0x192b07fd at processing.opengl.PSurfaceJOGL.lambda$initAnimator$2(PSurfaceJOGL.java:413) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: java.lang.IllegalAccessError: class jp.nyatla.nyartoolkit.j2se.JpegIO (in unnamed module @0x192b07fd) cannot access class com.sun.imageio.plugins.jpeg.JPEGImageReader (in module java.desktop) because module java.desktop does not export com.sun.imageio.plugins.jpeg to unnamed module @0x192b07fd at jp.nyatla.nyartoolkit.j2se.JpegIO.decode(JpegIO.java:55) at jp.nyatla.nyartoolkit.core.marker.nft.iset.IsetFileDataParserV5.(IsetFileDataParserV5.java:97) at jp.nyatla.nyartoolkit.core.marker.nft.NyARNftIsetFile.loadFromIsetFile(NyARNftIsetFile.java:87) at jp.nyatla.nyartoolkit.core.marker.nft.NyARNftIsetFile.loadFromIsetFile(NyARNftIsetFile.java:67) at jp.nyatla.nyartoolkit.core.marker.nft.NyARNftIsetFile.loadFromIsetFile(NyARNftIsetFile.java:71) at jp.nyatla.nyartoolkit.core.marker.nft.NyARNftDataSet.loadFromNftFiles(NyARNftDataSet.java:115) at jp.nyatla.nyar4psg.MultiNft.addNftTarget(Unknown Source) at jp.nyatla.nyar4psg.MultiNft.addNftTarget(Unknown Source) at jp.nyatla.nyar4psg.MultiNft.addNftTarget(Unknown Source) at simpleNft.setup(simpleNft.java:42) at processing.core.PApplet.handleDraw(PApplet.java:2088) at processing.opengl.PSurfaceJOGL$DrawListener.display(PSurfaceJOGL.java:821) at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692) at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674) at jogamp.opengl.GLAutoDrawableBase$2.run(GLAutoDrawableBase.java:443) at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293) at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147) at com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:782) at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:81) at com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:453) at com.jogamp.opengl.util.FPSAnimator$MainTask.run(FPSAnimator.java:178) at java.base/java.util.TimerThread.mainLoop(Timer.java:566) at java.base/java.util.TimerThread.run(Timer.java:516) RuntimeException: java.lang.IllegalAccessError: class jp.nyatla.nyartoolkit.j2se.JpegIO (in unnamed module @0x192b07fd) cannot access class com.sun.imageio.plugins.jpeg.JPEGImageReader (in module java.desktop) because module java.desktop does not export com.sun.imageio.plugins.jpeg to unnamed module @0x192b07fd

I also found error in nftFilesGen. It is runnable, but "Save Feature Set files" does not work. The files are not created. The errors are as follows.

java.lang.IllegalAccessError: class jp.nyatla.nyartoolkit.j2se.JpegIO (in unnamed module @0x4560efd8) cannot access class com.sun.imageio.plugins.jpeg.JPEGImageWriter (in module java.desktop) because module java.desktop does not export com.sun.imageio.plugins.jpeg to unnamed module @0x4560efd8 at jp.nyatla.nyartoolkit.j2se.JpegIO.encode(JpegIO.java:103) at jp.nyatla.nyartoolkit.core.marker.nft.iset.IsetFileDataParserV5.makeBinary(IsetFileDataParserV5.java:124) at jp.nyatla.nyartoolkit.core.marker.nft.NyARNftIsetFile.makeIsetBinary(NyARNftIsetFile.java:212) at jp.nyatla.nyartoolkit.core.marker.nft.NyARNftIsetFile.makeIsetBinary(NyARNftIsetFile.java:200) at jp.nyatla.nyartoolkit.apps.nftfilegen.NyarNftGenApp$3.actionPerformed(NyarNftGenApp.java:202) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972) at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313) at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405) at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:374) at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1028) at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1072) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6626) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389) at java.desktop/java.awt.Component.processEvent(Component.java:6391) at java.desktop/java.awt.Container.processEvent(Container.java:2266) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

I've checked in several versions.

Processing 3.5.4 : work! Processing 4.0 beta 1 : work! Processing 4.0 beta 2 : simpleNft works, but with NullPointerException. nftFilesGen works. Processing 4.0 beta 3 : not work Processing 4.0 beta 4 : not work Processing 4.0 beta 5 : not work Processing 4.0 : not work Processing 4.1.1 : not work

nyatla commented 1 year ago

I have mistake yesterday update. so I updated it. Check it. nyar4psg.zip

kougaku commented 1 year ago

Thank you very much for updating! simpleNft works fine! nftFilesGen's save function does not work, it outputs same error.

nyatla commented 1 year ago

Updated. I think work it. nyar4psg.zip

nyatla commented 1 year ago

nyar4psg-4.zip

Fixed minor issues. It will be released if work fine.

kougaku commented 1 year ago

It works fine! Please release it. Thank you very much. I love this library.