Here is another good lesson, among many that I happened to learn, while working with a customer using IBM Rational Team Concert (RTC). While this may not serve as a supported solution for the issue reported, perhaps it can serve as a pointer or guide on the types of things to look for.
A user starts IBM Rational Team Concert (RTC) Eclipse client and sees that his personal preferences were lost.
RTC Eclipse Client - 4.0.x
I asked user to send metadata.zip file located in the Eclipse workspace path. For example: C:\Users\Administrator\workspace\.metadata
- Here were a few significant messages in the .metadata/.log file:
!ENTRY org.eclipse.core.resources 4 567 2013-04-15 10:48:06.160
!MESSAGE Workspace restored, but some problems occurred.
!SUBENTRY 1 org.eclipse.core.resources 4 567 2013-04-15 10:48:06.160
!MESSAGE Could not read metadata for
at java.io.DataInputStream.readInt(Unknown Source)
at org.eclipse.core.internal.resources.MarkerReader.readVersionNumber(Unknown Source)
at org.eclipse.core.internal.resources.MarkerReader.read(Unknown Source)
at org.eclipse.core.internal.resources.MarkerManager.restoreFromSave(Unknown Source)
at org.eclipse.core.internal.resources.MarkerManager.restore(Unknown Source)
at org.eclipse.core.internal.resources.SaveManager.restoreMarkers(Unknown Source)
at org.eclipse.core.internal.resources.SaveManager.restore(Unknown Source)
at org.eclipse.core.internal.resources.SaveManager.startup(Unknown Source)
at org.eclipse.core.internal.resources.Workspace.startup(Unknown Source)
at org.eclipse.core.internal.resources.Workspace.open(Unknown Source)
at org.eclipse.core.resources.ResourcesPlugin.start(Unknown Source)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(Unknown Source)
Based on the message, it was clear that the user was using a particular workspace and when he tried to launch Eclipse client using this, he sees that his personal preferences were lost.
He tried to start the Eclipse client fresh and saw this issue.
The user did not try to change the workspace of the RTC Eclipse Client prior to this.
I got a confirmation that the user had the default Eclipse installed with RTC client and did not have a separate installation of Eclipse. Just one instance of RTC Eclipse client.
I did verify the total physical RAM on the machine where the user saw this problem and they had enough RAM. (8 GB)
- I wanted to verify the heap memory allocated to the Eclipse client, the details which were in the eclipse.ini file.
Example: For default RTC Eclipse client, the location is:
I wanted to know the values for the entry "-vmargs -Xms100m -Xmx512m" here. They were using the default entry here for the heap memory allocation and was good enough. They had the room to increase this though, since the available physical RAM was 8 GB.
I asked the user to get the build details of the Eclipse client; Go to Help --> About Rational Team Concert. This lists the RTC version along with the build details.
After analyzing the .metadata\.log file and the errors in there, we found that for some reason the preferences were lost due to workspace
corruption. What caused this, I am not aware yet though.
Normally, here are the steps users should try in case of lost preferences and to avoid loss of preferences:
In the Eclipse client, navigate to File --> Switch Workspace --> Choose the current one in use; In the Workspace Launcher --> Copy Settings --> 'select' Workbench Layout; Then point to a new Workspace path and verify the outcome.
The RTC client is built on Eclipse and the user preferences are backed up, like in Eclipse client, by going to File --> Export --> General --> Preferences and saving this file.
In case of any corruption or loss of personal preferences, just import this file to restore the preferences.
Apart, all settings are stored in the .metadata/.plugins/org.eclipse.core.runtime/.settings directory. The .metadata/.plugins directory might have many more directories with settings, but they are generally project specific.
So if you want to create a new Eclipse workspace and preserve all your settings, simply copy the .metadata/.plugins/org.eclipse.core.runtime/.settings directory into your new workspace directory.
- Lastly, it is also a good practice to do a full backup weekly, with corresponding incremental backups daily of the user's workspace. This provided, it's critical for the user to restore their complete previous workspace. Yes, backing up of the workspace is not a light procedure but a good practice, if there is a need.
I hope this gives some idea for users and the steps that can be taken, in case of a similar situation.