Restarting service caused everything to crash and burn

:frowning: tech restarted his PSU service, but Universal.server.exe didnt stop in time for services.msc to begin starting. (some times it takes 10 seconds). The service did not want to start, and instead complained about no access to the db

Apparently the DB ā€œcorruptedā€

We found some threads mentioning the LiteDB error message, where deleting the log db usually fixes this - Which it did, to some extend. Now visiting the dashboard yilded

The error went away when I disabled OIDC login through appsettings.json, and we could then login manually again, but immideatly upon enabling it, it would stop working again.

I thought maybe the DB was corrupt, and deleted that as well, which resulted in PSU restarting instantly and indefinitely every second when OIDC was enabled. each time adding this to the poor log file

2023-02-23 16:23:19.655 +01:00 [ERR] An unhandled exception has occurred while executing the request.
System.InvalidOperationException: No authentication handler is registered for the scheme 'OpenIdConnect'. The registered schemes are: Identity.External, Cookies, Bearer. Did you forget to call AddAuthentication().Add[SomeAuthHandler]("OpenIdConnect",...)?
   at Microsoft.AspNetCore.Authentication.AuthenticationService.AuthenticateAsync(HttpContext context, String scheme)
   at Microsoft.AspNetCore.Authorization.Policy.PolicyEvaluator.AuthenticateAsync(AuthorizationPolicy policy, HttpContext context)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at PowerShellUniversal.FeatureMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) in C:\actions-runner\_work\universal\universal\src\Universal.Server\Middleware\FeatureMiddleware.cs:line 43
   at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass6_1.<<UseMiddlewareInterface>b__1>d.MoveNext()
--- End of stack trace from previous location ---
   at PowerShellUniversal.DisallowedModeMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) in C:\actions-runner\_work\universal\universal\src\Universal.Server\Middleware\ModeMiddleware.cs:line 47
   at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass6_1.<<UseMiddlewareInterface>b__1>d.MoveNext()
--- End of stack trace from previous location ---
   at Universal.Server.Middleware.RoutingMiddleware.Invoke(HttpContext httpContext, IPolicyEvaluator policyEvaluator) in C:\actions-runner\_work\universal\universal\src\Universal.Server\Middleware\RoutingMiddleware.cs:line 172
   at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
   at Universal.Server.Middleware.SwaggerAuthenticationMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) in C:\actions-runner\_work\universal\universal\src\Universal.Server\Middleware\SwaggerAuthMiddleware.cs:line 37
   at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass6_1.<<UseMiddlewareInterface>b__1>d.MoveNext()
--- End of stack trace from previous location ---
   at AspNetCoreRateLimit.RateLimitMiddleware`1.Invoke(HttpContext context) in C:\actions-runner\_work\universal\universal\src\AspNetCoreRateLimit\Middleware\RateLimitMiddleware.cs:line 109
   at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.<Invoke>g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)

It took me a good hour to realize that Environments.ps1 was reset to standard, and licenses.ps1 was gone. Restoring licenses.ps1 fixed the issue.
Itā€™s a bit disheartening that a bogged service restart can cause configuration files to be reset and/or deleted. The techs confidence in using PSU in production definetly took a blow :frowning:

Sorry to hear that happened. We used to frequently see this issue with LiteDB v4 but itā€™s been a long time since it cropped up. Can you let me know what version this was running under?

As for the environments.ps1 and licenses.ps1 being cleared, thatā€™s pretty surprising that happened. I can imagine what series of steps would wipe those out. Iā€™m happy to open an issue to see if we can reproduce this at all.

3.7.9 was the version, fresh install 2 weeks ago.

My other instance is the same version and does not seem to be that slow at restarting, Iā€™m sure it will be hard to reproduce.

Authentication.ps1 was reset as well.