Attachments still keep disappearing / coming off guns

players are still reporting attachments are coming off guns and stuff also im getting this error massage a lot

(10:29:17) | Failed to call hook 'CanMoveItem' on plugin 'StackSizeController v3.4.0' (NullReferenceException: Object reference not set to an instance of an object)
  at Oxide.Plugins.StackSizeController.CanMoveItem (Item item, PlayerInventory playerLoot, System.UInt32 targetContainer, System.Int32 targetSlot, System.Int32 amount) [0x00019] in <ea2f523583d247119f843021a620194d>:0 
  at Oxide.Plugins.StackSizeController.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00e7e] in <ea2f523583d247119f843021a620194d>:0 
  at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <31122a27a2414cd799150f8677cf39d4>:0 
  at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000d8] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0 
  at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0
(10:29:28) | Failed to call hook 'CanMoveItem' on plugin 'StackSizeController v3.4.0' (NullReferenceException: Object reference not set to an instance of an object)
  at Oxide.Plugins.StackSizeController.CanMoveItem (Item item, PlayerInventory playerLoot, System.UInt32 targetContainer, System.Int32 targetSlot, System.Int32 amount) [0x00019] in <ea2f523583d247119f843021a620194d>:0 
  at Oxide.Plugins.StackSizeController.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00e7e] in <ea2f523583d247119f843021a620194d>:0 
  at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <31122a27a2414cd799150f8677cf39d4>:0 
  at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000d8] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0 
  at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0
(10:29:28) | Failed to call hook 'CanMoveItem' on plugin 'StackSizeController v3.4.0' (NullReferenceException: Object reference not set to an instance of an object)
  at Oxide.Plugins.StackSizeController.CanMoveItem (Item item, PlayerInventory playerLoot, System.UInt32 targetContainer, System.Int32 targetSlot, System.Int32 amount) [0x00019] in <ea2f523583d247119f843021a620194d>:0 
  at Oxide.Plugins.StackSizeController.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00e7e] in <ea2f523583d247119f843021a620194d>:0 
  at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <31122a27a2414cd799150f8677cf39d4>:0 
  at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000d8] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0 
  at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0
(10:29:34) | Failed to call hook 'CanMoveItem' on plugin 'StackSizeController v3.4.0' (NullReferenceException: Object reference not set to an instance of an object)
  at Oxide.Plugins.StackSizeController.CanMoveItem (Item item, PlayerInventory playerLoot, System.UInt32 targetContainer, System.Int32 targetSlot, System.Int32 amount) [0x00019] in <ea2f523583d247119f843021a620194d>:0 
  at Oxide.Plugins.StackSizeController.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00e7e] in <ea2f523583d247119f843021a620194d>:0 
  at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <31122a27a2414cd799150f8677cf39d4>:0 
  at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000d8] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0 
  at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0
(10:29:35) | Failed to call hook 'CanMoveItem' on plugin 'StackSizeController v3.4.0' (NullReferenceException: Object reference not set to an instance of an object)
  at Oxide.Plugins.StackSizeController.CanMoveItem (Item item, PlayerInventory playerLoot, System.UInt32 targetContainer, System.Int32 targetSlot, System.Int32 amount) [0x00019] in <ea2f523583d247119f843021a620194d>:0 
  at Oxide.Plugins.StackSizeController.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00e7e] in <ea2f523583d247119f843021a620194d>:0 
  at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <31122a27a2414cd799150f8677cf39d4>:0 
  at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000d8] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0 
  at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0
(10:29:36) | Failed to call hook 'CanMoveItem' on plugin 'StackSizeController v3.4.0' (NullReferenceException: Object reference not set to an instance of an object)
  at Oxide.Plugins.StackSizeController.CanMoveItem (Item item, PlayerInventory playerLoot, System.UInt32 targetContainer, System.Int32 targetSlot, System.Int32 amount) [0x00019] in <ea2f523583d247119f843021a620194d>:0 
  at Oxide.Plugins.StackSizeController.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00e7e] in <ea2f523583d247119f843021a620194d>:0 
  at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <31122a27a2414cd799150f8677cf39d4>:0 
  at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000d8] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0 
  at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0
