support.microsoft.com/.../december-13-2022-kb5021235-os-build-14393-5582-de1179ba-57c5-4594-82a6-d2ba12f2758e
After installing the latest round of Windows Updates, NPM was functioning, but spitting all kinds of errors in the event log:
Event 1000 (Application)
Faulting application name: SolarWinds.Alerting.Service.exe, version: 2022.4.0.1216, time stamp: 0xa65a1983
Faulting module name: KERNELBASE.dll, version: 10.0.14393.5582, time stamp: 0x63882301
Exception code: 0xe0434352
Fault offset: 0x0000000000026ea8
Faulting process id: 0x2560
Faulting application start time: 0x01d9203c694294a1
Faulting application path: C:\Program Files (x86)\SolarWinds\Orion\SolarWinds.Alerting.Service.exe
Faulting module path: C:\Windows\System32\KERNELBASE.dll
Report Id: e410f411-b657-4395-90b7-b810c3b9db71
Faulting package full name:
Faulting package-relative application ID:
Event 1026
Application: SolarWinds.Alerting.Service.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ServiceModel.EndpointNotFoundException
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.ServiceChannel.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(System.Runtime.Remoting.Messaging.IMessage, System.Runtime.Remoting.Messaging.IMessage)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(System.Runtime.Remoting.Proxies.MessageData ByRef, Int32)
at System.ServiceModel.ICommunicationObject.Open()
at SolarWinds.ApiProxyFactory.ProtocolSupport.Wcf.Internal.WcfChannelPoolBase`2[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].Acquire()
Exception Info: SolarWinds.ApiProxyFactory.TransientApiProxyException
at SolarWinds.ApiProxyFactory.ProtocolSupport.Wcf.Internal.WcfChannelPoolBase`2[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].Acquire()
at SolarWinds.ApiProxyFactory.RootPoolInternal`2[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].Acquire(System.__Canon)
at SolarWinds.ApiProxyFactory.ApiProxy`2[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].GetAcquiredApiChannel()
at System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].AddOrUpdate(System.__Canon, System.Func`2<System.__Canon,System.__Canon>, System.Func`3<System.__Canon,System.__Canon,System.__Canon>)
at SolarWinds.ApiProxyFactory.ApiProxy`2+ApiCallInterceptor+CallWrapper[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].Execute()
at Microsoft.Practices.TransientFaultHandling.RetryPolicy+<>c__DisplayClass1.<ExecuteAction>b__0()
at Microsoft.Practices.TransientFaultHandling.RetryPolicy.ExecuteAction[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Func`1<System.__Canon>)
at SolarWinds.ApiProxyFactory.ApiProxy`2+ApiCallInterceptor[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].EnsureChannelIsCachedBackOrReleased(Castle.DynamicProxy.IInvocation, System.Action)
at SolarWinds.ApiProxyFactory.ApiProxy`2+ApiCallInterceptor[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].Intercept(Castle.DynamicProxy.IInvocation)
at Castle.DynamicProxy.AbstractInvocation.Proceed()
at Castle.DynamicProxy.AbstractInvocation.Proceed()
at SolarWinds.Orion.Core.Common.Proxy.BusinessLayer.CoreBusinessLayerApiProxyFactory.VerifyProxyConnection(SolarWinds.ApiProxyFactory.IApiProxy`1<SolarWinds.Orion.Core.Common.ICoreBusinessLayer>)
at SolarWinds.Orion.Core.Common.Proxy.BusinessLayer.CoreBusinessLayerApiProxyFactory.CreateProxy(Int32, SolarWinds.Orion.Core.Common.Enums.TransferModeEnum, System.Nullable`1<System.TimeSpan>)
at SolarWinds.Orion.Core.Common.Proxy.BusinessLayer.CoreBusinessLayerApiProxyFactory.CreateProxy(Int32, SolarWinds.Orion.Core.Common.Enums.TransferModeEnum, Boolean, System.Nullable`1<System.TimeSpan>)
at SolarWinds.Orion.Core.Common.Proxy.BusinessLayer.CoreBusinessLayerApiProxyFactory.Create(Int32, SolarWinds.Orion.Core.Common.Enums.TransferModeEnum, Boolean)
at SolarWinds.Orion.Core.Common.Proxy.BusinessLayer.CoreBusinessLayerApiProxyCreator.CreateProxy(SolarWinds.Orion.Core.Common.Proxy.BusinessLayer.ICoreBusinessLayerApiProxyFactory, SolarWinds.Orion.Core.Common.HandleBusinessLayerException, Int32, Boolean, SolarWinds.Orion.Core.Common.Enums.TransferModeEnum)
at SolarWinds.Orion.Core.Common.Proxy.BusinessLayer.CoreBusinessLayerApiProxyCreator.Create(SolarWinds.Orion.Core.Common.HandleBusinessLayerException)
at SolarWinds.Orion.Core.Common.ServiceHelper+<>c.<WaitForBusinessLayer>b__6_0()
at SolarWinds.Orion.Core.Common.ServiceHelper.WaitForBusinessLayerInternal(System.Action, Int32, Int32, Int32, System.TimeSpan)
at SolarWinds.Orion.Core.Common.ServiceHelper.WaitForBusinessLayer(Int32, Int32, Int32, System.TimeSpan)
at SolarWinds.Alerting.Service.AlertingService.DoStart()
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Threading.ThreadHelper.ThreadStart()
Event 4001
Service was unable to open new database connection when requested.
SqlException: Connection Timeout Expired. The timeout period elapsed during the post-login phase. The connection could have timed out while waiting for server to complete the login process and respond; Or it could have timed out while attempting to create multiple active connections. The duration spent while attempting to connect to this server was - [Pre-Login] initialization=5; handshake=15; [Login] initialization=0; authentication=0; [Post-Login] complete=19717;
Connection string - Data Source=tcp:ISQLPROD11\SQL2016;Initial Catalog=SolarWindsOrion;Persist Security Info=False;User ID=SolarWindsOrionDatabaseUser;Password=*******;Max Pool Size=1000;Connect Timeout=20;Load Balance Timeout=120;Packet Size=4096;Application Name=SolarWinds.Collector.Service@domain-SWCollectorService-0;Workstation ID=NPMPROD01
Uninstalling the update fixed our issue.