Remote Workspace Sync Failure

Published by Geno on
Status
Fixed
Issue description

So upon attempting to sync any form of change to a github repository the change will show on my local remote workspace history, however no change is actually comitted until I press the button again.

But even then, the pull function doesn't work at all. Using the .bat launcher I've found these errors listed.

Upon trying to sync or pull, the following error appears
 

2020-02-09-23:04:06 [Thread-9/INFO] [GA] Tracking event: new_mod_element - Creative tab
2020-02-09-23:04:18 [AWT-EventQueue-0/INFO] [Workspace File Manager/NAXDIM] Saving the workspace by direct request!
2020-02-09-23:04:18 [AWT-EventQueue-0/DEBUG] [Workspace File Manager/NAXDIM] Workspace stored on the FS
2020-02-09-23:04:25 [AWT-EventQueue-0/ERROR] [Exception] Uncaught exception in AWT-EventQueue-0
java.lang.NullPointerException: null
        at net.mcreator.workspace.Workspace.getFolderManager(SourceFile:254) ~[mcreator.jar:?]
        at net.mcreator.generator.b.y(SourceFile:699) ~[mcreator.jar:?]
        at net.mcreator.generator.b.<init>(SourceFile:85) ~[mcreator.jar:?]
        at net.mcreator.workspace.g.<init>(SourceFile:414) ~[mcreator.jar:?]
        at net.mcreator.ui.l.b.a(SourceFile:55) ~[mcreator.jar:?]
        at net.mcreator.vcs.e.a(SourceFile:122) ~[mcreator.jar:?]
        at net.mcreator.ui.a.a.b.d.a(SourceFile:102) ~[mcreator.jar:?]
        at net.mcreator.ui.a.f.actionPerformed(SourceFile:51) ~[mcreator.jar:?]
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) ~[?:1.8.0_232]
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) ~[?:1.8.0_232]
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) ~[?:1.8.0_232]
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) ~[?:1.8.0_232]
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) ~[?:1.8.0_232]
        at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289) ~[?:1.8.0_232]
        at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289) ~[?:1.8.0_232]
        at java.awt.Component.processMouseEvent(Component.java:6539) ~[?:1.8.0_232]
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) ~[?:1.8.0_232]
        at java.awt.Component.processEvent(Component.java:6304) ~[?:1.8.0_232]
        at java.awt.Container.processEvent(Container.java:2239) ~[?:1.8.0_232]
        at java.awt.Component.dispatchEventImpl(Component.java:4889) ~[?:1.8.0_232]
        at java.awt.Container.dispatchEventImpl(Container.java:2297) ~[?:1.8.0_232]
        at java.awt.Component.dispatchEvent(Component.java:4711) ~[?:1.8.0_232]
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) ~[?:1.8.0_232]
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535) ~[?:1.8.0_232]
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476) ~[?:1.8.0_232]
        at java.awt.Container.dispatchEventImpl(Container.java:2283) ~[?:1.8.0_232]
        at java.awt.Window.dispatchEventImpl(Window.java:2746) ~[?:1.8.0_232]
        at java.awt.Component.dispatchEvent(Component.java:4711) ~[?:1.8.0_232]
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760) ~[?:1.8.0_232]
        at java.awt.EventQueue.access$500(EventQueue.java:97) ~[?:1.8.0_232]
        at java.awt.EventQueue$3.run(EventQueue.java:709) ~[?:1.8.0_232]
        at java.awt.EventQueue$3.run(EventQueue.java:703) ~[?:1.8.0_232]
        at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_232]
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) ~[?:1.8.0_232]
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84) ~[?:1.8.0_232]
        at java.awt.EventQueue$4.run(EventQueue.java:733) ~[?:1.8.0_232]
        at java.awt.EventQueue$4.run(EventQueue.java:731) ~[?:1.8.0_232]
        at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_232]
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) ~[?:1.8.0_232]
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:730) ~[?:1.8.0_232]
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) [?:1.8.0_232]
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) [?:1.8.0_232]
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) [?:1.8.0_232]
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:1.8.0_232]
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) [?:1.8.0_232]
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) [?:1.8.0_232]

 

I'll add on to the fact this is using the 1.14.4 workspace with a freshly made Private github where we both have access. Cause is unknown for the time being

Issue comments

  1. Does this happen to both of you?
  2. If you clone the workspace again on your computer in another folder and commit from there, does this happen?

It does happen to both of us each time a sync or pull is attempted.

Relaunching the app and/or a PC restart, even a router reboot failed to make a difference along with moving the whole project to a different location and trying again.

Haven't got a second PC to try from but due to the issue happening with both of us I'm unsure if that could be a cause.

I will try to figure out why this is happening. One thing that would help is if you would make repo temporarily public and give me exact steps on how to get it to fail.