(10:29:37) | Failed to call hook 'CanMoveItem' on plugin 'StackSizeController v3.4.0' (NullReferenceException: Object reference not set to an instance of an object)
  at Oxide.Plugins.StackSizeController.CanMoveItem (Item item, PlayerInventory playerLoot, System.UInt32 targetContainer, System.Int32 targetSlot, System.Int32 amount) [0x00019] in <ea2f523583d247119f843021a620194d>:0 
  at Oxide.Plugins.StackSizeController.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00e7e] in <ea2f523583d247119f843021a620194d>:0 
  at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <31122a27a2414cd799150f8677cf39d4>:0 
  at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000d8] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0 
  at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0
(10:29:43) | Failed to call hook 'CanMoveItem' on plugin 'StackSizeController v3.4.0' (NullReferenceException: Object reference not set to an instance of an object)
  at Oxide.Plugins.StackSizeController.CanMoveItem (Item item, PlayerInventory playerLoot, System.UInt32 targetContainer, System.Int32 targetSlot, System.Int32 amount) [0x00019] in <ea2f523583d247119f843021a620194d>:0 
  at Oxide.Plugins.StackSizeController.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00e7e] in <ea2f523583d247119f843021a620194d>:0 
  at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <31122a27a2414cd799150f8677cf39d4>:0 
  at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000d8] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0 
  at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0
(10:29:44) | Failed to call hook 'CanMoveItem' on plugin 'StackSizeController v3.4.0' (NullReferenceException: Object reference not set to an instance of an object)
  at Oxide.Plugins.StackSizeController.CanMoveItem (Item item, PlayerInventory playerLoot, System.UInt32 targetContainer, System.Int32 targetSlot, System.Int32 amount) [0x00019] in <ea2f523583d247119f843021a620194d>:0 
  at Oxide.Plugins.StackSizeController.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00e7e] in <ea2f523583d247119f843021a620194d>:0 
  at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <31122a27a2414cd799150f8677cf39d4>:0 
  at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000d8] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0 
  at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0
(10:29:47) | Failed to call hook 'CanMoveItem' on plugin 'StackSizeController v3.4.0' (NullReferenceException: Object reference not set to an instance of an object)
  at Oxide.Plugins.StackSizeController.CanMoveItem (Item item, PlayerInventory playerLoot, System.UInt32 targetContainer, System.Int32 targetSlot, System.Int32 amount) [0x00019] in <ea2f523583d247119f843021a620194d>:0 
  at Oxide.Plugins.StackSizeController.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00e7e] in <ea2f523583d247119f843021a620194d>:0 
  at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <31122a27a2414cd799150f8677cf39d4>:0 
  at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000d8] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0 
  at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0
(10:29:48) | Failed to call hook 'CanMoveItem' on plugin 'StackSizeController v3.4.0' (NullReferenceException: Object reference not set to an instance of an object)
  at Oxide.Plugins.StackSizeController.CanMoveItem (Item item, PlayerInventory playerLoot, System.UInt32 targetContainer, System.Int32 targetSlot, System.Int32 amount) [0x00019] in <ea2f523583d247119f843021a620194d>:0 
  at Oxide.Plugins.StackSizeController.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00e7e] in <ea2f523583d247119f843021a620194d>:0 
  at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <31122a27a2414cd799150f8677cf39d4>:0 
  at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000d8] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0 
  at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0
