Page 2 of 2

Re: VASSAL doesn't seem to work with Java 9 version

PostPosted: January 17th, 2019, 5:11 pm
by uckelman
Thus spake pacman-ghost:
> Thanks for the comprehensive answer.
>
> My main concern was that there is no guidance for users on how to
> resolve these issues (and they're starting to see them, as their system
> Java's are being updated) and since many/most of these people are
> non-technical, they don't have a clue how to resolve them.

There was no guidance for users on how to resolve these issues because
we haven't resovled them yet. Yesterday evening was my first chance to
investigate any of them.

I've found a few additional problems; once I've solved them, I'll post
a test build here.

> But before any work like that can be done, what versions of Java do you
> want to actually target? Given that 9 and 10 are EOL, people should
> probably be discouraged from using them. So, for example:
> Java 5-7: deprecated
> Java 8: supported
> Java 9-10: unsupported (might work, might not, you're on your own)
> Java 11: provisionally supported (but if you're using VASSAL 3.2.17,
> click here for instructions on things you need to do)

I'd prefer to target 11, so long as we're certain that 11 is available
for all plaftorms where VASSAL is run. I want this to be the last time
we migrate to a newer minimum version of Java.

--
J.

Re: VASSAL doesn't seem to work with Java 9 version

PostPosted: May 18th, 2019, 8:44 pm
by calm1010
uckelman wrote:I've made a pass at answering some questions, as promised:

* Does VASSAL work with Java 9? 10? 11?

Java 9 and Java 11 work for me on Linux after I remove lib/xercesImpl.jar. Apparently as of Java 9, the XML handling classes provided by the Xerces library became part of the JDK, so trying to load them from Xerces causes a name conflict which prevents the VASSAL player (but not the module manager) from starting. I haven't tried Java 10, but my guess is that it will be the same in this regard as 9 and 11.



Thanks !!! Removing lib/xercesImpl.jar solved the problem.

Re: VASSAL doesn't seem to work with Java 9 version

PostPosted: August 30th, 2019, 9:15 am
by CBfromOZ
Posting here because 'report bug' failed on an internal error (!)


These fixes didnt work for me.

* fresh install of opensuse
* using: java-11-openjdk-11.0.4.0-lp151.3.6.1.x86_64
* removed /usr/share/java/xerces*.jar

Vassal starts with a warning of:
Code: Select all
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by VASSAL.tools.image.ImageIOImageLoader (file:/home/korg/bin/vassal.installed/VASSAL-3.2.17/lib/Vengine.jar) to field sun.java2d.cmm.ProfileDeferralMgr.deferring
WARNING: Please consider reporting this to the maintainers of VASSAL.tools.image.ImageIOImageLoader
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


but seems to start up ok (i get the about screen and main menu) but it then if i try to open vasl or run the 'take the tour' intro it bombs with...

Code: Select all
2019-08-30 19:13:16,976 [0-main] INFO  VASSAL.launch.StartUp - Starting
2019-08-30 19:13:16,979 [0-main] INFO  VASSAL.launch.StartUp - OS Linux 4.12.14-lp151.28.13-default
2019-08-30 19:13:16,979 [0-main] INFO  VASSAL.launch.StartUp - Java version 11.0.4
2019-08-30 19:13:16,979 [0-main] INFO  VASSAL.launch.StartUp - VASSAL version 3.2.17
2019-08-30 19:13:17,292 [0-AWT-EventQueue-0] INFO  VASSAL.launch.ModuleManager - Manager
2019-08-30 19:13:20,107 [0-SwingWorker-pool-385739920-thread-2] INFO  VASSAL.launch.AbstractLaunchAction - Loading module file /home/korg/bin/vassal.installed/VASSAL-3.2.17/doc/tour.mod
2019-08-30 19:13:20,331 [0-SwingWorker-pool-385739920-thread-2] INFO  VASSAL.tools.io.ProcessLauncher - launching /usr/lib64/jvm/java-11-openjdk-11/bin/java -classpath /home/korg/bin/vassal.installed/VASSAL-3.2.17/lib/Vengine.jar -Xmx159M -DVASSAL.id=2 -Duser.home=/home/korg -DVASSAL.port=39669 VASSAL.tools.image.tilecache.ZipFileImageTiler /home/korg/bin/vassal.installed/VASSAL-3.2.17/doc/tour.mod /home/korg/.VASSAL/tiles/fabc96ea565c612b78e1fd47dcf965414160e42a 256 256
2019-08-30 19:13:21,216 [2-main] INFO  VASSAL.tools.image.tilecache.ZipFileImageTiler - Starting
2019-08-30 19:13:21,284 [0-ProcessLauncher-2] WARN  VASSAL.tools.logging.LoggedOutputStream - WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by VASSAL.tools.image.ImageIOImageLoader (file:/home/korg/bin/vassal.installed/VASSAL-3.2.17/lib/Vengine.jar) to field sun.java2d.cmm.ProfileDeferralMgr.deferring
WARNING: Please consider reporting this to the maintainers of VASSAL.tools.image.ImageIOImageLoader
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
2019-08-30 19:13:21,303 [2-main] INFO  VASSAL.tools.image.tilecache.FileArchiveImageTiler - Tiling images/Map_West.gif
2019-08-30 19:13:21,583 [2-main] INFO  VASSAL.tools.image.tilecache.FileArchiveImageTiler - Tiling images/Tile_Gap_2.jpg.gif
2019-08-30 19:13:21,728 [2-main] INFO  VASSAL.tools.image.tilecache.FileArchiveImageTiler - Tiling images/Tile_Hallway_1.jpg.gif
2019-08-30 19:13:21,755 [2-main] INFO  VASSAL.tools.image.tilecache.FileArchiveImageTiler - Tiling images/Tile_Hallway_2.jpg.gif
2019-08-30 19:13:21,797 [2-main] INFO  VASSAL.tools.image.tilecache.FileArchiveImageTiler - Tiling images/Tile_Hallway_3.jpg.gif
2019-08-30 19:13:21,832 [2-main] INFO  VASSAL.tools.image.tilecache.FileArchiveImageTiler - Tiling images/Tile_Hallway_4.jpg.gif
2019-08-30 19:13:21,856 [2-main] INFO  VASSAL.tools.image.tilecache.FileArchiveImageTiler - Tiling images/Tile_T_Wall.jpg.gif
2019-08-30 19:13:21,883 [2-main] INFO  VASSAL.tools.image.tilecache.FileArchiveImageTiler - Tiling images/VIP-map2.png
2019-08-30 19:13:22,165 [2-main] INFO  VASSAL.tools.image.tilecache.FileArchiveImageTiler - Tiling images/WAP3.gif
2019-08-30 19:13:22,208 [2-main] INFO  VASSAL.tools.image.tilecache.FileArchiveImageTiler - Tiling images/bd03.gif
2019-08-30 19:13:22,251 [2-main] INFO  VASSAL.tools.image.tilecache.FileArchiveImageTiler - Tiling images/bd41.gif
2019-08-30 19:13:22,362 [2-main] INFO  VASSAL.tools.image.tilecache.FileArchiveImageTiler - Tiling images/tourForces.gif
2019-08-30 19:13:22,379 [2-main] INFO  VASSAL.tools.image.tilecache.ZipFileImageTiler - Exiting
2019-08-30 19:13:22,404 [0-SwingWorker-pool-385739920-thread-2] INFO  VASSAL.launch.AbstractLaunchAction - Loading game file /home/korg/bin/vassal.installed/VASSAL-3.2.17/doc/tour.log
2019-08-30 19:13:22,407 [0-SwingWorker-pool-385739920-thread-2] INFO  VASSAL.launch.AbstractLaunchAction - Loading module VASSAL Tour
2019-08-30 19:13:22,408 [0-SwingWorker-pool-385739920-thread-2] INFO  VASSAL.tools.io.ProcessLauncher - launching /usr/lib64/jvm/java-11-openjdk-11/bin/java -Xms256M -Xmx512M -DVASSAL.id=1 -DVASSAL.port=44591 -Duser.home=/home/korg -Duser.dir=/home/korg/bin/vassal.installed/VASSAL-3.2.17 -cp /home/korg/bin/vassal.installed/VASSAL-3.2.17/lib/Vengine.jar VASSAL.launch.Player --load -- /home/korg/bin/vassal.installed/VASSAL-3.2.17/doc/tour.mod /home/korg/bin/vassal.installed/VASSAL-3.2.17/doc/tour.log
2019-08-30 19:13:23,336 [1-main] INFO  VASSAL.launch.StartUp - Starting
2019-08-30 19:13:23,340 [1-main] INFO  VASSAL.launch.StartUp - OS Linux 4.12.14-lp151.28.13-default
2019-08-30 19:13:23,340 [1-main] INFO  VASSAL.launch.StartUp - Java version 11.0.4
2019-08-30 19:13:23,340 [1-main] INFO  VASSAL.launch.StartUp - VASSAL version 3.2.17
2019-08-30 19:13:23,340 [1-main] INFO  VASSAL.launch.Launcher - Player
2019-08-30 19:13:23,801 [0-ProcessLauncher-2] WARN  VASSAL.tools.logging.LoggedOutputStream - WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by VASSAL.tools.image.ImageIOImageLoader (file:/home/korg/bin/vassal.installed/VASSAL-3.2.17/lib/Vengine.jar) to field sun.java2d.cmm.ProfileDeferralMgr.deferring
WARNING: Please consider reporting this to the maintainers of VASSAL.tools.image.ImageIOImageLoader
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
2019-08-30 19:13:24,169 [1-AWT-EventQueue-0] ERROR VASSAL.tools.ErrorDialog -
java.lang.NoClassDefFoundError: org/w3c/dom/ls/DocumentLS
   at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na]
   at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016) ~[na:na]
   at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) ~[na:na]
   at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:802) ~[na:na]
   at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:700) ~[na:na]
   at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:623) ~[na:na]
   at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) ~[na:na]
   at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
   at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na]
   at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na]
   at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016) ~[na:na]
   at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) ~[na:na]
   at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:802) ~[na:na]
   at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:700) ~[na:na]
   at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:623) ~[na:na]
   at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) ~[na:na]
   at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
   at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na]
   at org.apache.xerces.util.ObjectFactory.findProviderClass(Unknown Source) ~[xercesImpl.jar:na]
   at org.apache.xerces.parsers.AbstractDOMParser.setDocumentClassName(Unknown Source) ~[xercesImpl.jar:na]
   at org.apache.xerces.parsers.AbstractDOMParser.reset(Unknown Source) ~[xercesImpl.jar:na]
   at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) ~[xercesImpl.jar:na]
   at org.apache.xerces.parsers.DOMParser.parse(Unknown Source) ~[xercesImpl.jar:na]
   at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) ~[xercesImpl.jar:na]
   at java.xml/javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:122) ~[na:na]
   at VASSAL.build.Builder.createDocument(Builder.java:160) ~[Vengine.jar:na]
   at VASSAL.launch.BasicModule.build(BasicModule.java:110) ~[Vengine.jar:na]
   at VASSAL.build.GameModule.init(GameModule.java:855) ~[Vengine.jar:na]
   at VASSAL.launch.Player.launch(Player.java:83) ~[Vengine.jar:na]
   at VASSAL.launch.Launcher$1.run(Launcher.java:149) ~[Vengine.jar:na]
   at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) ~[na:na]
   at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770) ~[na:na]
   at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) ~[na:na]
   at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) ~[na:na]
   at java.base/java.security.AccessController.doPrivileged(Native Method) ~[na:na]
   at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) ~[na:na]
   at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740) ~[na:na]
   at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) ~[na:na]
   at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) ~[na:na]
   at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) ~[na:na]
   at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) ~[na:na]
   at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) ~[na:na]
   at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) ~[na:na]
Caused by: java.lang.ClassNotFoundException: org.w3c.dom.ls.DocumentLS
   at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) ~[na:na]
   at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
   at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na]
   ... 43 common frames omitted

Re: VASSAL doesn't seem to work with Java 9 version

PostPosted: September 13th, 2019, 9:52 pm
by uckelman
Look here for test builds for use with Java 9 or later:

viewtopic.php?p=57576&sid=ab00fd9d02853f08d09ee8d75481c6d4#p57576