This has happened a few times now to me, thought I'd submit a bug report for it.
Since I always double-tap undo, it may be a part of the issue. But the game shouldnt crash from that...
Log from just before the crash:
[2016-03-23 16:18:08] [CONTROLLER][ADD-UNIT] (Client(20)): PlS[TechPriest ; id(2876)(19)f(10603)] Added to controllers: Ship[River Blue](2215)
[2016-03-23 16:18:10] [CLIENT] FORMATING: [368]; type: Integer
[2016-03-23 16:18:10] [CLIENT] FORMATING: [[SERVER]: SERVER AUTO-SAVING]; type: String
[2016-03-23 16:18:10] [CLIENT][POPUP] GAME: [SERVER]: SERVER AUTO-SAVING
[2016-03-23 16:18:15] [CLIENT][POPUP] ERROR: Server under heavy load.
If this message persists, tell an
admin to send a report.
[2016-03-23 16:18:15] [CLIENTPROCESSOR][WARNING] Ping time of client (20) exceeded time limit: retrying! pending requests: {}
[2016-03-23 16:18:18] DRAWING DEBUG: 20000482; ; 0; 2; 482;
[2016-03-23 16:18:18] [SINGLE_BLOCK_DRAWER] CHECKING FOR ERROR
[2016-03-23 16:18:19] [UNDO] ADDING REDO obfuscated.cR@195fc333(;ADD: 1; REMOVES: 0)
[2016-03-23 16:18:20] [UNDO] ADDING REDO obfuscated.cR@7e68e6ce(;ADD: 1; REMOVES: 0)
[2016-03-23 16:18:20] [GLFRAME] THROWN: class java.lang.NullPointerException Now Printing StackTrace
[2016-03-23 16:18:20] java.lang.NullPointerException: Exception: REQUESTED TYPE 0 IS NULL
[2016-03-23 16:18:20] at org.schema.game.common.data.element.ElementKeyMap.getInfo(SourceFile:596)
[2016-03-23 16:18:20] at obfuscated.cR.a(SourceFile:45)
[2016-03-23 16:18:20] at org.schema.game.common.controller.EditableSendableSegmentController.undo(SourceFile:2443)
[2016-03-23 16:18:20] at obfuscated.ds.g(SourceFile:1801)
[2016-03-23 16:18:20] at obfuscated.da.e(SourceFile:155)
[2016-03-23 16:18:20] at obfuscated.of.callback(SourceFile:820)
[2016-03-23 16:18:20] at org.schema.schine.network.client.GUICallbackController.execute(SourceFile:40)
[2016-03-23 16:18:20] at obfuscated.C.updateStateInput(SourceFile:1365)
[2016-03-23 16:18:20] at obfuscated.avy.a(SourceFile:1167)
[2016-03-23 16:18:20] at obfuscated.C.h(SourceFile:2866)
[2016-03-23 16:18:20] at obfuscated.QF.run(SourceFile:92)
[2016-03-23 16:18:20] at java.lang.Thread.run(Unknown Source)
[2016-03-23 16:18:20] [GLFRAME] THROWN: class java.lang.NullPointerExceptionPrinting StackTrace DONE
[2016-03-23 16:18:20] java.lang.NullPointerException: Exception: REQUESTED TYPE 0 IS NULL
[2016-03-23 16:18:20] at org.schema.game.common.data.element.ElementKeyMap.getInfo(SourceFile:596)
[2016-03-23 16:18:20] at obfuscated.cR.a(SourceFile:45)
[2016-03-23 16:18:20] at org.schema.game.common.controller.EditableSendableSegmentController.undo(SourceFile:2443)
[2016-03-23 16:18:20] at obfuscated.ds.g(SourceFile:1801)
[2016-03-23 16:18:20] at obfuscated.da.e(SourceFile:155)
[2016-03-23 16:18:20] at obfuscated.of.callback(SourceFile:820)
[2016-03-23 16:18:20] at org.schema.schine.network.client.GUICallbackController.execute(SourceFile:40)
[2016-03-23 16:18:20] at obfuscated.C.updateStateInput(SourceFile:1365)
[2016-03-23 16:18:20] at obfuscated.avy.a(SourceFile:1167)
[2016-03-23 16:18:20] at obfuscated.C.h(SourceFile:2866)
[2016-03-23 16:18:20] at obfuscated.QF.run(SourceFile:92)
[2016-03-23 16:18:20] at java.lang.Thread.run(Unknown Source)
[2016-03-23 16:18:32] [CONTROLLERSTATE] Client(20); PlS[kalash ; id(6363)(23)f(10007)] CONTROLLER REQUEST RECEIVED ControllerRequest [player=PlS[kalash ; id(6363)(23)f(10007)], fromId=6712 (PlayerCharacter[(ENTITY_PLAYERCHARACTER_kalash)(6712)]), fromPos=(0, 0, 0), toId=6184 (Ship[FM-Spongerl28](6184)), toPos=(8, 8, 8), hide=true]
[2016-03-23 16:18:32] [CONTROLLERSTATE] Client(20); PlS[kalash ; id(6363)(23)f(10007)] CONTROLLER REQUEST RECEIVED ControllerRequest [player=PlS[kalash ; id(6363)(23)f(10007)], fromId=6712 (PlayerCharacter[(ENTITY_PLAYERCHARACTER_kalash)(6712)]), fromPos=(0, 0, 0), toId=6184 (Ship[FM-Spongerl28](6184)), toPos=(8, 8, 8), hide=true]
[2016-03-23 16:18:40] AGAIN PRINTING STACK TRACE
[2016-03-23 16:18:40] java.lang.NullPointerException: Exception: REQUESTED TYPE 0 IS NULL
[2016-03-23 16:18:40] at org.schema.game.common.data.element.ElementKeyMap.getInfo(SourceFile:596)
[2016-03-23 16:18:40] at obfuscated.cR.a(SourceFile:45)
[2016-03-23 16:18:40] at org.schema.game.common.controller.EditableSendableSegmentController.undo(SourceFile:2443)
[2016-03-23 16:18:40] at obfuscated.ds.g(SourceFile:1801)
[2016-03-23 16:18:40] at obfuscated.da.e(SourceFile:155)
[2016-03-23 16:18:40] at obfuscated.of.callback(SourceFile:820)
[2016-03-23 16:18:40] at org.schema.schine.network.client.GUICallbackController.execute(SourceFile:40)
[2016-03-23 16:18:40] at obfuscated.C.updateStateInput(SourceFile:1365)
[2016-03-23 16:18:40] at obfuscated.avy.a(SourceFile:1167)
[2016-03-23 16:18:40] at obfuscated.C.h(SourceFile:2866)
[2016-03-23 16:18:40] at obfuscated.QF.run(SourceFile:92)
[2016-03-23 16:18:40] at java.lang.Thread.run(Unknown Source)
[2016-03-23 16:18:40] [GLFrame] (ErrorDialog Chose Exit) Error Message: Exception: REQUESTED TYPE 0 IS NULL
[2016-03-23 16:18:40] [CLIENT] SAVING CLIENT CHANNEL all Open: false;
[2016-03-23 16:18:40] [CLIENT] SAVING CLIENT CHANNEL Scenarios Open: true;
[2016-03-23 16:18:40] [CLIENT] SAVING CLIENT CHANNEL Faction10005 Open: false;
[2016-03-23 16:18:40] [CLIENT] chat channels saved
[2016-03-23 16:18:40] !!!! THIS DISPLAYS THE STACKTRACE OF A REGULAR GL FRAME EXIT
[2016-03-23 16:18:40] org.schema.schine.graphicsengine.core.FinishedFrameException
[2016-03-23 16:18:40] at obfuscated.avy.a(SourceFile:173)
[2016-03-23 16:18:40] at obfuscated.gz.exit(SourceFile:1076)
[2016-03-23 16:18:40] at obfuscated.avy.a(SourceFile:291)
[2016-03-23 16:18:40] at obfuscated.avy.a(SourceFile:1167)
[2016-03-23 16:18:40] at obfuscated.C.h(SourceFile:2866)
[2016-03-23 16:18:40] at obfuscated.QF.run(SourceFile:92)
[2016-03-23 16:18:40] at java.lang.Thread.run(Unknown Source)
[2016-03-23 16:18:41] [AUDIO] Cleaning up sound system
[2016-03-23 16:18:41] SoundSystem shutting down...
[2016-03-23 16:18:41] Author: Paul Lamb, www.paulscode.com
[2016-03-23 16:18:41] [CLIENT] CLIENT SHUTDOWN. Dumping client data!
[2016-03-23 16:18:41] [SENDABLESEGMENTVONTROLLER][WRITE] Client(20) skipping writing transient object Planet(485)[s467]Planet (r50)[10000000hp]
[2016-03-23 16:18:41] [SENDABLESEGMENTVONTROLLER][WRITE] Client(20) skipping writing transient object Planet(477)[s467]Planet (r50)[10000000hp]
[2016-03-23 16:18:41] [SENDABLESEGMENTVONTROLLER][WRITE] WARNING: segment writing of Ship[Void Sprite Alpha](7706) on Client(20) took: 62 ms (file header: 0ms)
[2016-03-23 16:18:41] [SENDABLESEGMENTVONTROLLER][WRITE] Client(20) skipping writing transient object Planet(476)[s467]Planet (r50)[10000000hp]
[2016-03-23 16:18:41] [SENDABLESEGMENTVONTROLLER][WRITE] WARNING: segment writing of Ship[ENTITY_SHIP_D_14545631661890](7703) on Client(20) took: 19 ms (file header: 0ms)
[2016-03-23 16:18:41] [SENDABLESEGMENTVONTROLLER][WRITE] WARNING: segment writing of Ship[KDI Totem-class Superblockade Runner](7668) on Client(20) took: 103 ms (file header: 0ms)
[2016-03-23 16:18:41] [SENDABLESEGMENTVONTROLLER][WRITE] Client(20) skipping writing transient object Planet(479)[s467]Planet (r50)[10000000hp]
[2016-03-23 16:18:41] [SENDABLESEGMENTVONTROLLER][WRITE] Client(20) skipping writing transient object Planet(480)[s467]Planet (r50)[10000000hp]
[2016-03-23 16:18:41] [SENDABLESEGMENTVONTROLLER][WRITE] WARNING: segment writing of Ship[Napther_1458748858063](3460) on Client(20) took: 18 ms (file header: 0ms)
[2016-03-23 16:18:41] [SENDABLESEGMENTVONTROLLER][WRITE] Client(20) skipping writing transient object Planet(474)[s467]Planet (r50)[10000000hp]
[2016-03-23 16:18:41] [SENDABLESEGMENTVONTROLLER][WRITE] Client(20) skipping writing transient object Planet(483)[s467]Planet (r50)[10000000hp]
[2016-03-23 16:18:41] [SENDABLESEGMENTVONTROLLER][WRITE] WARNING: segment writing of Ship[ENTITY_SHIP_Black Hole0](7652) on Client(20) took: 65 ms (file header: 0ms)
[2016-03-23 16:18:41] [SENDABLESEGMENTVONTROLLER][WRITE] Client(20) skipping writing transient object Planet(484)[s467]Planet (r50)[10000000hp]
[2016-03-23 16:18:41] [SENDABLESEGMENTVONTROLLER][WRITE] Client(20) skipping writing transient object Planet(473)[s467]Planet (r50)[10000000hp]
[2016-03-23 16:18:41] [SENDABLESEGMENTVONTROLLER][WRITE] Client(20) skipping writing transient object Planet(478)[s467]Planet (r50)[10000000hp]
[2016-03-23 16:18:41] [SENDABLESEGMENTVONTROLLER][WRITE] Client(20) skipping writing transient object Planet(482)[s467]Planet (r50)[10000000hp]
[2016-03-23 16:18:41] [SENDABLESEGMENTVONTROLLER][WRITE] Client(20) skipping writing transient object Planet(470)[s467]Planet (r50)[10000000hp]
[2016-03-23 16:18:41] [CLIENT] CLIENT SHUTDOWN. client data saved!
[2016-03-23 16:18:41] [CLIENT] CLIENT SHUTDOWN. thread pool terminated!
[2016-03-23 16:18:41] [GLFrame] terminated frame: exiting program; finished: true
[2016-03-23 16:18:41] Exiting because of terminated frame
[2016-03-23 16:18:41] org.schema.schine.network.client.ClientProcessor@2cbda06e sending logout
[2016-03-23 16:18:41] [CLIENT] CLOSING SOCKET
[2016-03-23 16:18:41] [CLIENT] CLOSING SOCKET
[2016-03-23 16:18:41] [CLIENT] SAVING CLIENT CHANNEL all Open: false;
[2016-03-23 16:18:41] [CLIENT] SAVING CLIENT CHANNEL Scenarios Open: true;
[2016-03-23 16:18:41] [CLIENT] SAVING CLIENT CHANNEL Faction10005 Open: false;
[2016-03-23 16:18:41] java.net.SocketException: Socket closed
[2016-03-23 16:18:41] at java.net.SocketInputStream.socketRead0(Native Method)
[2016-03-23 16:18:41] at java.net.SocketInputStream.socketRead(Unknown Source)
[2016-03-23 16:18:41] at java.net.SocketInputStream.read(Unknown Source)
[2016-03-23 16:18:41] at java.net.SocketInputStream.read(Unknown Source)
[2016-03-23 16:18:41] at java.net.SocketInputStream.read(Unknown Source)
[2016-03-23 16:18:41] at java.io.DataInputStream.readInt(Unknown Source)
[2016-03-23 16:18:41] at org.schema.schine.network.client.ClientProcessor.run(SourceFile:321)
[2016-03-23 16:18:41] at java.lang.Thread.run(Unknown Source)
[2016-03-23 16:18:41] [ClientProcessor] EXIT: Input Stream closed. Terminating Client Processor
[2016-03-23 16:18:41] [CLIENT] chat channels saved