Bug report with Vassal client

Hello, first time writing here. I’ve been using Vassal for years, yet lately I’m experiencing some fatal errors that make me completely unable to open the client.

I have an ASUS PC, here are my specs:
OS Name Microsoft Windows 10 Home
Version 10.0.19041 Build 19041
Other OS Description Not Available
OS Manufacturer Microsoft Corporation
System Name LAPTOP-LM7JQTP6
System Manufacturer ASUSTeK COMPUTER INC.
System Model TUF Gaming FX505DT_FX505DT
System Type x64-based PC
System SKU
Processor AMD Ryzen 7 3750H with Radeon Vega Mobile Gfx, 2300 Mhz, 4 Core(s), 8 Logical Processor(s)
BIOS Version/Date American Megatrends Inc. FX505DT.310, 24/12/2019
SMBIOS Version 3.2
Embedded Controller Version 12.00
BIOS Mode UEFI
BaseBoard Manufacturer ASUSTeK COMPUTER INC.
BaseBoard Product FX505DT
BaseBoard Version 1.0
Platform Role Mobile
Secure Boot State On
PCR7 Configuration Elevation Required to View
Windows Directory C:\WINDOWS
System Directory C:\WINDOWS\system32
Boot Device \Device\HarddiskVolume1
Locale United Kingdom
Hardware Abstraction Layer Version = “10.0.19041.488”
Username LAPTOP-LM7JQTP6\gorgo
Time Zone W. Europe Standard Time
Installed Physical Memory (RAM) 16.0 GB
Total Physical Memory 15.8 GB
Available Physical Memory 11.6 GB
Total Virtual Memory 18.2 GB
Available Virtual Memory 12.3 GB
Page File Space 2.38 GB
Page File C:\pagefile.sys
Kernel DMA Protection Off
Virtualisation-based security Not enabled
Device Encryption Support Elevation Required to View
Hyper-V - VM Monitor Mode Extensions Yes
Hyper-V - Second Level Address Translation Extensions Yes
Hyper-V - Virtualisation Enabled in Firmware No
Hyper-V - Data Execution Protection Yes

I opened up the bug report and this is what came out:

2020-10-26 09:41:31,615 [0-main] INFO VASSAL.launch.StartUp - Starting
2020-10-26 09:41:31,621 [0-main] INFO VASSAL.launch.StartUp - OS Windows 10 10.0
2020-10-26 09:41:31,621 [0-main] INFO VASSAL.launch.StartUp - Java version 15
2020-10-26 09:41:31,621 [0-main] INFO VASSAL.launch.StartUp - VASSAL version 3.4.7
2020-10-26 09:41:31,723 [0-AWT-EventQueue-0] INFO VASSAL.launch.ModuleManager - Manager
2020-10-26 09:41:31,917 [0-Swing-Shell] WARN VASSAL.tools.logging.LoggedOutputStream - Oct 26, 2020 9:41:31 AM sun.awt.shell.Win32ShellFolderManager2 getNetwork
WARNING: Cannot access ‘Network’
java.io.IOException: Could not get shell folder ID list
at java.desktop/sun.awt.shell.Win32ShellFolder2.getFileSystemPath0(Native Method)
at java.desktop/sun.awt.shell.Win32ShellFolder2$7.call(Win32ShellFolder2.java:647)
at java.desktop/sun.awt.shell.Win32ShellFolder2$7.call(Win32ShellFolder2.java:645)
at java.desktop/sun.awt.shell.Win32ShellFolderManager2$ComInvoker.invoke(Win32ShellFolderManager2.java:616)
at java.desktop/sun.awt.shell.ShellFolder.invoke(ShellFolder.java:519)
at java.desktop/sun.awt.shell.Win32ShellFolder2.getFileSystemPath(Win32ShellFolder2.java:645)
at java.desktop/sun.awt.shell.Win32ShellFolder2.composePathForCsidl(Win32ShellFolder2.java:257)
at java.desktop/sun.awt.shell.Win32ShellFolder2.(Win32ShellFolder2.java:270)
at java.desktop/sun.awt.shell.Win32ShellFolderManager2.getNetwork(Win32ShellFolderManager2.java:216)
at java.desktop/sun.awt.shell.Win32ShellFolder2.getFileSystemPath(Win32ShellFolder2.java:611)
at java.desktop/sun.awt.shell.Win32ShellFolder2$10.call(Win32ShellFolder2.java:817)
at java.desktop/sun.awt.shell.Win32ShellFolder2$10.call(Win32ShellFolder2.java:808)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at java.desktop/sun.awt.shell.Win32ShellFolderManager2$ComInvoker$1.run(Win32ShellFolderManager2.java:586)
at java.base/java.lang.Thread.run(Thread.java:832)

