issues: 419015935
This data as json
id | node_id | number | title | user | state | locked | assignee | milestone | comments | created_at | updated_at | closed_at | author_association | active_lock_reason | draft | pull_request | body | reactions | performed_via_github_app | state_reason | repo | type |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
419015935 | MDU6SXNzdWU0MTkwMTU5MzU= | 1507 | Server Crash - Logging off while in fellowship | 37782527 | closed | 0 | 8909245 | 0 | 2019-03-09T01:14:56Z | 2019-03-09T21:11:19Z | 2019-03-09T21:11:19Z | NONE | <!-- IF YOU DON'T FILL OUT THE FOLLOWING INFORMATION YOUR ISSUE MIGHT BE CLOSED WITHOUT INVESTIGATING --> ### Bug Report or Feature Request (mark with an `x`) ``` - [X] bug report -> please search issues before submitting - [ ] feature request ``` ### Repro steps. Login character 1, create fellow and turn on vtank Login character 2, turn on vtank, message character 1 'xp' to be accepted into fellow Close client on character 1 Server crashes ### The log given by the failure. 2019-03-09 04:10:18,128 ERROR: System.ArgumentException: An item with the same key has already been added. Key: 1342177300 at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior) at ACE.Server.Entity.Fellowship.QuitFellowship(Player player, Boolean disband) in C:\Users\vmware\Downloads\ACE-master (1)\ACE-master\Source\ACE.Server\Entity\Fellowship.cs:line 162 at ACE.Server.WorldObjects.Player.LogOut(Boolean clientSessionTerminatedAbruptly) in C:\Users\vmware\Downloads\ACE-master (1)\ACE-master\Source\ACE.Server\WorldObjects\Player.cs:line 519 at ACE.Server.Network.Session.LogOffPlayer() in C:\Users\vmware\Downloads\ACE-master (1)\ACE-master\Source\ACE.Server\Network\Session.cs:line 190 at ACE.Server.Network.Session.DropSession(String reason) in C:\Users\vmware\Downloads\ACE-master (1)\ACE-master\Source\ACE.Server\Network\Session.cs:line 247 at ACE.Server.Managers.WorldManager.ProcessPacket(ClientPacket packet, IPEndPoint endPoint, IPEndPoint listenerEndpoint) in C:\Users\vmware\Downloads\ACE-master (1)\ACE-master\Source\ACE.Server\Managers\WorldManager.cs:line 165 at ACE.Server.Network.ConnectionListener.OnDataReceieve(IAsyncResult result) in C:\Users\vmware\Downloads\ACE-master (1)\ACE-master\Source\ACE.Server\Network\ConnectionListener.cs:line 101 at System.Net.LazyAsyncResult.Complete(IntPtr userToken) at System.Net.ContextAwareResult.CompleteCallback() at System.Net.ContextAwareResult.<>c.<Complete>b__15_0(Object s) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location where exception was thrown --- at System.Net.ContextAwareResult.Complete(IntPtr userToken) at System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken) at System.Net.Sockets.BaseOverlappedAsyncResult.CompletionCallback(Int32 numBytes, SocketError errorCode) at System.Net.Sockets.OverlappedAsyncResult.CompletionCallback(Int32 numBytes, Byte[] socketAddress, Int32 socketAddressSize, SocketFlags receivedFlags, SocketError errorCode) at System.Net.Sockets.SocketAsyncContext.BufferMemoryReceiveOperation.InvokeCallback(Boolean allowPooling) at System.Net.Sockets.SocketAsyncContext.OperationQueue`1.ProcessAsyncOperation(TOperation op) at System.Net.Sockets.SocketAsyncContext.OperationQueue`1.<>c.<.cctor>b__18_0(Object op) at System.Threading.ThreadPoolWorkQueue.Dispatch() Unhandled Exception: System.ArgumentException: An item with the same key has already been added. Key: 1342177300 at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior) at ACE.Server.Entity.Fellowship.QuitFellowship(Player player, Boolean disband) in C:\Users\vmware\Downloads\ACE-master (1)\ACE-master\Source\ACE.Server\Entity\Fellowship.cs:line 162 at ACE.Server.WorldObjects.Player.LogOut(Boolean clientSessionTerminatedAbruptly) in C:\Users\vmware\Downloads\ACE-master (1)\ACE-master\Source\ACE.Server\WorldObjects\Player.cs:line 519 at ACE.Server.Network.Session.LogOffPlayer() in C:\Users\vmware\Downloads\ACE-master (1)\ACE-master\Source\ACE.Server\Network\Session.cs:line 190 at ACE.Server.Network.Session.DropSession(String reason) in C:\Users\vmware\Downloads\ACE-master (1)\ACE-master\Source\ACE.Server\Network\Session.cs:line 247 at ACE.Server.Managers.WorldManager.ProcessPacket(ClientPacket packet, IPEndPoint endPoint, IPEndPoint listenerEndpoint) in C:\Users\vmware\Downloads\ACE-master (1)\ACE-master\Source\ACE.Server\Managers\WorldManager.cs:line 165 at ACE.Server.Network.ConnectionListener.OnDataReceieve(IAsyncResult result) in C:\Users\vmware\Downloads\ACE-master (1)\ACE-master\Source\ACE.Server\Network\ConnectionListener.cs:line 101 at System.Net.LazyAsyncResult.Complete(IntPtr userToken) at System.Net.ContextAwareResult.CompleteCallback() at System.Net.ContextAwareResult.<>c.<Complete>b__15_0(Object s) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location where exception was thrown --- at System.Net.ContextAwareResult.Complete(IntPtr userToken) at System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken) at System.Net.Sockets.BaseOverlappedAsyncResult.CompletionCallback(Int32 numBytes, SocketError errorCode) at System.Net.Sockets.OverlappedAsyncResult.CompletionCallback(Int32 numBytes, Byte[] socketAddress, Int32 socketAddressSize, SocketFlags receivedFlags, SocketError errorCode) at System.Net.Sockets.SocketAsyncContext.BufferMemoryReceiveOperation.InvokeCallback(Boolean allowPooling) at System.Net.Sockets.SocketAsyncContext.OperationQueue`1.ProcessAsyncOperation(TOperation op) at System.Net.Sockets.SocketAsyncContext.OperationQueue`1.<>c.<.cctor>b__18_0(Object op) at System.Threading.ThreadPoolWorkQueue.Dispatch() ### Desired functionality. Character 1 logs off, leaves fellow, server doesn't crash. ### Mention any other details that might be useful. Vtank seems to be a key component in this. I tried without vtank on and the crash didn't happen. I was able to reproduce multiple times using the above steps. Commit #1502 ACEWorldDatabase v0.9.22 | {"url": "https://api.github.com/repos/ACEmulator/ACE/issues/1507/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | completed | 79078680 | issue |