New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

crash in lobby #13915

Closed
anvilvapre opened this Issue Aug 26, 2017 · 7 comments

Comments

Projects
None yet
6 participants
@anvilvapre

anvilvapre commented Aug 26, 2017

in lobby, after selecing map, while people were joining

External mods:
        ra-release-20170527: Red Alert (release-20170527)
        ra-{DEV_VERSION}: Red Alert ({DEV_VERSION})
Loading mod: ra
NAT discovery failed: One or more errors occurred.
Exception of type `System.InvalidOperationException`: Sequence contains more than one matching element
  at System.Linq.Enumerable.SingleOrDefault[TSource] (IEnumerable`1 source, System.Func`2 predicate) <0x406a9580 + 0x0018f> in <filename unknown>:0 
  at OpenRA.Network.Session.ClientInSlot (System.String slot) <0x4099cb90 + 0x00117> in <filename unknown>:0 
  at OpenRA.Mods.Common.Widgets.Logic.LobbyLogic.UpdatePlayerList () <0x4099b000 + 0x001ab> in <filename unknown>:0 
  at (wrapper delegate-invoke) <Module>:invoke_void ()
  at OpenRA.Game.SyncLobbyInfo () <0x4099ac20 + 0x00015> in <filename unknown>:0 
  at OpenRA.Network.UnitOrders.ProcessOrder (OpenRA.Network.OrderManager orderManager, OpenRA.World world, Int32 clientId, OpenRA.Order order) <0x40993730 + 0x018eb> in <filename unknown>:0 
  at OpenRA.Network.OrderManager.TickImmediate () <0x408916a0 + 0x00413> in <filename unknown>:0 
  at OpenRA.Sync+<CheckSyncUnchanged>c__AnonStorey0.<>m__0 () <0x40891160 + 0x00019> in <filename unknown>:0 
  at OpenRA.Sync.CheckSyncUnchanged[T] (OpenRA.World world, System.Func`1 fn) <0x40891020 + 0x00039> in <filename unknown>:0 
  at OpenRA.Sync.CheckSyncUnchanged (OpenRA.World world, System.Action fn) <0x40890ee0 + 0x00103> in <filename unknown>:0 
  at OpenRA.Game.InnerLogicTick (OpenRA.Network.OrderManager orderManager) <0x40890650 + 0x00327> in <filename unknown>:0 
  at OpenRA.Game.LogicTick () <0x4088faf0 + 0x000b3> in <filename unknown>:0 
  at OpenRA.Game.Loop () <0x4088f890 + 0x0014f> in <filename unknown>:0 
  at OpenRA.Game.Run () <0x4088f730 + 0x00077> in <filename unknown>:0 
  at OpenRA.Program.Run (System.String[] args) <0x40658a80 + 0x0004f> in <filename unknown>:0 
  at OpenRA.Program.Main (System.String[] args) <0x40657d60 + 0x000f7> in <filename unknow

@Mailaender Mailaender added the Crash label Aug 27, 2017

@pchote

This comment has been minimized.

Member

pchote commented Aug 27, 2017

What version was this with?

@anvilvapre

This comment has been minimized.

anvilvapre commented Aug 27, 2017

20170527
red alert

@anvilvapre

This comment has been minimized.

anvilvapre commented Aug 27, 2017

possibly caused by someone leaving and rejoining (due to slow connection or map download)

i myself was game admin, selecting a different map, the crash happened when i selected the new map.

@LipkeGu

This comment has been minimized.

Member

LipkeGu commented Jan 4, 2018

it seems to be related with #13070

@teinarss

This comment has been minimized.

Contributor

teinarss commented Sep 8, 2018

Happend right now in Playtest, so the bug is still here.

OpenRA engine version playtest-20180825
Tiberian Dawn mod version playtest-20180825
Date: 2018-09-08 20:03:50Z
Operating System: Windows (Microsoft Windows NT 6.2.9200.0)
Runtime Version: .NET CLR 4.0.30319.42000
Exception of type `System.InvalidOperationException`: Sequence contains more than one matching element
   at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
   at OpenRA.Network.Session.ClientInSlot(String slot)
   at OpenRA.Mods.Common.Widgets.Logic.LobbyLogic.UpdatePlayerList()
   at System.Action.Invoke()
   at OpenRA.Game.SyncLobbyInfo()
   at OpenRA.Network.UnitOrders.ProcessOrder(OrderManager orderManager, World world, Int32 clientId, Order order)
   at OpenRA.Network.OrderManager.TickImmediate()
   at OpenRA.Sync.<CheckSyncUnchanged>c__AnonStorey0.<>m__0()
   at OpenRA.Sync.CheckSyncUnchanged[T](World world, Func`1 fn)
   at OpenRA.Sync.CheckSyncUnchanged(World world, Action fn)
   at OpenRA.Game.InnerLogicTick(OrderManager orderManager)
   at OpenRA.Game.LogicTick()
   at OpenRA.Game.Loop()
   at OpenRA.Game.Run()
   at OpenRA.Game.InitializeAndRun(String[] args)
   at OpenRA.WindowsLauncher.RunGame(String[] args)

