OpenDream icon indicating copy to clipboard operation
OpenDream copied to clipboard

DMCompiler makes invalid DMF with relative paths

Open amylizzle opened this issue 2 years ago • 0 comments

/OpenDream/TestGame$ ../DMCompiler/bin/Debug/net6.0/DMCompiler environment.dme works properly /OpenDream$ DMCompiler/bin/Debug/net6.0/DMCompiler TestGame/environment.dme appears to work properly, but causes a client and server crash when I try to connect.

Client throws an error and displays a blank white screen.

[INFO] cfg: Sending client info...
[DEBG] client: Synchronized time base: 1: 00:00:00
[INFO] client: Tickrate changed to: 20 on tick 1
[INFO] clyde.oal: Set audio attenuation to InverseDistanceClamped
[ERRO] net: 127.0.0.1:25566: exception in message handler for MsgLoadInterface:
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
   at System.Collections.Generic.List`1.get_Item(Int32 index)
   at OpenDreamClient.Interface.DreamInterfaceManager.LoadInterface(InterfaceDescriptor descriptor) in /home/amy/OpenDream/OpenDreamClient/Interface/DreamInterfaceManager.cs:line 329
   at OpenDreamClient.Interface.DreamInterfaceManager.LoadInterfaceFromSource(String source) in /home/amy/OpenDream/OpenDreamClient/Interface/DreamInterfaceManager.cs:line 66
   at OpenDreamClient.Interface.DreamInterfaceManager.RxLoadInterface(MsgLoadInterface message) in /home/amy/OpenDream/OpenDreamClient/Interface/DreamInterfaceManager.cs:line 227
   at Robust.Shared.Network.NetManager.<>c__DisplayClass102_0`1.<RegisterNetMessage>b__0(NetMessage msg) in /home/amy/OpenDream/RobustToolbox/Robust.Shared/Network/NetManager.cs:line 987
   at Robust.Shared.Network.NetManager.DispatchNetMessage(NetIncomingMessage msg) in /home/amy/OpenDream/RobustToolbox/Robust.Shared/Network/NetManager.cs:line 908
[DEBG] client: Runlevel changed to: Connected
[DEBG] root: Switching to state OpenDreamClient.States.InGameState
[DEBG] map: Starting...
[INFO] map: Creating new map 0
[INFO] root: Shutting down! Reason: Main window closed
[DEBG] clyde.win: Terminating GLFW.
[DEBG] root: Goodbye

Server then crashes when the client window is closed with the following error:

[INFO] net: "127.0.0.1:36741": Disconnected ("Client shutting down")
[FATL] unhandled: System.Collections.Generic.KeyNotFoundException: The given key 'localhost@JoeGenero' was not present in the dictionary.
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at Robust.Server.GameStates.PVSSystem.OnPlayerStatusChanged(Object sender, SessionStatusEventArgs e) in /home/amy/OpenDream/RobustToolbox/Robust.Server/GameStates/PVSSystem.cs:line 271
   at Robust.Server.Player.PlayerManager.OnPlayerStatusChanged(IPlayerSession session, SessionStatus oldStatus, SessionStatus newStatus) in /home/amy/OpenDream/RobustToolbox/Robust.Server/Player/PlayerManager.cs:line 418
   at Robust.Server.Player.PlayerManager.<>c__DisplayClass49_0.<NewSession>b__0(Object _, SessionStatusEventArgs sessionArgs) in /home/amy/OpenDream/RobustToolbox/Robust.Server/Player/PlayerManager.cs:line 394
   at Robust.Server.Player.PlayerSession.set_Status(SessionStatus value) in /home/amy/OpenDream/RobustToolbox/Robust.Server/Player/PlayerSession.cs:line 87
   at Robust.Server.Player.PlayerSession.OnDisconnect() in /home/amy/OpenDream/RobustToolbox/Robust.Server/Player/PlayerSession.cs:line 172
   at Robust.Server.Player.PlayerManager.EndSession(Object sender, NetChannelArgs args) in /home/amy/OpenDream/RobustToolbox/Robust.Server/Player/PlayerManager.cs:line 435
   at Robust.Shared.Network.NetManager.OnDisconnected(INetChannel channel, String reason) in /home/amy/OpenDream/RobustToolbox/Robust.Shared/Network/NetManager.cs:line 1128
   at Robust.Shared.Network.NetManager.HandleDisconnect(NetPeerData peer, NetConnection connection, String reason) in /home/amy/OpenDream/RobustToolbox/Robust.Shared/Network/NetManager.cs:line 771
   at Robust.Shared.Network.NetManager.HandleStatusChanged(NetPeerData peer, NetIncomingMessage msg) in /home/amy/OpenDream/RobustToolbox/Robust.Shared/Network/NetManager.cs:line 716
   at Robust.Shared.Network.NetManager.ProcessPackets() in /home/amy/OpenDream/RobustToolbox/Robust.Shared/Network/NetManager.cs:line 496
   at Robust.Server.BaseServer.Input(FrameEventArgs args) in /home/amy/OpenDream/RobustToolbox/Robust.Server/BaseServer.cs:line 641
   at Robust.Server.BaseServer.<SetupMainLoop>b__56_0(Object sender, FrameEventArgs args) in /home/amy/OpenDream/RobustToolbox/Robust.Server/BaseServer.cs:line 492
   at Robust.Shared.Timing.GameLoop.Run() in /home/amy/OpenDream/RobustToolbox/Robust.Shared/Timing/GameLoop.cs:line 171
   at Robust.Server.BaseServer.MainLoop() in /home/amy/OpenDream/RobustToolbox/Robust.Server/BaseServer.cs:line 521
   at Robust.Server.Program.ParsedMain(CommandLineArgs args, Boolean contentStart, ServerOptions options) in /home/amy/OpenDream/RobustToolbox/Robust.Server/Program.cs:line 75
   at Robust.Server.Program.Start(String[] args, ServerOptions options, Boolean contentStart) in /home/amy/OpenDream/RobustToolbox/Robust.Server/Program.cs:line 46
   at Robust.Server.ContentStart.StartLibrary(String[] args, ServerOptions options) in /home/amy/OpenDream/RobustToolbox/Robust.Server/ContentStart.cs:line 16
   at OpenDreamServer.Program.Main(String[] args) in /home/amy/OpenDream/OpenDreamServer/Program.cs:line 6
