It's all about the answers!

Ask a question

Error when loading/unloading/creating/removing user workspace


Joseph Nelson (19258) | asked Oct 19 '12, 1:01 p.m.
Configuration info:
Rational Team Concert v4.0.0.1
Eclipse client, running on Windows 7 x64

We are seeing repeated "negative positon" error messages in Eclipse w/RTC plug when performing operations on work spaces.

This appears whenever one of our users attempts to perform any work space operation (ie: Load component, unload component, remove work space, create work space):

The following errors are in the client log:

!ENTRY org.eclipse.core.jobs 4 2 2012-10-18 15:24:04.475
!MESSAGE An internal error occurred during: "Saving inverse metadata".
!STACK 0
java.lang.IllegalArgumentException: Negative position
at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:600)
at com.ibm.team.internal.repository.rcp.util.FileChannelUtil.readFully(FileChannelUtil.java:69)
at com.ibm.team.internal.repository.rcp.dbhm.BTree.readFully(BTree.java:304)
at com.ibm.team.internal.repository.rcp.dbhm.BTree$BTreeNode.readNode(BTree.java:393)
at com.ibm.team.internal.repository.rcp.dbhm.BTree$BTreeNode.<init>(BTree.java:330)
at com.ibm.team.internal.repository.rcp.dbhm.BTree.getNode(BTree.java:259)
at com.ibm.team.internal.repository.rcp.dbhm.BTree.insert(BTree.java:208)
at com.ibm.team.internal.repository.rcp.dbhm.BTreeHeap.addToFree(BTreeHeap.java:266)
at com.ibm.team.internal.repository.rcp.dbhm.BTreeHeap.doFree(BTreeHeap.java:379)
at com.ibm.team.internal.repository.rcp.dbhm.BTreeHeap.free(BTreeHeap.java:283)
at com.ibm.team.filesystem.client.internal.PersistentHeapManager$AutoClosingPersistentFileHeap.free(PersistentHeapManager.java:128)
at com.ibm.team.internal.repository.rcp.dbhm.DiskBackedHashMap.freeObject(DiskBackedHashMap.java:407)
at com.ibm.team.internal.repository.rcp.dbhm.DiskBackedHashMap$Entry.setValue(DiskBackedHashMap.java:972)
at com.ibm.team.internal.repository.rcp.dbhm.CachedDiskBackedHashMap$CachedEntry.flush(CachedDiskBackedHashMap.java:391)
at com.ibm.team.internal.repository.rcp.dbhm.CachedDiskBackedHashMap.flushEntry(CachedDiskBackedHashMap.java:197)
at com.ibm.team.internal.repository.rcp.dbhm.CachedDiskBackedHashMap.flushCache(CachedDiskBackedHashMap.java:165)
at com.ibm.team.internal.repository.rcp.dbhm.PersistentDiskBackedHashMap.persist(PersistentDiskBackedHashMap.java:170)
at com.ibm.team.filesystem.client.internal.AsyncSavePDBHMJob.run(AsyncSavePDBHMJob.java:65)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

Additionally, we can also see this error from time to time:

