Database connections not possible with version 2024.1.5.1/2024.1.6.2

Implemented

Database connections not possible with version 2024.1.5.1/2024.1.6.2

avatar

Hi all,

we have some problems with macOS (Intel) and releases for the version 2024.1.5.1/2024.1.6.2. After updating from 2023.3.13.4 we are not able to connect to the data source and get an exception "TryGoOfflineException". Please find the complete exception string below.

  • After a downgrading to 2023.3.13.4 everything is working again.
    • Upgrading again results in the same error
  • On macOS with M1 or M2 chip, these issues don't exist.
  • Our Data Source is a MS SQL Server with Kerberos Authentication
    • Ticket has been verified using klist.


Regards
Sascha

Devolutions.RemoteDesktopManager.Business.TryGoOfflineException: TypeInitialization_Type, NetSecurityNative
   at Interop.NetSecurityNative.ImportPrincipalName(Status& minorStatus, String inputName, Int32 inputNameByteCount, SafeGssNameHandle& outputName)
   at Microsoft.Win32.SafeHandles.SafeGssNameHandle.CreatePrincipal(String name)
   at System.Net.Security.SafeDeleteNegoContext..ctor(SafeFreeNegoCredentials credential, String targetName)
   at System.Net.Security.NegotiateStreamPal.EstablishSecurityContext(SafeFreeNegoCredentials credential, SafeDeleteContext& context, String targetName, ContextFlagsPal inFlags, SecurityBuffer inputBuffer, SecurityBuffer outputBuffer, ContextFlagsPal& outFlags)
   at System.Net.Security.NegotiateStreamPal.InitializeSecurityContext(SafeFreeCredentials credentialsHandle, SafeDeleteContext& securityContext, String[] spns, ContextFlagsPal requestedContextFlags, SecurityBuffer[] inSecurityBufferArray, SecurityBuffer outSecurityBuffer, ContextFlagsPal& contextFlags)
   at Microsoft.Data.SqlClient.SNI.SNIProxy.GenSspiClientContext(SspiClientContextStatus sspiClientContextStatus, Byte[] receivedBuff, Byte[]& sendBuff, Byte[][] serverName)
   at Microsoft.Data.SqlClient.SNI.TdsParserStateObjectManaged.GenerateSspiClientContext(Byte[] receivedBuff, UInt32 receivedLength, Byte[]& sendBuff, UInt32& sendLength, Byte[][] _sniSpnBuffer)
   at Microsoft.Data.SqlClient.TdsParser.SNISSPIData(Byte[] receivedBuff, UInt32 receivedLength, Byte[]& sendBuff, UInt32& sendLength)