2020-10-26 09:41:31,922 [0-main] ERROR VASSAL.tools.ErrorDialog -
java.lang.NullPointerException: Cannot invoke “sun.awt.shell.Win32ShellFolder2.getIShellFolder()” because the return value of “sun.awt.shell.Win32ShellFolderManager2.getNetwork()” is null
at java.desktop/sun.awt.shell.Win32ShellFolder2.getFileSystemPath(Win32ShellFolder2.java:611)
at java.desktop/sun.awt.shell.Win32ShellFolder2$10.call(Win32ShellFolder2.java:817)
at java.desktop/sun.awt.shell.Win32ShellFolder2$10.call(Win32ShellFolder2.java:808)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at java.desktop/sun.awt.shell.Win32ShellFolderManager2$ComInvoker$1.run(Win32ShellFolderManager2.java:586)
at java.base/java.lang.Thread.run(Thread.java:832)
2020-10-26 09:42:06,095 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot invoke “VASSAL.build.GameModule.getGameName()” because the return value of “VASSAL.build.GameModule.getGameModule()” is null

2020-10-26 09:42:06,095 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)

2020-10-26 09:42:06,096 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:205)

2020-10-26 09:42:06,096 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/javax.swing.SwingWorker.get(SwingWorker.java:625)

2020-10-26 09:42:06,096 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at VASSAL.tools.BugDialog$SendRequest.done(BugDialog.java:559)

2020-10-26 09:42:06,096 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/javax.swing.SwingWorker$5.run(SwingWorker.java:750)

2020-10-26 09:42:06,096 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(SwingWorker.java:847)

2020-10-26 09:42:06,096 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:112)

2020-10-26 09:42:06,096 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(SwingWorker.java:857)

2020-10-26 09:42:06,096 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/javax.swing.Timer.fireActionPerformed(Timer.java:310)

2020-10-26 09:42:06,096 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/javax.swing.Timer$DoPostEvent.run(Timer.java:242)

2020-10-26 09:42:06,096 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:316)

2020-10-26 09:42:06,096 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)

2020-10-26 09:42:06,096 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)

2020-10-26 09:42:06,097 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)

2020-10-26 09:42:06,097 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)

2020-10-26 09:42:06,097 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)

2020-10-26 09:42:06,097 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)

2020-10-26 09:42:06,097 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)

2020-10-26 09:42:06,097 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)

2020-10-26 09:42:06,097 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117)

2020-10-26 09:42:06,097 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)

2020-10-26 09:42:06,097 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)

2020-10-26 09:42:06,097 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)

2020-10-26 09:42:06,097 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)

2020-10-26 09:42:06,097 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)

2020-10-26 09:42:06,097 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.Dialog.show(Dialog.java:1070)

2020-10-26 09:42:06,098 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.Component.show(Component.java:1717)

2020-10-26 09:42:06,098 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.Component.setVisible(Component.java:1664)

2020-10-26 09:42:06,098 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.Window.setVisible(Window.java:1028)

2020-10-26 09:42:06,098 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1005)

2020-10-26 09:42:06,098 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at VASSAL.tools.BugDialog.setVisible(BugDialog.java:444)

2020-10-26 09:42:06,098 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at VASSAL.tools.ErrorDialog.lambda$bug$0(ErrorDialog.java:90)

2020-10-26 09:42:06,098 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:316)

2020-10-26 09:42:06,098 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)

2020-10-26 09:42:06,098 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)

2020-10-26 09:42:06,098 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)

2020-10-26 09:42:06,098 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)

2020-10-26 09:42:06,099 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)

2020-10-26 09:42:06,099 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)

2020-10-26 09:42:06,099 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)

2020-10-26 09:42:06,099 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)

2020-10-26 09:42:06,099 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)

2020-10-26 09:42:06,099 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)

2020-10-26 09:42:06,099 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)

2020-10-26 09:42:06,099 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

2020-10-26 09:42:06,099 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - Caused by: java.lang.NullPointerException: Cannot invoke “VASSAL.build.GameModule.getGameName()” because the return value of “VASSAL.build.GameModule.getGameModule()” is null

