mir-ethernity / mir-eternal

204 stars 138 forks source link

Fatal bug, causing server downtime #137

Closed xiaozhu0232 closed 2 years ago

xiaozhu0232 commented 2 years ago

I can't find what causes logs :

  1. Error message: One or more errors occurred. (The given key 'GameServer.Data.MonitorDictionary2[GameServer.Data.CharacterData,System.Int32]' was not present in the dictionary.) Stack information: at System.Threading.Tasks.TaskReplicator.Run[TState](ReplicatableUserAction1 action, ParallelOptions options, Boolean stopOnFirstFailure) at System.Threading.Tasks.Parallel.PartitionerForEachWorker[TSource,TLocal](Partitioner1 source, ParallelOptions parallelOptions, Action1 simpleBody, Action2 bodyWithState, Action3 bodyWithStateAndIndex, Func4 bodyWithStateAndLocal, Func5 bodyWithEverything, Func1 localInit, Action1 localFinally) --- End of stack trace from previous location --- at System.Threading.Tasks.Parallel.ThrowSingleCancellationExceptionOrOtherException(ICollection exceptions, CancellationToken cancelToken, Exception otherException) at System.Threading.Tasks.Parallel.PartitionerForEachWorker[TSource,TLocal](Partitioner1 source, ParallelOptions parallelOptions, Action1 simpleBody, Action2 bodyWithState, Action3 bodyWithStateAndIndex, Func4 bodyWithStateAndLocal, Func5 bodyWithEverything, Func1 localInit, Action1 localFinally) at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable1 source, ParallelOptions parallelOptions, Action1 body, Action2 bodyWithState, Action3 bodyWithStateAndIndex, Func4 bodyWithStateAndLocal, Func5 bodyWithEverything, Func1 localInit, Action1 localFinally) at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable1 source, Action1 body) at GameServer.Data.GameDataGateway.强制保存() at GameServer.MainProcess.ProcessSaveData() at GameServer.MainProcess.MainLoop()

  2. Error message: Value cannot be null. (Parameter 'key') Stack information: at System.Collections.Generic.Dictionary2.FindValue(TKey key) at GameServer.Maps.MapObject.GetRelationship(MapObject obj) at GameServer.Maps.MapObject.ProcessSkillHit(SkillInstance skill, C_01_CalculateHitTarget info) at GameServer.Templates.SkillInstance.Process() at GameServer.Maps.PlayerObject.Process() at GameServer.Maps.MapGatewayProcess.Process() at GameServer.MainProcess.MainLoop()`

  3. Error message: The given key '0' was not present in the dictionary. Stack information: at System.Collections.Generic.Dictionary2.get_Item(TKey key) at GameServer.Templates.SkillInstance.Process() at GameServer.Maps.PlayerObject.Process() at GameServer.Maps.MapGatewayProcess.Process() at GameServer.MainProcess.MainLoop()`

  4. Error message: One or more errors occurred. (The given key 'GameServer.Data.MonitorDictionary2[GameServer.Data.CharacterData,System.Int32]' was not present in the dictionary.) Stack information: at System.Threading.Tasks.TaskReplicator.Run[TState](ReplicatableUserAction1 action, ParallelOptions options, Boolean stopOnFirstFailure) at System.Threading.Tasks.Parallel.PartitionerForEachWorker[TSource,TLocal](Partitioner1 source, ParallelOptions parallelOptions, Action1 simpleBody, Action2 bodyWithState, Action3 bodyWithStateAndIndex, Func4 bodyWithStateAndLocal, Func5 bodyWithEverything, Func1 localInit, Action1 localFinally) --- End of stack trace from previous location --- at System.Threading.Tasks.Parallel.ThrowSingleCancellationExceptionOrOtherException(ICollection exceptions, CancellationToken cancelToken, Exception otherException) at System.Threading.Tasks.Parallel.PartitionerForEachWorker[TSource,TLocal](Partitioner1 source, ParallelOptions parallelOptions, Action1 simpleBody, Action2 bodyWithState, Action3 bodyWithStateAndIndex, Func4 bodyWithStateAndLocal, Func5 bodyWithEverything, Func1 localInit, Action1 localFinally) at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable1 source, ParallelOptions parallelOptions, Action1 body, Action2 bodyWithState, Action3 bodyWithStateAndIndex, Func4 bodyWithStateAndLocal, Func5 bodyWithEverything, Func1 localInit, Action1 localFinally) at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable1 source, Action1 body) at GameServer.Data.GameDataGateway.SaveData() at GameServer.MainProcess.ProcessSaveData() at GameServer.MainProcess.MainLoop()

periko92 commented 2 years ago

What u was doing to make this issue ? Any more info please? so we can have a look into it