Our monitor has been running fine for months, but when I went to log into it today I'm getting an "Internal Server Error". It seems the monitor is still running as we're getting email alerts, but I can't log into the website. We have it running under IIS. Here's the error I'm seeing from the logs.
Base Monitor log
2022-04-25 15:50:13,516 [ 5] WARN RedGate.SqlMonitor.UI.Website.Controllers.DisplayErrorsController - Error page rendered
RedGate.SqlMonitor.RPC.Client.Exceptions.RpcNoResultException: Internal.Cryptography.CryptoThrowHelper+WindowsCryptographicException was thrown by method AuthenticateUser on service UserAccountRepositoryRpcServer:
Internal.Cryptography.CryptoThrowHelper+WindowsCryptographicException: Unknown error (0xc1000008)
at Internal.Cryptography.HashProviderCng.AppendHashData(ReadOnlySpan`1 source)
at Internal.Cryptography.HashProvider.AppendHashData(Byte[] data, Int32 offset, Int32 count)
at System.Security.Cryptography.HashAlgorithm.ComputeHash(Byte[] buffer)
at RedGate.SqlMonitor.Common.Domain.UserAccounts.UserAccountPasswordHashing.HashPassword(String password)
at RedGate.SqlMonitor.Engine.Monitoring.Core.Repositories.UserAccountRepository.GetUserByCredentials(String userName, String password)
at RedGate.SqlMonitor.Engine.Monitoring.Core.Services.Auth.UserAccountRepositoryService.AuthenticateUser(String userName, String password)
at RedGate.SqlMonitor.RPC.Client.RpcSynchronousChannel.CallMethod(String serviceName, MethodInfo method, Object[] args)
at RedGate.SqlMonitor.RPC.Client.RpcSynchronousTcpChannel.CallMethod(String serviceName, MethodInfo method, Object[] args)
at RedGate.SqlMonitor.RPC.Client.RpcProxyGenerator.RpcChannelInterceptor`1.Intercept(IInvocation invocation)
at Castle.DynamicProxy.AbstractInvocation.Proceed()
at Castle.Proxies.IUserAccountRepositoryRpcServerProxy.AuthenticateUser(String userName, String password)
at RedGate.SqlMonitor.UI.Website.Controllers.BasicAccountController.LogIn(String userName, String password, Boolean rememberMe, String returnUrl)
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Logged|12_1(ControllerActionInvoker invoker)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ExceptionContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeNextResourceFilter()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at RedGate.SqlMonitor.UI.Website.Authentication.AuthenticationSchemeInitializationMiddleware.Invoke(HttpContext context)
at RedGate.SqlMonitor.UI.Website.Middlewares.BaseMonitorSetUpMiddleware.Invoke(HttpContext context)
at StackExchange.Profiling.MiniProfilerMiddleware.Invoke(HttpContext context) in C:\projects\dotnet\src\MiniProfiler.AspNetCore\MiniProfilerMiddleware.cs:line 119
at RedGate.SqlMonitor.UI.Website.Middlewares.RequestPerformanceLoggingMiddleware.Invoke(HttpContext context)
at RedGate.SqlMonitor.UI.Website.Middlewares.ApplicationInsightsRequestLoggingMiddleware.Invoke(HttpContext context)
at RedGate.SqlMonitor.UI.Website.Middlewares.CustomErrorHandlingMiddleware.Invoke(HttpContext context)
at RedGate.SqlMonitor.UI.Website.Middlewares.CustomErrorHandlingMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Diagnostics.StatusCodePagesMiddleware.Invoke(HttpContext context)
at RedGate.SqlMonitor.UI.Website.Middlewares.CustomHeadersFromConfigMiddleware.Invoke(HttpContext context)
at RedGate.SqlMonitor.UI.Website.Startup.Startup.<>c.<<Configure>b__8_1>d.MoveNext()
--- End of stack trace from previous location ---
at Serilog.AspNetCore.RequestLoggingMiddleware.Invoke(HttpContext httpContext)
at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.<Invoke>g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)</code>2022-04-25 15:48:44,917 [ 76] WARN RedGate.SqlMonitor.Engine.Monitoring.Core.Repositories.UserAccountRepository - Could not load user 'user' (incorrect password or no such user)
2022-04-25 15:48:44,918 [ 76] WARN RedGate.SqlMonitor.Engine.Monitoring.Core.Repositories.UserAccountRepository - Could not load user 'reporting' (incorrect password or no such user)
2022-04-25 15:48:44,918 [ 76] WARN RedGate.SqlMonitor.Engine.Monitoring.Core.Repositories.UserAccountRepository - Could not load user 'readonly' (incorrect password or no such user)
2022-04-25 15:50:08,308 [ 56] WARN RedGate.SqlMonitor.Engine.Monitoring.Core.Repositories.UserAccountRepository - Could not load user 'user' (incorrect password or no such user)
2022-04-25 15:50:08,308 [ 56] WARN RedGate.SqlMonitor.Engine.Monitoring.Core.Repositories.UserAccountRepository - Could not load user 'reporting' (incorrect password or no such user)
2022-04-25 15:50:08,309 [ 56] WARN RedGate.SqlMonitor.Engine.Monitoring.Core.Repositories.UserAccountRepository - Could not load user 'readonly' (incorrect password or no such user)
2022-04-25 15:50:13,369 [ 56] ERROR RedGate.SqlMonitor.RPC.Server.RpcSynchronousServiceDispatcher - Error occured in service UserAccountRepositoryRpcServer, method AuthenticateUser
Internal.Cryptography.CryptoThrowHelper+WindowsCryptographicException: Unknown error (0xc1000008)
at Internal.Cryptography.HashProviderCng.AppendHashData(ReadOnlySpan`1 source)
at Internal.Cryptography.HashProvider.AppendHashData(Byte[] data, Int32 offset, Int32 count)
at System.Security.Cryptography.HashAlgorithm.ComputeHash(Byte[] buffer)
at RedGate.SqlMonitor.Common.Domain.UserAccounts.UserAccountPasswordHashing.HashPassword(String password)
at RedGate.SqlMonitor.Engine.Monitoring.Core.Repositories.UserAccountRepository.GetUserByCredentials(String userName, String password)
at RedGate.SqlMonitor.Engine.Monitoring.Core.Services.Auth.UserAccountRepositoryService.AuthenticateUser(String userName, String password)</pre><div>Web Log<br></div><p><pre class="CodeBlock"><code>
Any help appreciated.
Base Monitor log