Object already exists

If you are having a problem using Vault, post a message here.

Moderator: SourceGear

Post Reply
Andrew
Posts: 2
Joined: Sat Jun 21, 2014 9:23 am

Object already exists

Post by Andrew » Sat Jun 21, 2014 9:36 am

I'm getting a generic error message while trying to connect to our server. I was previously connected but can't starting today.

Even when I put in invalid username/password i get the "object already exists" message.

Any idea?

Beth
Posts: 8550
Joined: Wed Jun 21, 2006 8:24 pm
Location: SourceGear
Contact:

Re: Object already exists

Post by Beth » Sat Jun 21, 2014 2:56 pm

Can you check your Vault GUI client log for any additional errors? That file is in the user's temp directory and is called VaultGUIclient.txt (%temp%\VaultGUIclient.txt).

If the error looks no different there, another place that might give a clue is the Vault server log. That is found on the Vault server at C:\Windows\temp\sgvault\sgvault.log.

One thing that you might try to get up and running again quickly is you might try renaming your client-side cache. Instructions are posted here: http://support.sourcegear.com/viewtopic ... 13&t=11513. You can use the instructions that would keep your current working folder.
Beth Kieler
SourceGear Technical Support

Andrew
Posts: 2
Joined: Sat Jun 21, 2014 9:23 am

Re: Object already exists

Post by Andrew » Sat Jun 21, 2014 3:22 pm

I've reviewed that other posting and have removed everything from appData\local\... then tried it again and VaultGUIClient.txt reappears with this message. I've also tried creating a new windows account on the machine and it gets the same error message, but then I installed the client on a VM machine and that can connect as normal.

6/21/2014 4:20:33 PM <generic>: [GUIClientWorkerThread:1188] [System.Security.Cryptography.CryptographicException: Object already exists.

at System.Security.Cryptography.CryptographicException.ThrowCryptogaphicException(Int32 hr)
at System.Security.Cryptography.Utils._CreateCSP(CspParameters param, Boolean randomKeyContainer, SafeProvHandle& hProv)
at System.Security.Cryptography.Utils.CreateProvHandle(CspParameters parameters, Boolean randomKeyContainer)
at System.Security.Cryptography.RSACryptoServiceProvider.get_PersistKeyInCsp()
at System.Security.Cryptography.RSACryptoServiceProvider.set_PersistKeyInCsp(Boolean value)
at VaultLib.VaultUserCrypt.EncryptPassword(String strUnencryptedPassword, Byte[] publicKey, Byte[] exponent, String& strEncryptedPassword, String& strRMKey)
at VaultClientNetLib.VaultConnection.Login(String strURLBase, String strUserLogin, String strPassword)
at VaultClientOperationsLib.ClientInstance.Login(String urlbase, String username, String password)
at VaultClientPresentationLib.GUIClientInstance.ConnectToServer(String& outserverPath, Boolean forceDialogShow, String& outprofileName, String& outusername, Boolean& outbUseSSL, Boolean& outbAutoLogin)
at VaultClientPresentationLib.GUIClientThread.ProcessCommand(GUIClientThreadCommand command, GUIClientThreadCommandResult& outputResult)]Object already exists.

at System.Security.Cryptography.CryptographicException.ThrowCryptogaphicException(Int32 hr)
at System.Security.Cryptography.Utils._CreateCSP(CspParameters param, Boolean randomKeyContainer, SafeProvHandle& hProv)
at System.Security.Cryptography.Utils.CreateProvHandle(CspParameters parameters, Boolean randomKeyContainer)
at System.Security.Cryptography.RSACryptoServiceProvider.get_PersistKeyInCsp()
at System.Security.Cryptography.RSACryptoServiceProvider.set_PersistKeyInCsp(Boolean value)
at VaultLib.VaultUserCrypt.EncryptPassword(String strUnencryptedPassword, Byte[] publicKey, Byte[] exponent, String& strEncryptedPassword, String& strRMKey)
at VaultClientNetLib.VaultConnection.Login(String strURLBase, String strUserLogin, String strPassword)
at VaultClientOperationsLib.ClientInstance.Login(String urlbase, String username, String password)
at VaultClientPresentationLib.GUIClientInstance.ConnectToServer(String& outserverPath, Boolean forceDialogShow, String& outprofileName, String& outusername, Boolean& outbUseSSL, Boolean& outbAutoLogin)
at VaultClientPresentationLib.GUIClientThread.ProcessCommand(GUIClientThreadCommand command, GUIClientThreadCommandResult& outputResult)

Stack Trace:
at VaultClientPresentationLib.GUIClientInstance.ShowCommandException(Exception e, IWin32Window dialogOwner)
at VaultClientPresentationLib.GUIClientThread.ProcessCommand(GUIClientThreadCommand command, GUIClientThreadCommandResult& outputResult)
at VaultClientPresentationLib.GUIClientThread.Start()
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

Beth
Posts: 8550
Joined: Wed Jun 21, 2006 8:24 pm
Location: SourceGear
Contact:

Re: Object already exists

Post by Beth » Mon Jun 23, 2014 8:12 am

Crypto exceptions are often caused by not enough permissions on RSA/Machine keys. With Vault, this is typically a server-side error, but it seems strange that you can get a different client to work.

Check the permissions on the Machine Keys folder on both the server and the client. I have instructions posted here, http://support.sourcegear.com/viewtopic ... 48&t=18915, that explains what to do.
Beth Kieler
SourceGear Technical Support

Post Reply