!ENTRY com.ibm.team.filesystem.client 4 0 2012-10-18 15:24:42.202
!MESSAGE Error closing metadata store
!STACK 0
com.ibm.team.filesystem.client.FileSystemException: Error closing metadata store
at com.ibm.team.filesystem.client.internal.core.SharingMetadata2.close(SharingMetadata2.java:2437)
at com.ibm.team.filesystem.client.internal.operations.RebuildCFAOperation.execute(RebuildCFAOperation.java:288)
at com.ibm.team.filesystem.client.internal.operations.FileSystemOperation.run(FileSystemOperation.java:89)
at com.ibm.team.internal.filesystem.ui.corruption.RebuildCFAJob.repair(RebuildCFAJob.java:368)
at com.ibm.team.internal.filesystem.ui.corruption.RebuildCFAJob.doRun(RebuildCFAJob.java:269)
at com.ibm.team.internal.filesystem.ui.corruption.RebuildCFAJob.run(RebuildCFAJob.java:208)
at com.ibm.team.internal.filesystem.ui.corruption.RebuildCFAJob$5$1.run(RebuildCFAJob.java:194)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: com.ibm.team.internal.repository.rcp.dbhm.DBHMException: java.lang.IllegalStateException
at com.ibm.team.internal.repository.rcp.dbhm.PersistentDiskBackedHashMap.close(PersistentDiskBackedHashMap.java:153)
at com.ibm.team.filesystem.client.internal.Store.close(Store.java:59)
at com.ibm.team.filesystem.client.internal.core.SharingMetadata2.close(SharingMetadata2.java:2410)
... 7 more
Caused by: java.lang.IllegalStateException
at com.ibm.team.internal.repository.rcp.dbhm.BTreeHeap.doFree(BTreeHeap.java:312)
at com.ibm.team.internal.repository.rcp.dbhm.BTreeHeap.free(BTreeHeap.java:283)
at com.ibm.team.filesystem.client.internal.PersistentHeapManager$AutoClosingPersistentFileHeap.free(PersistentHeapManager.java:128)
at com.ibm.team.internal.repository.rcp.dbhm.DiskBackedHashMap.freeObject(DiskBackedHashMap.java:407)
at com.ibm.team.internal.repository.rcp.dbhm.DiskBackedHashMap$Entry.setValue(DiskBackedHashMap.java:972)
at com.ibm.team.internal.repository.rcp.dbhm.CachedDiskBackedHashMap$CachedEntry.flush(CachedDiskBackedHashMap.java:391)
at com.ibm.team.internal.repository.rcp.dbhm.CachedDiskBackedHashMap.flushEntry(CachedDiskBackedHashMap.java:197)
at com.ibm.team.internal.repository.rcp.dbhm.CachedDiskBackedHashMap.flushCache(CachedDiskBackedHashMap.java:165)
at com.ibm.team.internal.repository.rcp.dbhm.PersistentDiskBackedHashMap.persist(PersistentDiskBackedHashMap.java:170)
at com.ibm.team.internal.repository.rcp.dbhm.PersistentDiskBackedHashMap.close(PersistentDiskBackedHashMap.java:144)
... 9 more

And attempting to repair metadata results in:

!ENTRY com.ibm.team.filesystem.ide.ui 4 0 2012-10-18 15:24:42.265
!MESSAGE Unexpected error during repair.
!STACK 0
com.ibm.team.filesystem.client.FileSystemException: Error closing metadata store
at com.ibm.team.filesystem.client.internal.core.SharingMetadata2.close(SharingMetadata2.java:2437)
at com.ibm.team.filesystem.client.internal.operations.RebuildCFAOperation.execute(RebuildCFAOperation.java:288)
at com.ibm.team.filesystem.client.internal.operations.FileSystemOperation.run(FileSystemOperation.java:89)
at com.ibm.team.internal.filesystem.ui.corruption.RebuildCFAJob.repair(RebuildCFAJob.java:368)
at com.ibm.team.internal.filesystem.ui.corruption.RebuildCFAJob.doRun(RebuildCFAJob.java:269)
at com.ibm.team.internal.filesystem.ui.corruption.RebuildCFAJob.run(RebuildCFAJob.java:208)
at com.ibm.team.internal.filesystem.ui.corruption.RebuildCFAJob$5$1.run(RebuildCFAJob.java:194)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: com.ibm.team.internal.repository.rcp.dbhm.DBHMException: java.lang.IllegalStateException
at com.ibm.team.internal.repository.rcp.dbhm.PersistentDiskBackedHashMap.close(PersistentDiskBackedHashMap.java:153)
at com.ibm.team.filesystem.client.internal.Store.close(Store.java:59)
at com.ibm.team.filesystem.client.internal.core.SharingMetadata2.close(SharingMetadata2.java:2410)
... 7 more
Caused by: java.lang.IllegalStateException
at com.ibm.team.internal.repository.rcp.dbhm.BTreeHeap.doFree(BTreeHeap.java:312)
at com.ibm.team.internal.repository.rcp.dbhm.BTreeHeap.free(BTreeHeap.java:283)
at com.ibm.team.filesystem.client.internal.PersistentHeapManager$AutoClosingPersistentFileHeap.free(PersistentHeapManager.java:128)
at com.ibm.team.internal.repository.rcp.dbhm.DiskBackedHashMap.freeObject(DiskBackedHashMap.java:407)
at com.ibm.team.internal.repository.rcp.dbhm.DiskBackedHashMap$Entry.setValue(DiskBackedHashMap.java:972)
at com.ibm.team.internal.repository.rcp.dbhm.CachedDiskBackedHashMap$CachedEntry.flush(CachedDiskBackedHashMap.java:391)
at com.ibm.team.internal.repository.rcp.dbhm.CachedDiskBackedHashMap.flushEntry(CachedDiskBackedHashMap.java:197)
at com.ibm.team.internal.repository.rcp.dbhm.CachedDiskBackedHashMap.flushCache(CachedDiskBackedHashMap.java:165)
at com.ibm.team.internal.repository.rcp.dbhm.PersistentDiskBackedHashMap.persist(PersistentDiskBackedHashMap.java:170)
at com.ibm.team.internal.repository.rcp.dbhm.PersistentDiskBackedHashMap.close(PersistentDiskBackedHashMap.java:144)
... 9 more