Unhandled exception. System.Collections.Generic.KeyNotFoundException: The given key 'localhost@JoeGenero' was not present in the dictionary.
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at Robust.Server.GameStates.PVSSystem.OnPlayerStatusChanged(Object sender, SessionStatusEventArgs e) in /home/amy/OpenDream/RobustToolbox/Robust.Server/GameStates/PVSSystem.cs:line 271
   at Robust.Server.Player.PlayerManager.OnPlayerStatusChanged(IPlayerSession session, SessionStatus oldStatus, SessionStatus newStatus) in /home/amy/OpenDream/RobustToolbox/Robust.Server/Player/PlayerManager.cs:line 418
   at Robust.Server.Player.PlayerManager.<>c__DisplayClass49_0.<NewSession>b__0(Object _, SessionStatusEventArgs sessionArgs) in /home/amy/OpenDream/RobustToolbox/Robust.Server/Player/PlayerManager.cs:line 394
   at Robust.Server.Player.PlayerSession.set_Status(SessionStatus value) in /home/amy/OpenDream/RobustToolbox/Robust.Server/Player/PlayerSession.cs:line 87
   at Robust.Server.Player.PlayerSession.OnDisconnect() in /home/amy/OpenDream/RobustToolbox/Robust.Server/Player/PlayerSession.cs:line 172
   at Robust.Server.Player.PlayerManager.EndSession(Object sender, NetChannelArgs args) in /home/amy/OpenDream/RobustToolbox/Robust.Server/Player/PlayerManager.cs:line 435
   at Robust.Shared.Network.NetManager.OnDisconnected(INetChannel channel, String reason) in /home/amy/OpenDream/RobustToolbox/Robust.Shared/Network/NetManager.cs:line 1128
   at Robust.Shared.Network.NetManager.HandleDisconnect(NetPeerData peer, NetConnection connection, String reason) in /home/amy/OpenDream/RobustToolbox/Robust.Shared/Network/NetManager.cs:line 771
   at Robust.Shared.Network.NetManager.HandleStatusChanged(NetPeerData peer, NetIncomingMessage msg) in /home/amy/OpenDream/RobustToolbox/Robust.Shared/Network/NetManager.cs:line 716
   at Robust.Shared.Network.NetManager.ProcessPackets() in /home/amy/OpenDream/RobustToolbox/Robust.Shared/Network/NetManager.cs:line 496
   at Robust.Server.BaseServer.Input(FrameEventArgs args) in /home/amy/OpenDream/RobustToolbox/Robust.Server/BaseServer.cs:line 641
   at Robust.Server.BaseServer.<SetupMainLoop>b__56_0(Object sender, FrameEventArgs args) in /home/amy/OpenDream/RobustToolbox/Robust.Server/BaseServer.cs:line 492
   at Robust.Shared.Timing.GameLoop.Run() in /home/amy/OpenDream/RobustToolbox/Robust.Shared/Timing/GameLoop.cs:line 171
   at Robust.Server.BaseServer.MainLoop() in /home/amy/OpenDream/RobustToolbox/Robust.Server/BaseServer.cs:line 521
   at Robust.Server.Program.ParsedMain(CommandLineArgs args, Boolean contentStart, ServerOptions options) in /home/amy/OpenDream/RobustToolbox/Robust.Server/Program.cs:line 75
   at Robust.Server.Program.Start(String[] args, ServerOptions options, Boolean contentStart) in /home/amy/OpenDream/RobustToolbox/Robust.Server/Program.cs:line 46
   at Robust.Server.ContentStart.StartLibrary(String[] args, ServerOptions options) in /home/amy/OpenDream/RobustToolbox/Robust.Server/ContentStart.cs:line 16
   at OpenDreamServer.Program.Main(String[] args) in /home/amy/OpenDream/OpenDreamServer/Program.cs:line 6
Aborted (core dumped)

amylizzle avatar Sep 17 '22 14:09 amylizzle