2020-10-26 09:42:06,099 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at VASSAL.tools.BugUtils.getSummary(BugUtils.java:60)

2020-10-26 09:42:06,099 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at VASSAL.tools.BugUtils.sendBugReport(BugUtils.java:26)

2020-10-26 09:42:06,099 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at VASSAL.tools.BugDialog$SendRequest.doInBackground(BugDialog.java:545)

2020-10-26 09:42:06,100 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at VASSAL.tools.BugDialog$SendRequest.doInBackground(BugDialog.java:526)

2020-10-26 09:42:06,100 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:304)

2020-10-26 09:42:06,100 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)

2020-10-26 09:42:06,100 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:343)

2020-10-26 09:42:06,100 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)

2020-10-26 09:42:06,100 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)

2020-10-26 09:42:06,100 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.base/java.lang.Thread.run(Thread.java:832)

Thus spake Gorgoneion:

2020-10-26 09:41:31,917 [0-Swing-Shell] WARN
VASSAL.tools.logging.LoggedOutputStream - Oct 26, 2020 9:41:31 AM
sun.awt.shell.Win32ShellFolderManager2 getNetwork
WARNING: Cannot access ‘Network’
java.io.IOException: Could not get shell folder ID list

This sort of thing can happen if you have a bad key in your registry.

If you look in regedit under HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders, what keys and values are there?


J.

Sorry I’ve seen your post only now.

Just to make a quick check, I ran CCleaner on my registry. The bug persisted, this is the log:

2020-11-09 18:48:50,401 [0-main] INFO VASSAL.launch.StartUp - Starting
2020-11-09 18:48:50,412 [0-main] INFO VASSAL.launch.StartUp - OS Windows 10 10.0
2020-11-09 18:48:50,413 [0-main] INFO VASSAL.launch.StartUp - Java version 15
2020-11-09 18:48:50,413 [0-main] INFO VASSAL.launch.StartUp - VASSAL version 3.4.8
2020-11-09 18:48:50,646 [0-AWT-EventQueue-0] INFO VASSAL.launch.ModuleManager - Manager
2020-11-09 18:48:51,098 [0-Swing-Shell] WARN VASSAL.tools.logging.LoggedOutputStream - Nov 09, 2020 6:48:51 PM sun.awt.shell.Win32ShellFolderManager2 getNetwork
WARNING: Cannot access ‘Network’
java.io.IOException: Could not get shell folder ID list
at java.desktop/sun.awt.shell.Win32ShellFolder2.getFileSystemPath0(Native Method)
at java.desktop/sun.awt.shell.Win32ShellFolder2$7.call(Win32ShellFolder2.java:647)
at java.desktop/sun.awt.shell.Win32ShellFolder2$7.call(Win32ShellFolder2.java:645)
at java.desktop/sun.awt.shell.Win32ShellFolderManager2$ComInvoker.invoke(Win32ShellFolderManager2.java:616)
at java.desktop/sun.awt.shell.ShellFolder.invoke(ShellFolder.java:519)
at java.desktop/sun.awt.shell.Win32ShellFolder2.getFileSystemPath(Win32ShellFolder2.java:645)
at java.desktop/sun.awt.shell.Win32ShellFolder2.composePathForCsidl(Win32ShellFolder2.java:257)
at java.desktop/sun.awt.shell.Win32ShellFolder2.(Win32ShellFolder2.java:270)
at java.desktop/sun.awt.shell.Win32ShellFolderManager2.getNetwork(Win32ShellFolderManager2.java:216)
at java.desktop/sun.awt.shell.Win32ShellFolder2.getFileSystemPath(Win32ShellFolder2.java:611)
at java.desktop/sun.awt.shell.Win32ShellFolder2$10.call(Win32ShellFolder2.java:817)
at java.desktop/sun.awt.shell.Win32ShellFolder2$10.call(Win32ShellFolder2.java:808)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at java.desktop/sun.awt.shell.Win32ShellFolderManager2$ComInvoker$1.run(Win32ShellFolderManager2.java:586)
at java.base/java.lang.Thread.run(Thread.java:832)

