When developing custom display templates for your CSWPs, be careful when setting the property value for ManagedPropertyMapping. This property is used to tell the template how to map managed properties to properties within the template, so you can pull them in and display the property. If you add the same property more than once, you won’t be able to edit the web part properties of CSWPs in the site collection where the display template is located. You will get this error in ULS:

System.ArgumentException: An item with the same key has already been added. at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at Microsoft.Office.Server.Search.WebControls.ResultScriptWebPart.ParsePropertyMappingsString(String mappings) at Microsoft.Office.Server.Search.WebControls.ContentBySearchToolPart.get_MaxSlots() at Microsoft.Office.Server.Search.WebControls.ContentBySearchToolPart.CreatePropertySlotControls() at Microsoft.Office.Server.Search.WebControls.ContentBySearchToolPart.CreatePropertyMappingsSectionControls() at Microsoft.Office.Server.Search.WebControls.ContentBySearchToolPart.CreateSections() at Microsoft.Office.Server.Search.WebControls.ContentBySearchToolPart.CreateChildControls() at System.Web.UI.Control.EnsureChildControls() at Microsoft.Office.Server.Search.WebControls.ContentBySearchToolPart.OnLoad(EventArgs e) at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

When I say to not add the same property more than once, I mean with the same property name as specified within the template. Not the same managed property. In other words, it’s ok to map the same managed property to more than one template property:

Thanks! I will try this. Getting a lot of errors (I am boosting this answer on google)

Editing a content search web part resolves in an error Sorry, something went wrong. An unexpected error has occurred.

ULS logs show:
* Application error when access /sites/intranet/Pages/Search.aspx, Error=An item with the same key has already been added. at Microsoft.Office.Server.Search.WebControls.ResultScriptWebPart.ParsePropertyMappingsString
* System.ArgumentException: An item with the same key has already been added.

If you look at the errors, it definitely does not like the Managed Property mapping of the web part (but it is even on OOTB display templates).

At least my search farm is not corrupt and the stsadm -o reconvertallformtemplates did not solve it either.

Going to remove my custom display templates, restore any OOTB ones that may have been edited and start over carefully.