@pchote pchote added this to the Next + 1 milestone Sep 8, 2018

@pchote

This comment has been minimized.

Member

pchote commented Sep 8, 2018

Looks like we are assigning the Slot for newly joined clients at the start of ValidateClient -- but we don't add this client to LobbyInfo.Clients until completeConnection, which may not run until many milliseconds later. If the map changes during this window then I expect we would trigger this crash.

@anvilvapre

This comment has been minimized.

anvilvapre commented Nov 12, 2018

Just happened again.
OpenGL version: 3.0 Mesa 12.0.6
Using default sound device
Internal mods:
modcontent: Mod Content Manager (release-20180923)
ra: Red Alert (release-20180923)
External mods:
ra-release-20180923: Red Alert (release-20180923)
ra-{DEV_VERSION}: Red Alert ({DEV_VERSION})
Loading mod: ra
NAT discovery failed: One or more errors occurred.
Exception of type System.InvalidOperationException: Sequence contains more than one matching element
at System.Linq.Enumerable.SingleOrDefault[TSource] (IEnumerable1 source, System.Func2 predicate) <0x40a0ffa0 + 0x0018f> in :0
at OpenRA.Network.Session.ClientInSlot (System.String slot) <0x4211cc00 + 0x00117> in :0
at OpenRA.Mods.Common.Widgets.Logic.LobbyLogic.UpdatePlayerList () [0x00080] in /home/travis/build/OpenRA/OpenRA/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs:549
at (wrapper delegate-invoke) :invoke_void ()
at OpenRA.Game.SyncLobbyInfo () <0x4211a770 + 0x00015> in :0
at OpenRA.Network.UnitOrders.ProcessOrder (OpenRA.Network.OrderManager orderManager, OpenRA.World world, Int32 clientId, OpenRA.Order order) <0x42112610 + 0x0189b> in :0
at OpenRA.Network.OrderManager.TickImmediate () <0x42041fa0 + 0x00433> in :0
at OpenRA.Sync+c__AnonStorey0.<>m__0 () <0x4203f690 + 0x00019> in :0
at OpenRA.Sync.CheckSyncUnchanged[T] (OpenRA.World world, System.Func`1 fn) <0x4203f550 + 0x00039> in :0
at OpenRA.Sync.CheckSyncUnchanged (OpenRA.World world, System.Action fn) <0x4203f400 + 0x00113> in :0
at OpenRA.Game.InnerLogicTick (OpenRA.Network.OrderManager orderManager) <0x4203dda0 + 0x0030b> in :0
at OpenRA.Game.LogicTick () <0x4203c5b0 + 0x000b3> in :0
at OpenRA.Game.Loop () <0x4203bea0 + 0x0014f> in :0
at OpenRA.Game.Run () <0x4203bd50 + 0x00077> in :0
at OpenRA.Game.InitializeAndRun (System.String[] args) <0x409cea80 + 0x0004f> in :0
at OpenRA.Program.Main (System.String[] args) <0x409cdd60 + 0x000f7> in :0

AL lib: FreeContext: (0x1531a70) Deleting 32 Source(s)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment