Causing random server crashes

I have had to disable this plugin because it has caused my server to crash today with this error

 

```vbnet
Key Value
ProcessPlayerBatch System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.Collections.Generic.List`1[T].set_Item (System.Int32 index, T value) [0x00009] in <1d26c8856bcb48938402e0be7f5cc174>:0
at ProtoBuf.Item.ResetToPool (ProtoBuf.Item instance) [0x000f9] in <ca77efed8ed843e2b7cd9412253f7b77>:0
at ProtoBuf.Item.ResetToPool () [0x00000] in <ca77efed8ed843e2b7cd9412253f7b77>:0
at ProtoBuf.ItemContainer.ResetToPool (ProtoBuf.ItemContainer instance) [0x000aa] in <ca77efed8ed843e2b7cd9412253f7b77>:0
at ProtoBuf.ItemContainer.ResetToPool () [0x00000] in <ca77efed8ed843e2b7cd9412253f7b77>:0
at ProtoBuf.PlayerInventory.ResetToPool (ProtoBuf.PlayerInventory instance) [0x00011] in <ca77efed8ed843e2b7cd9412253f7b77>:0
at ProtoBuf.PlayerInventory.ResetToPool () [0x00000] in <ca77efed8ed843e2b7cd9412253f7b77>:0
at ProtoBuf.BasePlayer.ResetToPool (ProtoBuf.BasePlayer instance) [0x00024] in <ca77efed8ed843e2b7cd9412253f7b77>:0
at ProtoBuf.BasePlayer.ResetToPool () [0x00000] in <ca77efed8ed843e2b7cd9412253f7b77>:0
at ProtoBuf.Entity.ResetToPool (ProtoBuf.Entity instance) [0x00045] in <ca77efed8ed843e2b7cd9412253f7b77>:0
at ProtoBuf.Entity.ResetToPool () [0x00000] in <ca77efed8ed843e2b7cd9412253f7b77>:0
at ProtoBuf.Entity.Dispose () [0x0001c] in <ca77efed8ed843e2b7cd9412253f7b77>:0
at BaseNetworkable.ToStream (System.IO.Stream stream, BaseNetworkable+SaveInfo saveInfo) [0x00099] in <1e62a0740b7246e8bf05a71e227d554d>:0
at BaseNetworkable.ToStreamForNetwork (System.IO.Stream stream, BaseNetworkable+SaveInfo saveInfo) [0x0000e] in <1e62a0740b7246e8bf05a71e227d554d>:0
at BaseNetworkable.SendAsSnapshot (Network.Connection connection, Network.NetWrite write, BaseNetworkable+ThreadSafeTime& time, System.Boolean ordered) [0x00060] in <1e62a0740b7246e8bf05a71e227d554d>:0
at BasePlayer.<SendEntityUpdates>g__SendQueue|97_3 (BasePlayer player, Network.Connection conn, BufferList`1[T] pairs, BaseNetworkable+ThreadSafeTime& time, System.Boolean& errorLogged) [0x0002a] in <1e62a0740b7246e8bf05a71e227d554d>:0
```

11/05 21:55:05 | Failed to call hook 'OnEntitySaved' on plugin 'ItemRetriever v0.7.8' (NullReferenceException: Object reference not set to an instance of an object)
at Oxide.Plugins.ItemRetriever+ItemUtils.SerializeForNetwork (Oxide.Plugins.ItemRetriever+CustomItemDefinitionTracker customItemDefinitionTracker, System.Collections.Generic.List`1[T] itemList, ProtoBuf.ItemContainer containerData, System.Int32& nextInvisibleSlot) [0x0000e] in <1f9274ac7bb7458e886cac9eeef621f5>:0

at Oxide.Plugins.ItemRetriever+SupplierManager.SerializeForNetwork (BasePlayer player, ProtoBuf.ItemContainer containerData, System.Int32& nextInvisibleSlot) [0x00053] in <1f9274ac7bb7458e886cac9eeef621f5>:0

at Oxide.Plugins.ItemRetriever.SerializeForNetwork (BasePlayer player, ProtoBuf.ItemContainer containerData) [0x00074] in <1f9274ac7bb7458e886cac9eeef621f5>:0

at Oxide.Plugins.ItemRetriever.OnEntitySaved (BasePlayer player, BaseNetworkable+SaveInfo saveInfo) [0x00000] in <1f9274ac7bb7458e886cac9eeef621f5>:0

at Oxide.Plugins.ItemRetriever.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x0017c] in <1f9274ac7bb7458e886cac9eeef621f5>:0

at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <42f9bedc659b4f4786eb778d3cd58968>:0

at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000de] in <db058accaef24d86af67c0d18d641acb>:0

at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <db058accaef24d86af67c0d18d641acb>:0

Same here. Our server crashed today for the first time with the ProcessPlayerBatch error below. After restarting, we also received repeated OnEntitySaved errors.

Backpacks: 3.17.10
ItemRetriever: 0.7.8

Players reported using backpack auto-collection and accessing their backpacks around the time of the crash. Could this be related?

Both stack traces are included below:

Failed to call hook 'OnEntitySaved' on plugin 'ItemRetriever v0.7.8' (NullReferenceException: Object reference not set to an instance of an object)
at Oxide.Plugins.ItemRetriever+ItemUtils.SerializeForNetwork (Oxide.Plugins.ItemRetriever+CustomItemDefinitionTracker customItemDefinitionTracker, System.Collections.Generic.List`1[T] itemList, ProtoBuf.ItemContainer containerData, System.Int32& nextInvisibleSlot) [0x0000e] in <94c1a0dbf54c4fe485d5024f7f99c40a>:0
at Oxide.Plugins.ItemRetriever+SupplierManager.SerializeForNetwork (BasePlayer player, ProtoBuf.ItemContainer containerData, System.Int32& nextInvisibleSlot) [0x00053] in <94c1a0dbf54c4fe485d5024f7f99c40a>:0
at Oxide.Plugins.ItemRetriever.SerializeForNetwork (BasePlayer player, ProtoBuf.ItemContainer containerData) [0x00074] in <94c1a0dbf54c4fe485d5024f7f99c40a>:0
at Oxide.Plugins.ItemRetriever.OnEntitySaved (BasePlayer player, BaseNetworkable+SaveInfo saveInfo) [0x00000] in <94c1a0dbf54c4fe485d5024f7f99c40a>:0
at Oxide.Plugins.ItemRetriever.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x0017c] in <94c1a0dbf54c4fe485d5024f7f99c40a>:0
at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <42f9bedc659b4f4786eb778d3cd58968>:0
at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000de] in <db058accaef24d86af67c0d18d641acb>:0
at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <db058accaef24d86af67c0d18d641acb>:0