---> Microsoft.Data.SqlClient.SqlException (0x80131904): TypeInitialization_Type, NetSecurityNative
   at Interop.NetSecurityNative.ImportPrincipalName(Status& minorStatus, String inputName, Int32 inputNameByteCount, SafeGssNameHandle& outputName)
   at Microsoft.Win32.SafeHandles.SafeGssNameHandle.CreatePrincipal(String name)
   at System.Net.Security.SafeDeleteNegoContext..ctor(SafeFreeNegoCredentials credential, String targetName)
   at System.Net.Security.NegotiateStreamPal.EstablishSecurityContext(SafeFreeNegoCredentials credential, SafeDeleteContext& context, String targetName, ContextFlagsPal inFlags, SecurityBuffer inputBuffer, SecurityBuffer outputBuffer, ContextFlagsPal& outFlags)
   at System.Net.Security.NegotiateStreamPal.InitializeSecurityContext(SafeFreeCredentials credentialsHandle, SafeDeleteContext& securityContext, String[] spns, ContextFlagsPal requestedContextFlags, SecurityBuffer[] inSecurityBufferArray, SecurityBuffer outSecurityBuffer, ContextFlagsPal& contextFlags)
   at Microsoft.Data.SqlClient.SNI.SNIProxy.GenSspiClientContext(SspiClientContextStatus sspiClientContextStatus, Byte[] receivedBuff, Byte[]& sendBuff, Byte[][] serverName)
   at Microsoft.Data.SqlClient.SNI.TdsParserStateObjectManaged.GenerateSspiClientContext(Byte[] receivedBuff, UInt32 receivedLength, Byte[]& sendBuff, UInt32& sendLength, Byte[][] _sniSpnBuffer)
   at Microsoft.Data.SqlClient.TdsParser.SNISSPIData(Byte[] receivedBuff, UInt32 receivedLength, Byte[]& sendBuff, UInt32& sendLength)
   at Microsoft.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at Microsoft.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at Microsoft.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
   at Microsoft.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   at Microsoft.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   at Microsoft.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry, SqlConnectionOverrides overrides)
   at Microsoft.Data.SqlClient.SqlConnection.Open(SqlConnectionOverrides overrides)
   at Microsoft.Data.SqlClient.SqlConnection.Open()
   at Devolutions.RemoteDesktopManager.Business.DataSources.SQLServerConnectionDataSource.CreateDbConnection(String connectionString, Boolean openConnection)
   at Devolutions.RemoteDesktopManager.Business.DataSources.SQLServerConnectionDataSource.CreateDbConnection(String connectionString)
   at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.CreateDbConnection(Boolean master, Nullable`1 connectTimeout)
   at Devolutions.RemoteDesktopManager.Business.DataSources.SQLServerConnectionDataSource.CreateDbConnection(Boolean master, Nullable`1 connectTimeout)
   at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.CreateDbConnection(Nullable`1 connectTimeout)
   at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.ExecuteScalar[T](String sql, IDbDataParameter[] parameters)
   at Devolutions.RemoteDesktopManager.Business.DataSources.SQLServerConnectionDataSource.ExecuteScalar[T](String sql, IDbDataParameter[] parameters)
ClientConnectionId:6ede7ecf-33b9-4354-936a-8e2f34dffc8c
   Exception_EndOfInnerExceptionStack
   at Devolutions.RemoteDesktopManager.Business.DataSources.SQLServerConnectionDataSource.ExecuteScalar[T](String sql, IDbDataParameter[] parameters)
   at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.GetConnectionCacheID()
   at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.HasSecurityChanged()
   at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.HasSecurityChanged(BaseConnectionDataSource dataSource)
   at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.LoadConnections(BaseConnectionDataSource dataSource)


All Comments (5)

avatar

Hi,

I have opened a ticket about this issue. We are going to investigate this issue and let you know if we need more information or if we have updates. If you have any questions don't hesitate to ask.

Best regards,


Maxim Buisson

avatar

Hi again,

After discussing with people about this issue, we think it might be linked to a known issue that we are investigating right now. We have steps that seem to fix the problem for now. Please try updating to 2024.1.6.2 and follow these steps:

  • Go to File
  • Data Sources
  • Select your data source
  • Click "Edit data source" in the bar at the bottom
  • Go to the advanced tab
  • Click "Advanced Settings"
  • Double click next to the setting "MultiSubnetFailover" and enter the value "true" ( without the quotes )
  • Click OK to save everything


If you do not see the setting, you can rename an other setting to "MultiSubnetFailover" ( without the quotes ) and then set it to true. I attached a screenshot of what it should look like.



Please try this and let me know if you can connect after doing this.

Best regards,


Maxim Buisson

Screenshot 2024-03-25 at 12.09.00 PM.png

avatar

Hi Maxim,

thanks for your quick reply. Unfortunately, the workaround does not solve the issue for us.
We set the variable with the new version -> not working
We downgraded, set the value and upgraded -> not working

Cheers,
Sascha

avatar

Hi,

I'm sorry to hear that didn't solve the issue. Since that didn't work, we will continue investigating the issue and let you know if we need more information or if we have updates.

Best regards,


Maxim Buisson

avatar

Hello,

A new version of RDM Mac(2024.2.7.3) is available
and should have solve the issue.

If you need anything, don't hesitate to communicate with us.

Best regards,

Michel Lambert