(10:29:58) | Failed to call hook 'CanMoveItem' on plugin 'StackSizeController v3.4.0' (NullReferenceException: Object reference not set to an instance of an object)
  at Oxide.Plugins.StackSizeController.CanMoveItem (Item item, PlayerInventory playerLoot, System.UInt32 targetContainer, System.Int32 targetSlot, System.Int32 amount) [0x00019] in <ea2f523583d247119f843021a620194d>:0 
  at Oxide.Plugins.StackSizeController.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00e7e] in <ea2f523583d247119f843021a620194d>:0 
  at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <31122a27a2414cd799150f8677cf39d4>:0 
  at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000d8] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0 
  at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0​

also getting report that it also deleting ammo from guns also

Attachments should be removed from the weapon. If you don't care about players duping attachments, presumably you also don't care about ammo duping so if you don't like that functionality you can enable "DisableDupeFixAndLeaveWeaponMagsAlone" in the config. 

Can someone explain how the duping is occurring? Is it because weapons have a stack size of more than one? If I never set it beyond a stacksize of one, it should be fine right?

Correct.

So, your saying I can disable the duping glitch for ammo and attachment If don't have gun stack size more then one.

Does this explain the wall of red that I am seeing ?
I have only resources stacking.
Everything else is vanilla ?
Had to remove it for now.
What has changed ?

Attachments still keep disappearing/coming off guns when you swap them with other items in the hot bar or the inventory slots

Failed to call hook 'CanMoveItem' on plugin 'StackSizeController v3.4.1' (NullReferenceException: Object reference not set to an instance of an object)
  at Oxide.Plugins.StackSizeController.CanMoveItem (Item item, PlayerInventory playerLoot, System.UInt32 targetContainer, System.Int32 targetSlot, System.Int32 amount) [0x0001a] in <1aee2b0ff2c3497b99caa5a8ade1bc24>:0
at Oxide.Plugins.StackSizeController.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00e7e] in <1aee2b0ff2c3497b99caa5a8ade1bc24>:0
at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <31122a27a2414cd799150f8677cf39d4>:0
at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000d8] in :0
at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in :0

geez.  just roll this plugin back to 2.0.4 - PLEASE

im still seeing error massage
3.4.1

(16:06:10) | Failed to call hook 'CanMoveItem' on plugin 'StackSizeController v3.4.1' (NullReferenceException: Object reference not set to an instance of an object)
  at Oxide.Plugins.StackSizeController.CanMoveItem (Item item, PlayerInventory playerLoot, System.UInt32 targetContainer, System.Int32 targetSlot, System.Int32 amount) [0x0001a] in <f1a2095c93b1429991c87b890fa92f1f>:0 
  at Oxide.Plugins.StackSizeController.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00e7e] in <f1a2095c93b1429991c87b890fa92f1f>:0 
  at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <31122a27a2414cd799150f8677cf39d4>:0 
  at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000d8] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0 
  at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0
(16:06:10) | Failed to call hook 'CanMoveItem' on plugin 'StackSizeController v3.4.1' (NullReferenceException: Object reference not set to an instance of an object)
  at Oxide.Plugins.StackSizeController.CanMoveItem (Item item, PlayerInventory playerLoot, System.UInt32 targetContainer, System.Int32 targetSlot, System.Int32 amount) [0x0001a] in <f1a2095c93b1429991c87b890fa92f1f>:0 
  at Oxide.Plugins.StackSizeController.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00e7e] in <f1a2095c93b1429991c87b890fa92f1f>:0 
  at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <31122a27a2414cd799150f8677cf39d4>:0 
  at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000d8] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0 
  at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <c2afd8354b8b4f3ca451cf5a1aa111c3>:0

yes in hotbar if i stack a weapon the attachment and the ammo will disappear. Only if i do it in hotbar of inventory!  Please fix this problem. 

Does 2.0.4 work ? I will roll back. ZFG it seems ?

2.0.4 works fine - if you can find it.  This is a classic case of 'if it ain't broke' .  RIP

If you read the patch notes you'd know I need to know what's causing the error. I have a thousand versions of that exact error spread across uMod, GitHub, Discord etc. I need to know what's triggering it.