Used a fresh instance again (same computer)

  1. Made a blank repo and made a fresh project
  2. Synced project to repo (all fine)
  3. Check pull works (no changes in the repo, no error )
  4. Made a change and synced it (fine)
  5. Pull works still
  6. Other person clones the repo (all good)
  7. Other person makes a change and syncs it (this seems to take a while and change a lot more than I would expect for such a simple change https://github.com/Cheeseypop/MCreatorGitTest/commit/8f4d8b891e662f22bc… )
  8. Pulling now causes errors 
  9. Fresh clone is still works initially 
  10. Made repo public
  11. No change to pulling 

https://github.com/Cheeseypop/MCreatorGitTest

Thank you for a very detailed description, it was very helpful.

I have tried to do the following and it seems that this does no longer happen in 2020.2 although I did not explicitly fix this, but happens in 2020.1. I suggest you wait for the first 2020.2 snapshot and verify it was indeed fixed when it is released.

Have the same problem in 2020.1

When I get the chance I will see if it has been fixed in 2020.2

So, I tester it in the new snapshot and it still doesn't seem to be working...

This is what I got from the bat text (although I think it's the same as the one above...)

2020-03-04-19:52:18 [AWT-EventQueue-0/DEBUG] [Workspace File Manager/PROGRESSION] Workspace stored on the FS
2020-03-04-19:52:43 [AWT-EventQueue-0/ERROR] [Exception] Uncaught exception in AWT-EventQueue-0
com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated object at line 1582 column 2 path $.mod_elements[173].ids
        at com.google.gson.Gson.fromJson(Gson.java:942) ~[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.g.<init>(SourceFile:422) ~[mcreator.jar:?]
        at net.mcreator.ui.l.b.a(SourceFile:54) ~[mcreator.jar:?]
        at net.mcreator.vcs.e.a(SourceFile:122) ~[mcreator.jar:?]
        at net.mcreator.ui.a.a.b.d.a(SourceFile:105) ~[mcreator.jar:?]
        at net.mcreator.ui.a.f.actionPerformed(SourceFile:51) ~[mcreator.jar:?]
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) ~[?:1.8.0_232]
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) ~[?:1.8.0_232]
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) ~[?:1.8.0_232]
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) ~[?:1.8.0_232]
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) ~[?:1.8.0_232]
        at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289) ~[?:1.8.0_232]
        at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289) ~[?:1.8.0_232]
        at java.awt.Component.processMouseEvent(Component.java:6539) ~[?:1.8.0_232]
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) ~[?:1.8.0_232]
        at java.awt.Component.processEvent(Component.java:6304) ~[?:1.8.0_232]
        at java.awt.Container.processEvent(Container.java:2239) ~[?:1.8.0_232]
        at java.awt.Component.dispatchEventImpl(Component.java:4889) ~[?:1.8.0_232]
        at java.awt.Container.dispatchEventImpl(Container.java:2297) ~[?:1.8.0_232]
        at java.awt.Component.dispatchEvent(Component.java:4711) ~[?:1.8.0_232]
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) ~[?:1.8.0_232]
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535) ~[?:1.8.0_232]
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476) ~[?:1.8.0_232]
        at java.awt.Container.dispatchEventImpl(Container.java:2283) ~[?:1.8.0_232]
        at java.awt.Window.dispatchEventImpl(Window.java:2746) ~[?:1.8.0_232]
        at java.awt.Component.dispatchEvent(Component.java:4711) ~[?:1.8.0_232]
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760) ~[?:1.8.0_232]
        at java.awt.EventQueue.access$500(EventQueue.java:97) ~[?:1.8.0_232]
        at java.awt.EventQueue$3.run(EventQueue.java:709) ~[?:1.8.0_232]
        at java.awt.EventQueue$3.run(EventQueue.java:703) ~[?:1.8.0_232]
        at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_232]
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) ~[?:1.8.0_232]
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84) ~[?:1.8.0_232]
        at java.awt.EventQueue$4.run(EventQueue.java:733) ~[?:1.8.0_232]
        at java.awt.EventQueue$4.run(EventQueue.java:731) ~[?:1.8.0_232]
        at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_232]
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) ~[?:1.8.0_232]
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:730) ~[?:1.8.0_232]
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) [?:1.8.0_232]
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) [?:1.8.0_232]
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) [?:1.8.0_232]
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:1.8.0_232]
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) [?:1.8.0_232]
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) [?:1.8.0_232]
Caused by: com.google.gson.stream.MalformedJsonException: Unterminated object at line 1582 column 2 path $.mod_elements[173].ids
        at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1568) ~[gson-2.8.5.jar:?]
        at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:491) ~[gson-2.8.5.jar:?]
        at com.google.gson.stream.JsonReader.hasNext(JsonReader.java:414) ~[gson-2.8.5.jar:?]
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:216) ~[gson-2.8.5.jar:?]
        at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) ~[gson-2.8.5.jar:?]
        at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:82) ~[gson-2.8.5.jar:?]
        at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61) ~[gson-2.8.5.jar:?]
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:131) ~[gson-2.8.5.jar:?]
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:222) ~[gson-2.8.5.jar:?]
        at com.google.gson.Gson.fromJson(Gson.java:927) ~[gson-2.8.5.jar:?]
        ... 46 more

Sorry if this isn't supposed to be a code snippet.