2020-11-09 18:48:51,112 [0-main] ERROR VASSAL.tools.ErrorDialog -
java.lang.NullPointerException: Cannot invoke “sun.awt.shell.Win32ShellFolder2.getIShellFolder()” because the return value of “sun.awt.shell.Win32ShellFolderManager2.getNetwork()” is null
at java.desktop/sun.awt.shell.Win32ShellFolder2.getFileSystemPath(Win32ShellFolder2.java:611)
at java.desktop/sun.awt.shell.Win32ShellFolder2$10.call(Win32ShellFolder2.java:817)
at java.desktop/sun.awt.shell.Win32ShellFolder2$10.call(Win32ShellFolder2.java:808)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at java.desktop/sun.awt.shell.Win32ShellFolderManager2$ComInvoker$1.run(Win32ShellFolderManager2.java:586)
at java.base/java.lang.Thread.run(Thread.java:832)

Thank you very much for replying!

I created an image that you can find here:
dropbox.com/s/4m6xd0vlt6jcc … e.PNG?dl=0

Do those two paths containing “OneDrive” actually exist?

Also, does the path for the NetHood key exist?

How do I check?

Look in your file manager.

No, they appear not to exist… what do I do now?

We’re getting into “Window voodoo” territory, but a couple of options:
(1) If it’s the OneDrive entries that you think are causing the problem, and you think it’s because you’re not logged into OneDrive or not connected to the internet, or something like that, then obviously one fix is getting OneDrive back going again.
(2) You could ensure the directories exist by creating them in place. (Note that the parts of the entries that say %USERPROFILE% generally just mean your main user directory, so in your case it looks like C:\Users\gorgo)
(3) You could use regedit to change the values of the directories to point at something that DOES exist. Double click the name on in the left column, and fill in a new value.

Note that it’s okay for the entries to point at an empty directory, as long as the directory exists.

There are sporadic entries around the internet about various java apps which have experienced this, which seems to come down to poor handling by the JDK of unorthodox situations in the system folders (e.g. bestofbi.com/forum/posts/list/2593.page for example), and the people who managed to get it working again all referenced in some way adjusting something in here that was pointing to the wrong place.

Brian

One Drive is up to date and running, therefore the first option seems not to be viable.

I’ll create empty .txt files without extension with the same names, let’s see what will happen. THANKS! and fingers crossed

Ok, I did the above and then I reinstalled vassal, here is the error log:

2020-11-12 20:11:12,431 [0-main] INFO VASSAL.launch.StartUp - Starting
2020-11-12 20:11:12,448 [0-main] INFO VASSAL.launch.StartUp - OS Windows 10 10.0
2020-11-12 20:11:12,449 [0-main] INFO VASSAL.launch.StartUp - Java version 15
2020-11-12 20:11:12,450 [0-main] INFO VASSAL.launch.StartUp - VASSAL version 3.4.8
2020-11-12 20:11:12,759 [0-AWT-EventQueue-0] INFO VASSAL.launch.ModuleManager - Manager
2020-11-12 20:11:13,321 [0-Swing-Shell] WARN VASSAL.tools.logging.LoggedOutputStream - Nov 12, 2020 8:11:13 PM sun.awt.shell.Win32ShellFolderManager2 getNetwork
WARNING: Cannot access ‘Network’
java.io.IOException: Could not get shell folder ID list
at java.desktop/sun.awt.shell.Win32ShellFolder2.getFileSystemPath0(Native Method)
at java.desktop/sun.awt.shell.Win32ShellFolder2$7.call(Win32ShellFolder2.java:647)
at java.desktop/sun.awt.shell.Win32ShellFolder2$7.call(Win32ShellFolder2.java:645)
at java.desktop/sun.awt.shell.Win32ShellFolderManager2$ComInvoker.invoke(Win32ShellFolderManager2.java:616)
at java.desktop/sun.awt.shell.ShellFolder.invoke(ShellFolder.java:519)
at java.desktop/sun.awt.shell.Win32ShellFolder2.getFileSystemPath(Win32ShellFolder2.java:645)
at java.desktop/sun.awt.shell.Win32ShellFolder2.composePathForCsidl(Win32ShellFolder2.java:257)
at java.desktop/sun.awt.shell.Win32ShellFolder2.(Win32ShellFolder2.java:270)
at java.desktop/sun.awt.shell.Win32ShellFolderManager2.getNetwork(Win32ShellFolderManager2.java:216)
at java.desktop/sun.awt.shell.Win32ShellFolder2.getFileSystemPath(Win32ShellFolder2.java:611)
at java.desktop/sun.awt.shell.Win32ShellFolder2$10.call(Win32ShellFolder2.java:817)
at java.desktop/sun.awt.shell.Win32ShellFolder2$10.call(Win32ShellFolder2.java:808)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at java.desktop/sun.awt.shell.Win32ShellFolderManager2$ComInvoker$1.run(Win32ShellFolderManager2.java:586)
at java.base/java.lang.Thread.run(Thread.java:832)