And

ProcessPlayerBatch: System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.Collections.Generic.List`1[T].get_Item (System.Int32 index) [0x00009] in <d49d4cb128564ee1b54a84338c98d353>:0
at ProtoBuf.Item.ResetToPool (ProtoBuf.Item instance) [0x000e8] in <1b7829b612e0470abf650bd0bdaafbff>:0
at ProtoBuf.Item.ResetToPool () [0x00000] in <1b7829b612e0470abf650bd0bdaafbff>:0
at ProtoBuf.ItemContainer.ResetToPool (ProtoBuf.ItemContainer instance) [0x000aa] in <1b7829b612e0470abf650bd0bdaafbff>:0
at ProtoBuf.ItemContainer.ResetToPool () [0x00000] in <1b7829b612e0470abf650bd0bdaafbff>:0
at ProtoBuf.PlayerInventory.ResetToPool (ProtoBuf.PlayerInventory instance) [0x00011] in <1b7829b612e0470abf650bd0bdaafbff>:0
at ProtoBuf.PlayerInventory.ResetToPool () [0x00000] in <1b7829b612e0470abf650bd0bdaafbff>:0
at ProtoBuf.BasePlayer.ResetToPool (ProtoBuf.BasePlayer instance) [0x00024] in <1b7829b612e0470abf650bd0bdaafbff>:0
at ProtoBuf.BasePlayer.ResetToPool () [0x00000] in <1b7829b612e0470abf650bd0bdaafbff>:0
at ProtoBuf.Entity.ResetToPool (ProtoBuf.Entity instance) [0x00045] in <1b7829b612e0470abf650bd0bdaafbff>:0
at ProtoBuf.Entity.ResetToPool () [0x00000] in <1b7829b612e0470abf650bd0bdaafbff>:0
at ProtoBuf.Entity.Dispose () [0x0001c] in <1b7829b612e0470abf650bd0bdaafbff>:0
at BaseNetworkable.ToStream (System.IO.Stream stream, BaseNetworkable+SaveInfo saveInfo) [0x00099] in <73ab9ccfe54e4558b970f46616f3e8bf>:0
at BaseNetworkable.ToStreamForNetwork (System.IO.Stream stream, BaseNetworkable+SaveInfo saveInfo) [0x0000e] in <73ab9ccfe54e4558b970f46616f3e8bf>:0
at BaseNetworkable.SendAsSnapshot (Network.Connection connection, Network.NetWrite write, BaseNetworkable+ThreadSafeTime& time, System.Boolean ordered) [0x00060] in <73ab9ccfe54e4558b970f46616f3e8bf>:0
at BasePlayer.<SendEntityUpdates>g__SendQueue|97_3 (BasePlayer player, Network.Connection conn, BufferList`1[T] pairs, BaseNetworkable+ThreadSafeTime& time, System.Boolean& errorLogged) [0x0002a] in <73ab9ccfe54e4558b970f46616f3e8bf>:0