Any suggestions? I can't find any articles related to "negative position" errors.

Comments
Karl Weinert commented Oct 20 '12, 8:33 a.m.
JAZZ DEVELOPER

I found a few hits on google for java.lang.IllegalArgumentException: Negative position and they all seemed related to the size of the data. How big are your workspaces? What version of eclipse are you using? Are there any java cores? You can look for these in the same directory as the eclipse executable and sometimes in c:\windows or c:\windows\system32


Joseph Nelson commented Oct 30 '12, 6:07 p.m.

Thanks for the reply Karl. there is nothing exceptional about the RTC workspace size, it is actually quite small, totally 20mb across a couple thousand files.


Eclipse Platform

Version: 3.6.2.r362_v20110210-9gF78Gs1FrIGnHDHWkEcopoN8AmxeZflGDGKQi
Build id: M20110210-1200

Rational Team Concert

Version: 4.0.0.1
Build id: RTC-I20120911-1740

JAVA JRE6 (Java Platform SE 6 U30)

Accepted answer


permanent link
Josh Crawford (984515) | answered Mar 04 '13, 7:00 p.m.
I was working with a client who was seeing this exception using an Oracle 1.6 JRE.  As a test we started the jbe with a -vm arg pointing to the JRE that ships with RTC and this exception went away.  The RTC version in use was 3011.
Joseph Nelson selected this answer as the correct answer

Comments
Joseph Nelson commented Feb 24 '14, 4:28 p.m.

This was the solution we used to resolve this issue. Just following up to give due credit.

2 other answers



permanent link
Chris McGee (50511117) | answered Oct 30 '12, 9:32 a.m.
FORUM MODERATOR / JAZZ DEVELOPER
The error seems to suggest some kind of persistent data corruption problem on the filesystem where the sandbox is being stored. Try again with another filesystem or disk drive and see if the problem persists.

Comments
Joseph Nelson commented Oct 30 '12, 6:08 p.m.

We tried to find a file corruption issue, but could not determine the cause. Moreover, if we made a new workspace on another drive, it also suffered the same problem.


Chris McGee commented Nov 04 '12, 7:36 a.m.
FORUM MODERATOR / JAZZ DEVELOPER

Are you using the version of the Java that comes with RTC or some other version that is installed on the system?


permanent link
William Campbell (6) | answered Dec 24 '13, 5:15 a.m.
I too had this problem and like Josh had fixed it by changing the JRE used by Eclipse. This also allowed the repair to work without having to re create the workspace from scratch. I had the problem with RTC 3.1.2 on Eclipse 3.7.1, Eclipse Kepler and Liferay Developer Studio (based on 3.7.2). I was using Oracle JDK jrockit-jdk1.6.0_26-R28.1.4-4.0.1 and the problem went away when I switched to the standard JDK jdk160_14_R27.6.5-32.

Your answer


Register or to post your answer.