2020-11-12 20:11:13,333 [0-main] ERROR VASSAL.tools.ErrorDialog -
java.lang.NullPointerException: Cannot invoke “sun.awt.shell.Win32ShellFolder2.getIShellFolder()” because the return value of “sun.awt.shell.Win32ShellFolderManager2.getNetwork()” is null
at java.desktop/sun.awt.shell.Win32ShellFolder2.getFileSystemPath(Win32ShellFolder2.java:611)
at java.desktop/sun.awt.shell.Win32ShellFolder2$10.call(Win32ShellFolder2.java:817)
at java.desktop/sun.awt.shell.Win32ShellFolder2$10.call(Win32ShellFolder2.java:808)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at java.desktop/sun.awt.shell.Win32ShellFolderManager2$ComInvoker$1.run(Win32ShellFolderManager2.java:586)
at java.base/java.lang.Thread.run(Thread.java:832)

Thus spake Gorgoneion:

Ok, I did the above and then I reinstalled vassal, here is the error
log:

Reinstalling VASSAL will not help with this problem.


J.

Thus spake Gorgoneion:

One Drive is up to date and running, therefore the first option seems
not to be viable.

I’ll create empty .txt files without extension with the same names,
let’s see what will happen. THANKS! and fingers crossed

Anything you’re creating here should be a folder, not a file.


J.

Ok willdo right now.

Changed all txts to empty files.

New error log:

2020-11-12 20:25:14,028 [0-main] INFO VASSAL.launch.StartUp - Starting
2020-11-12 20:25:14,040 [0-main] INFO VASSAL.launch.StartUp - OS Windows 10 10.0
2020-11-12 20:25:14,041 [0-main] INFO VASSAL.launch.StartUp - Java version 15
2020-11-12 20:25:14,041 [0-main] INFO VASSAL.launch.StartUp - VASSAL version 3.4.8
2020-11-12 20:25:14,258 [0-AWT-EventQueue-0] INFO VASSAL.launch.ModuleManager - Manager
2020-11-12 20:25:14,685 [0-Swing-Shell] WARN VASSAL.tools.logging.LoggedOutputStream - Nov 12, 2020 8:25:14 PM sun.awt.shell.Win32ShellFolderManager2 getNetwork
WARNING: Cannot access ‘Network’
java.io.IOException: Could not get shell folder ID list
at java.desktop/sun.awt.shell.Win32ShellFolder2.getFileSystemPath0(Native Method)
at java.desktop/sun.awt.shell.Win32ShellFolder2$7.call(Win32ShellFolder2.java:647)
at java.desktop/sun.awt.shell.Win32ShellFolder2$7.call(Win32ShellFolder2.java:645)
at java.desktop/sun.awt.shell.Win32ShellFolderManager2$ComInvoker.invoke(Win32ShellFolderManager2.java:616)
at java.desktop/sun.awt.shell.ShellFolder.invoke(ShellFolder.java:519)
at java.desktop/sun.awt.shell.Win32ShellFolder2.getFileSystemPath(Win32ShellFolder2.java:645)
at java.desktop/sun.awt.shell.Win32ShellFolder2.composePathForCsidl(Win32ShellFolder2.java:257)
at java.desktop/sun.awt.shell.Win32ShellFolder2.(Win32ShellFolder2.java:270)
at java.desktop/sun.awt.shell.Win32ShellFolderManager2.getNetwork(Win32ShellFolderManager2.java:216)
at java.desktop/sun.awt.shell.Win32ShellFolder2.getFileSystemPath(Win32ShellFolder2.java:611)
at java.desktop/sun.awt.shell.Win32ShellFolder2$10.call(Win32ShellFolder2.java:817)
at java.desktop/sun.awt.shell.Win32ShellFolder2$10.call(Win32ShellFolder2.java:808)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at java.desktop/sun.awt.shell.Win32ShellFolderManager2$ComInvoker$1.run(Win32ShellFolderManager2.java:586)
at java.base/java.lang.Thread.run(Thread.java:832)

