MCreator 1.9.0 won't load anymore my workspace

Status
Fixed
Issue description

Hello there. Yesterday, I downloaded MCreator 1.9.0, and it worked fine. This morning, I opened it and it was fine too, until suddenly, my computer turned off with a BSoD error. After that, reopening my workspace was impossible. When clicking on the workspace in "recent workspaces", my cursor turned into a loading wheel but, even waiting 10 minutes, wouldn't bring me anywhere.

 

I am using a x64 bit Windows 7 Ultimate. I also found that some other users have also got this error, but the workaround suggested (deleting the Preferences file) didn't work.

Log:

2019-08-04-13:32:36 [main/INFO] [Launcher] Starting MCreator 1.9.0, full version: 1.9.0
2019-08-04-13:32:36 [main/INFO] [Launcher] Java version: 1.8.0_212, specification: 1.8, VM name: LibericaJDK 64-Bit Server VM
2019-08-04-13:32:36 [main/INFO] [Launcher] Current JAVA_HOME for running instance: C:\Users\Cristian\Desktop\MCreator\MCreator190\jdk\jre
2019-08-04-13:32:36 [main/INFO] [Launcher] Installation path: C:\Users\Cristian\Desktop\MCreator\MCreator190
2019-08-04-13:32:36 [main/INFO] [Launcher] User home of MCreator: C:\Users\Cristian\.mcreator\
2019-08-04-13:32:41 [AWT-EventQueue-0/INFO] [Application] Generators loaded: [1.12.2]
2019-08-04-13:32:42 [AWT-EventQueue-0/INFO] [UpdateNotify] Skipping update message ...
2019-08-04-13:32:42 [Thread-7/INFO] [GA] Tracking page: /1.9.0/launch
2019-08-04-13:32:56 [AWT-EventQueue-0/INFO] [MCreator] Opening workspace: C:\Users\Cristian\MCreatorWorkspaces\casamods\casamods.mcreator
2019-08-04-13:32:56 [AWT-EventQueue-0/ERROR] [Exception] Uncaught exception in AWT-EventQueue-0
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:226) ~[gson-2.8.5.jar:?]
	at com.google.gson.Gson.fromJson(Gson.java:927) ~[gson-2.8.5.jar:?]
	at com.google.gson.Gson.fromJson(Gson.java:892) ~[gson-2.8.5.jar:?]
	at com.google.gson.Gson.fromJson(Gson.java:841) ~[gson-2.8.5.jar:?]
	at com.google.gson.Gson.fromJson(Gson.java:813) ~[gson-2.8.5.jar:?]
	at net.mcreator.workspace.c.e(SourceFile:75) ~[mcreator.jar:?]
	at net.mcreator.workspace.c.a(SourceFile:32) ~[mcreator.jar:?]
	at net.mcreator.ui.b.<init>(SourceFile:78) ~[mcreator.jar:?]
	at net.mcreator.ui.g.a(SourceFile:166) ~[mcreator.jar:?]
	at net.mcreator.ui.WorkspaceSelector.a(SourceFile:78) ~[mcreator.jar:?]
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) ~[?:1.8.0_212]
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) ~[?:1.8.0_212]
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) ~[?:1.8.0_212]
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) ~[?:1.8.0_212]
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) ~[?:1.8.0_212]
	at java.awt.Component.processMouseEvent(Component.java:6539) ~[?:1.8.0_212]
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) ~[?:1.8.0_212]
	at java.awt.Component.processEvent(Component.java:6304) ~[?:1.8.0_212]
	at java.awt.Container.processEvent(Container.java:2239) ~[?:1.8.0_212]
	at java.awt.Component.dispatchEventImpl(Component.java:4889) ~[?:1.8.0_212]
	at java.awt.Container.dispatchEventImpl(Container.java:2297) ~[?:1.8.0_212]
	at java.awt.Component.dispatchEvent(Component.java:4711) ~[?:1.8.0_212]
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) ~[?:1.8.0_212]
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535) ~[?:1.8.0_212]
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476) ~[?:1.8.0_212]
	at java.awt.Container.dispatchEventImpl(Container.java:2283) ~[?:1.8.0_212]
	at java.awt.Window.dispatchEventImpl(Window.java:2746) ~[?:1.8.0_212]
	at java.awt.Component.dispatchEvent(Component.java:4711) ~[?:1.8.0_212]
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760) ~[?:1.8.0_212]
	at java.awt.EventQueue.access$500(EventQueue.java:97) ~[?:1.8.0_212]
	at java.awt.EventQueue$3.run(EventQueue.java:709) ~[?:1.8.0_212]
	at java.awt.EventQueue$3.run(EventQueue.java:703) ~[?:1.8.0_212]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_212]
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) ~[?:1.8.0_212]
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84) ~[?:1.8.0_212]
	at java.awt.EventQueue$4.run(EventQueue.java:733) ~[?:1.8.0_212]
	at java.awt.EventQueue$4.run(EventQueue.java:731) ~[?:1.8.0_212]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_212]
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) ~[?:1.8.0_212]
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:730) ~[?:1.8.0_212]
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) [?:1.8.0_212]
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) [?:1.8.0_212]
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) [?:1.8.0_212]
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:1.8.0_212]
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) [?:1.8.0_212]
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) [?:1.8.0_212]
Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385) ~[gson-2.8.5.jar:?]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:215) ~[gson-2.8.5.jar:?]
	... 45 more

Can someone, especially Klemen, help me?

Issue comments

The workspace was most likely saving at the time of BSOD and got corrupted as it did not completely write. You can go to <workspace folder>/.mcreator/ and there is backups folder. In it you have backups of modid.mcreator file. Use one of the backups before this happened and replace the file modid.mcreator with one of the backups, where modid is modid of your mod.

You are welcome! I am glad I could help :) If you like what we do, consider donating to us to help us keep this project up.