Hi,
today i tried to upgrade our staging system to new dvls.
to test real-world i upgraded it from dps 6.1.3.0 to 2019.1.17.0.
upgrade says ok, all seems fine,
but i cannot login - with any user, even dps-integrated-users
tried web-login and rdm 2019.1.35.0 and rdm 2019.1.25.0
errors appear like this one:
InvalidOperationException - Nullable object must have a value.
at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
at Devolutions.Server.ServerCacheManager.<>c__DisplayClass58_0.<RefreshConnections>b__2(ConnectionInfoEntity c)
at System.Collections.Generic.List`1.ForEach(Action`1 action)
at Devolutions.Server.ServerCacheManager.RefreshConnections(Byte[] clientVersion)
at Devolutions.Server.ServerCacheManager.get_Connections()
at Devolutions.Server.ServerCacheManager.GetConnectionRoot(Guid repository)
at Devolutions.Server.SecurityRoleManager.HasAccess(SessionContext context, Guid repositoryId, SecurityRoleDataSourceRight right)
at Devolutions.Server.Controllers.APIControllers.V2.BackendApiController.GetLoginAccessEntity(SessionContext context)
at Devolutions.Server.Controllers.APIControllers.V2.BackendApiController.DoLogin(SessionContext context, String userName, String password, ClientApplicationInfo clientApplicationInfo, String twoFactorID, TwoFactorInfo twoFactorInfo, String publicIPAddress, Byte[] sessionKey, String repositoryId, Boolean partialMode, Boolean useWindowsAuthentication, Boolean useAzureADAuthentication, String localMachineName, String localMachineUserName)
at Devolutions.Server.Controllers.APIControllers.V2.BackendApiController.Login(LoginData loginData, Boolean partialMode)
at lambda_method(Closure , Object , Object[] )
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass10.<GetExecutor>b__9(Object instance, Object[] methodParameters)
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ExceptionFilterResult.<ExecuteAsync>d__0.MoveNext()
Kind Regards
Markus
======================
Hello,
With authentication type have you used to login on your DPS instance? Is it Domain or Custom?
Could you please send us the DPS Diagnostic report using Send Diagnostic to Support from the DPS Console?
Best regards,
Érica Poirier
Hello,
After a discussion with an engineer this afternoon, they will fix this issue. But in the meantime, could you please run the following SQL statement and let me know if you get some records. According to the engineer, it seems that some records in the Connections table has a RepositoryID set to Null.Select ID, Name, RepositoryIDFrom dbo.ConnectionsWhere RepositoryID is null
Best regards,
Érica Poirier
Hello Erica
I have the same issue.
With the SQL query, I received 2869 rows where the RepositoryID is set to Null.
I did a restore to version 6.1.3.0, where it's working fine again.
Thank you.
Best regards, John
Hi Erica,
i'm already OoO but to add another hint:
my second staging sys was running 6.1.3.0 updated to 2019.1.12.0 and all was fine.
so i think 2019.1.17 breaks something ...
Kind Regards
Markus
======================
i can test again. on monday
Kind Regards
Markus
======================
Hello,
We have been able to reproduce this issue internally and it's definitely related to the RepositoryID column that contains Null value on some records. This problem seems to be cause by old SQL databases that were created before the introduction of Vaults (formerly known as Repository).
As of now, here is the fix to put the right information in the RepositoryID column in the Connections table. Please make a backup of the SQL database before running the following query.UPDATE ConnectionsSET RepositoryID = '00000000-0000-0000-0000-000000000000'WHERE RepositoryID IS NULL
After running the script, you will need to recycle IIS to be sure that the server cache is up to date and doesn't contain any Null value anymore.
If you are using RDM, please refresh the local cache file with CTRL+F5.
Best regards,
Érica Poirier
Hi Erica
Thank you, this fixed the issue. It's working fine now.
Best regards, John
Hello,
Thank you for your feedback and glad that it's working now.
Best regards,
Érica Poirier
Hi,
I tried your query too and it is working now.
thank you erica for your help!
Kind Regards
Markus
======================
Hello,
Thank you for your feedback Markus.
@everyone, we have made a fix internally and the next DPS version will not require to manually fix the information in the database.
Best regards,
Érica Poirier