SearchExecutor.ExecuteQueries - Bug in SPO

Copper Contributor


unfortunately I have fallen in this deep rabbit hole to have to report a bug in SPO - which I could not do successfully complete since three weeks as one support team after the other just tell me thats not in their responsibility




We use JSOM to send one request via the SearchExecutor which contains multiple keyword queries.



In approx 10-20% of all cases, the response is fine - each keyword query has results/no error - in all other cases only one query returns results but all other return a server-side SPException.

The query exception details are:


Attempted to make calls on more than one thread in single threaded mode. (Exception from HRESULT: 0x80010102 (RPC_E_ATTEMPTED_MULTITHREAD))


Stack trace:

   at Microsoft.SharePoint.SPGlobal.HandleComException(COMException comEx)   at Microsoft.SharePoint.Library.SPRequest.FetchActiveFeaturesFromSessionCache(String bstrUrl, Int32 scope, ISP2DSafeArrayWriter p2DWriter)   at Microsoft.SharePoint.SPWeb.FetchActiveFeaturesFromRequest(SPFeatureScope scope)   at Microsoft.SharePoint.SPFeatureCollection.FetchActiveFeaturesFromSessionCache(SPWeb webCachedSession)   at Microsoft.SharePoint.SPFeatureCollection.EnsureFeaturesData(Boolean force)   at Microsoft.SharePoint.SPFeatureCollection.get_Item(Guid featureId)   at Microsoft.SharePoint.Publishing.PublishingHttpModule.IsSitePublishingSite(SPSite site)   at Microsoft.SharePoint.Publishing.CatalogUrlRewriter.GetCatalogPropertiesToRetrieve(SPContext currentSPContext)   at Microsoft.Office.Server.Search.Query.Query.PreQueryAppendProperties()   at Microsoft.Office.Server.Search.Query.Query.ExecuteQuery()   at Microsoft.Office.Server.Search.Query.SearchExecutor.ExecuteQueryInternal(Query query, SearchExecutorLogEvent evt)   at Microsoft.Office.Server.Search.Query.SearchExecutor.ExecuteQueryTask(Query query, Guid correlationId, Guid parentCorrelationId, WindowsIdentity windowsIdentity, SearchExecutorLogEvent evt)   at Microsoft.Office.Server.Search.Query.SearchExecutor.<>c__DisplayClass38_1.<ExecuteQueries>b__0(Object obj)   at System.Threading.Tasks.Task`1.InnerInvoke()   at System.Threading.Tasks.Task.Execute()


This happens on three different tenants and is totally independent from the search keyword itself - sending the same query multiple times returns sometimes 1 of 3 successfully, sometimes 1 of 8 ...


I would be really glad to get the right direction / contact / whatsoever to report this issue - and provide a repro / demonstration if necessary.


Thanks in advance



0 Replies