2020-11-12 20:25:14,697 [0-main] ERROR VASSAL.tools.ErrorDialog -
java.lang.NullPointerException: Cannot invoke “sun.awt.shell.Win32ShellFolder2.getIShellFolder()” because the return value of “sun.awt.shell.Win32ShellFolderManager2.getNetwork()” is null
at java.desktop/sun.awt.shell.Win32ShellFolder2.getFileSystemPath(Win32ShellFolder2.java:611)
at java.desktop/sun.awt.shell.Win32ShellFolder2$10.call(Win32ShellFolder2.java:817)
at java.desktop/sun.awt.shell.Win32ShellFolder2$10.call(Win32ShellFolder2.java:808)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at java.desktop/sun.awt.shell.Win32ShellFolderManager2$ComInvoker$1.run(Win32ShellFolderManager2.java:586)
at java.base/java.lang.Thread.run(Thread.java:832)

Empty “files” or empty “folders”? It needs to be the latter.

Empty folders, yes. Sorry for not being clear.

What happens if you try running VASSAL with admin rights?

This:

2020-11-12 21:34:34,147 [0-main] INFO VASSAL.launch.StartUp - Starting
2020-11-12 21:34:34,166 [0-main] INFO VASSAL.launch.StartUp - OS Windows 10 10.0
2020-11-12 21:34:34,166 [0-main] INFO VASSAL.launch.StartUp - Java version 15
2020-11-12 21:34:34,167 [0-main] INFO VASSAL.launch.StartUp - VASSAL version 3.4.8
2020-11-12 21:34:34,396 [0-AWT-EventQueue-0] INFO VASSAL.launch.ModuleManager - Manager
2020-11-12 21:34:34,864 [0-Swing-Shell] WARN VASSAL.tools.logging.LoggedOutputStream - Nov 12, 2020 9:34:34 PM sun.awt.shell.Win32ShellFolderManager2 getNetwork
WARNING: Cannot access ‘Network’
java.io.IOException: Could not get shell folder ID list
at java.desktop/sun.awt.shell.Win32ShellFolder2.getFileSystemPath0(Native Method)
at java.desktop/sun.awt.shell.Win32ShellFolder2$7.call(Win32ShellFolder2.java:647)
at java.desktop/sun.awt.shell.Win32ShellFolder2$7.call(Win32ShellFolder2.java:645)
at java.desktop/sun.awt.shell.Win32ShellFolderManager2$ComInvoker.invoke(Win32ShellFolderManager2.java:616)
at java.desktop/sun.awt.shell.ShellFolder.invoke(ShellFolder.java:519)
at java.desktop/sun.awt.shell.Win32ShellFolder2.getFileSystemPath(Win32ShellFolder2.java:645)
at java.desktop/sun.awt.shell.Win32ShellFolder2.composePathForCsidl(Win32ShellFolder2.java:257)
at java.desktop/sun.awt.shell.Win32ShellFolder2.(Win32ShellFolder2.java:270)
at java.desktop/sun.awt.shell.Win32ShellFolderManager2.getNetwork(Win32ShellFolderManager2.java:216)
at java.desktop/sun.awt.shell.Win32ShellFolder2.getFileSystemPath(Win32ShellFolder2.java:611)
at java.desktop/sun.awt.shell.Win32ShellFolder2$10.call(Win32ShellFolder2.java:817)
at java.desktop/sun.awt.shell.Win32ShellFolder2$10.call(Win32ShellFolder2.java:808)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at java.desktop/sun.awt.shell.Win32ShellFolderManager2$ComInvoker$1.run(Win32ShellFolderManager2.java:586)
at java.base/java.lang.Thread.run(Thread.java:832)

2020-11-12 21:34:34,878 [0-main] ERROR VASSAL.tools.ErrorDialog -
java.lang.NullPointerException: Cannot invoke “sun.awt.shell.Win32ShellFolder2.getIShellFolder()” because the return value of “sun.awt.shell.Win32ShellFolderManager2.getNetwork()” is null
at java.desktop/sun.awt.shell.Win32ShellFolder2.getFileSystemPath(Win32ShellFolder2.java:611)
at java.desktop/sun.awt.shell.Win32ShellFolder2$10.call(Win32ShellFolder2.java:817)
at java.desktop/sun.awt.shell.Win32ShellFolder2$10.call(Win32ShellFolder2.java:808)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at java.desktop/sun.awt.shell.Win32ShellFolderManager2$ComInvoker$1.run(Win32ShellFolderManager2.java:586)
at java.base/java.lang.Thread.run(Thread.java:832)