Save Writing Error Message

Hey there! First off, forgive me, because I was able to find several threads that had addressed variations of this error, but none of their solutions were able to bail me out. Hopefully this can be a quick clarification.

  • Acer Aspire E15
  • Windows 8.1
  • Intel Core i5-4210U
  • Memory 4 GB
  • Intel HD Graphics 4400
  • Vassal 3.2.17
  • Java version. Get it here
  • Eldritch Horror 1.9

I’m just trying to add the library of card backs I generated from my copy on the game to replace the blank ones the module comes with. They’re all ready to go, and I know how to replace the images, but any time I try to save the module I get the save failure message and the following log:

java.io.IOException: Unable to overwrite C:\Users\Ryan\Documents\VASSAL\Eldritch_Horror_1.9.vmod: Data written to C:\Users\Ryan\Documents\VASSAL\tmp957384190363278320.zip instead. at VASSAL.tools.io.ZipArchive.writeToDisk(ZipArchive.java:510) at VASSAL.tools.io.ZipArchive.flush(ZipArchive.java:382) at VASSAL.tools.ArchiveWriter.write(ArchiveWriter.java:240) at VASSAL.tools.ArchiveWriter.save(ArchiveWriter.java:231) at VASSAL.build.GameModule.save(GameModule.java:1010) at VASSAL.build.GameModule.save(GameModule.java:989) at VASSAL.launch.ModuleEditorWindow$2.run(ModuleEditorWindow.java:100) at VASSAL.launch.EditorWindow.saver(EditorWindow.java:303) at VASSAL.launch.ModuleEditorWindow.save(ModuleEditorWindow.java:98) at VASSAL.launch.EditorWindow$2.actionPerformed(EditorWindow.java:186) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Caused by: java.io.IOException: Unable to delete file: C:\Users\Ryan\Documents\VASSAL\Eldritch_Horror_1.9.vmod at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:2106) at VASSAL.tools.io.ZipArchive.writeToDisk(ZipArchive.java:492) ... 46 more

From what I see, a lot of people have problems with saving certain things in Vassal because they’re trying to save to their program files, but I’m saving in my personal Documents folder. I checked to see if I can still edit Star Wars X-Wing, which is stored in the same place, and it’s fine. The same error occurs on Vassal 3.2.15, and it occurs if I try to edit extensions rather than the base module.

I’m hoping this just has something to do with how I’m storing the files, but I’m just not sure how to configure it myself. Any help is appreciated. Thanks!

Were you able to solve this? Code stuff is beyond me, and my only suggestion would’ve been to try ‘save as’ with a new name instead, but I can’t imagine that helping. Then I remembered that vassal modules are renamed zip files (or behave like zip files, not sure which). So if the images you wanted to swap in are exactly the same type and size as the originals, you could just change the .vmod extension to .zip, unzip the file, then go into the images folder and find the images you want to change. The replacements would have to be named the same. Then re-zip the files that got unzipped, change the extension back to .vmod, and… I think it’d work? Your mileage may vary. And it doesn’t fix the underlying save problem, but figured I’d throw it out there.

Thus spake yggdrasilsyeoman:

From what I see, a lot of people have problems with saving certain
things in Vassal because they’re trying to save to their program files,
but I’m saving in my personal Documents folder. I checked to see if I
can still edit Star Wars X-Wing, which is stored in the same place, and
it’s fine. The same error occurs on Vassal 3.2.15, and it occurs if I
try to edit extensions rather than the base module.

I’m hoping this just has something to do with how I’m storing the files,
but I’m just not sure how to configure it myself. Any help is
appreciated. Thanks!

Did you have the file open in another instance of VASSAL when you
tried to write to it?


J.