According to
http://support.sourcegear.com/viewtopic.php?t=1676 there was a bug in an early version of Vault in which an attempt to share a folder from a label failed with the error:
Object reference not set to an instance of an object.
In Vault 3.5.2 we could right-click a folder, select Show Labels, right-click on a label and select Share... and it would work. In Fortress 1.06, it doesn't work, giving the error above. The server log shows absolutely nothing, but the client logs the following:
07/01/2008 11:54:12 <generic>: [GUIClientWorkerThread:704] [System.NullReferenceException: Object reference not set to an instance of an object.
at VaultClientOperationsLib.ChangeSetItem.GetServerSynchedRepositoryPath(ClientInstance ci, String clientPath)
at VaultClientOperationsLib.ChangeSetItem_Pin.CreateRequest(ClientInstance ci)
at VaultClientOperationsLib.ClientInstance.Commit(ChangeSetItemColl givenItems, String strChangeSetComment, Boolean keepCheckedOut, Boolean removeLocalCopy, CommitType committype, VaultDateTime dateImport, Int32 nUserIDImport, Int64& nRevID, Int32[]& retBegEndTx)
at VaultClientOperationsLib.ClientInstance.Commit(ChangeSetItemColl givenItems, Boolean keepCheckedOut, Boolean removeLocalCopy, CommitType committype, VaultDateTime dateImport, Int32 nUserIDImport, Int64& nRevID)
at VaultClientOperationsLib.ClientInstance.Commit(ChangeSetItemColl givenItems, Boolean keepCheckedOut, Boolean removeLocalCopy)
at VaultClientOperationsLib.ClientInstance.Commit(ChangeSetItemColl changeSetItems)
at VaultClientPresentationLib.GUIClientInstance.ShareLabelItem(VaultLabelItemX labelItem, Form dialogOwner)
at VaultClientPresentationLib.GUIClientThread.ProcessCommand(GUIClientThreadCommand command, GUIClientThreadCommandResult& outputResult)]Object reference not set to an instance of an object.
at VaultClientOperationsLib.ChangeSetItem.GetServerSynchedRepositoryPath(ClientInstance ci, String clientPath)
at VaultClientOperationsLib.ChangeSetItem_Pin.CreateRequest(ClientInstance ci)
at VaultClientOperationsLib.ClientInstance.Commit(ChangeSetItemColl givenItems, String strChangeSetComment, Boolean keepCheckedOut, Boolean removeLocalCopy, CommitType committype, VaultDateTime dateImport, Int32 nUserIDImport, Int64& nRevID, Int32[]& retBegEndTx)
at VaultClientOperationsLib.ClientInstance.Commit(ChangeSetItemColl givenItems, Boolean keepCheckedOut, Boolean removeLocalCopy, CommitType committype, VaultDateTime dateImport, Int32 nUserIDImport, Int64& nRevID)
at VaultClientOperationsLib.ClientInstance.Commit(ChangeSetItemColl givenItems, Boolean keepCheckedOut, Boolean removeLocalCopy)
at VaultClientOperationsLib.ClientInstance.Commit(ChangeSetItemColl changeSetItems)
at VaultClientPresentationLib.GUIClientInstance.ShareLabelItem(VaultLabelItemX labelItem, Form dialogOwner)
at VaultClientPresentationLib.GUIClientThread.ProcessCommand(GUIClientThreadCommand command, GUIClientThreadCommandResult& outputResult)
We've cleared the cache from the GUI, completely cleared the cache by deleting the Fortress_1 folder, and also restarted IIS but the problem remains and can be replicated on more than one machine. However, we can share the folder and then pin the share manually at the required label point.