SharePoint 2013 Search Stopped Working

I have to admit SharePoint really got me with this one.

We had built a SharePoint Server 2013 environment for development and research purposes as soon as the RTM version was released. I remember configuring the Search Service Application and creating a Search Center to play with the new features back then, and everything was working quite well.

Then a couple of days ago I started creating a proof-of-concept for an upcoming SharePoint 2013 project, I fired up my suspended virtual machine only to find out that search had stopped working.

In the Search Center I was getting “Unexpected response from server“:

Search Center

On the Search Service Application administration page, there was the message “Unable to retrieve topology component health states. This may be because the admin component is not up and running“:

Search Service Administration

Looking at the ULS logs, I found the following:

Ims::Execute–Error occured: System.ServiceModel.EndpointNotFoundException: There was no endpoint listening at net.tcp://sharepoint/20861D/QueryProcessingComponent1/ImsQueryInternal that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details. Server stack trace: at System.ServiceModel.Channels.ConnectionUpgradeHelper.DecodeFramingFault(ClientFramingDecoder decoder, IConnection connection, Uri via, String contentType, TimeoutHelper& timeoutHelper) at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.SendPreamble(IConnection connection, ArraySegment`1 preamble, TimeoutHelper& timeoutHelper) at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.DuplexConnectionPoolHelper.AcceptPooledConnection(IConnection connection, TimeoutHelper& timeoutHelper) at System.ServiceModel.Channels.ConnectionPoolHelper.EstablishConnection(TimeSpan timeout) at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.OnOpen(TimeSpan timeout) at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) at System.ServiceModel.Channels.SecurityChannelFactory`1.ClientSecurityChannel`1.OnOpen(TimeSpan timeout) at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan timeout) at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannel.CallOnceManager.CallOnce(TimeSpan timeout, CallOnceManager cascade) at System.ServiceModel.Channels.ServiceChannel.EnsureOpened(TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message) Exception rethrown at [0]: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) at Microsoft.Office.Server.Search.Query.IImsService.Execute(QueryProperties properties, Guid ssaId) at Microsoft.Office.Server.Search.Administration.SearchServiceApplication._ImsQueryInternalType.<>c__DisplayClass72.b__70(IImsService serviceApplication) at Microsoft.Office.Server.Search.Administration.SearchServiceApplication._ImsQueryInternalType.DoImsOp[T](ImsBackedOperation`1 imsCall, Uri endPoint, ChannelFactory`1 channelFactory, String operationName, Int32 wcfTimeoutInMilliseconds) at Microsoft.Office.Server.Search.Administration.SearchServiceApplication._ImsQueryInternalType.DoSpLoadBalancedImsOp[T](ImsBackedOperation`1 imsCall, Int32 timeoutInMilliseconds, Int32 wcfTimeoutInMilliseconds, String operationName)

Then there was:

w3wp.exe: Query processing component ‘net.tcp://sharepoint/20861D/QueryProcessingComponent1/ImsQueryInternal’ changes its status to ‘Failed’.
w3wp.exe: All query processing components are in ‘Failed’ status.

These didn’t ring any bells for me. After spending a couple of hours searching on the net and poking at SharePoint configuration, I finally had the idea to look at the Event Log. There I found a bunch of critical errors saying:

Application Server Administration job failed for service instance Microsoft.Office.Server.Search.Administration.SearchServiceInstance (4ec3e9d8-7908-41e3-ab42-d14fed36471a).
Reason: A call to SSPI failed, see inner exception.
Technical Support Details: System.ServiceModel.Security.SecurityNegotiationException: A call to SSPI failed, see inner exception. —> System.Security.Authentication.AuthenticationException: A call to SSPI failed, see inner exception. —> System.ComponentModel.Win32Exception: The clocks on the client and server machines are skewed — End of inner exception stack trace — at System.Net.Security.NegoState.StartSendAuthResetSignal(LazyAsyncResult lazyResult, Byte[] message, Exception exception) at System.Net.Security.NegoState.StartSendBlob(Byte[] message, LazyAsyncResult lazyResult) at System.Net.Security.NegoState.CheckCompletionBeforeNextSend(Byte[] message, LazyAsyncResult lazyResult) at System.Net.Security.NegoState.ProcessReceivedBlob(Byte[] message, LazyAsyncResult lazyResult) at System.Net.Security.NegoState.StartSendBlob(Byte[] message, LazyAsyncResult lazyResult) at System.Net.Security.NegoState.CheckCompletionBeforeNextSend(Byte[] message, LazyAsyncResult lazyResult) at System.Net.Security.NegoState.ProcessReceivedBlob(Byte[] message, LazyAsyncResult lazyResult) at System.Net.Security.NegoState.StartSendBlob(Byte[] message, LazyAsyncResult lazyResult) at System.Net.Security.NegoState.ProcessAuthentication(LazyAsyncResult lazyResult) at System.Net.Security.NegotiateStream.AuthenticateAsClient(NetworkCredential credential, String targetName, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel allowedImpersonationLevel) at System.ServiceModel.Channels.WindowsStreamSecurityUpgradeProvider.WindowsStreamSecurityUpgradeInitiator.OnInitiateUpgrade(Stream stream, SecurityMessageProperty& remoteSecurity) — End of inner exception stack trace —

The message in bold above caught my attention. At first I wondered “Client and server machines? What the heck – I have a SharePoint environment on a single server …”

And then it hit me. While all SharePoint components were really on a single server, the domain services were running on a separate machine. I checked the domain controller server and quite sure the date and time settings on it were two days behind. Configuring those correctly immediately brought SharePoint search up and running again.

3 thoughts on “SharePoint 2013 Search Stopped Working

  1. hi , I have the same question , as you say , I check my machine and it’s ok , but search is also exception , can you give me more suggestions ? thank you !

    • Hi zhi shan,

      SharePoint search can stop working for a number of reasons. I would suggest that you visit the Microsoft SharePoint 2013 Search forum here and post a question with a detailed description of the error you are getting.

      Regards,
      Teodora

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>