Community
Participate
Working Groups
Build 20020502+ For info, I found the following in the console. This had no consequence as I was still able to do search query. !ENTRY org.eclipse.jdt.core 4 4 Sat May 04 17:30:04 CEST 2002 !MESSAGE Background Indexer Crash Recovery !STACK java.lang.ArrayIndexOutOfBoundsException at org.eclipse.jdt.internal.core.index.impl.WordEntry.mapRefs (WordEntry.java:128) at org.eclipse.jdt.internal.core.index.impl.MergeFactory.mergeReferences (MergeFactory.java:168) at org.eclipse.jdt.internal.core.index.impl.MergeFactory.merge (MergeFactory.java:79) at org.eclipse.jdt.internal.core.index.impl.Index.merge(Index.java:236) at org.eclipse.jdt.internal.core.index.impl.Index.save(Index.java:341) at org.eclipse.jdt.internal.core.search.indexing.IndexManager.saveIndexes (IndexManager.java:408) at org.eclipse.jdt.internal.core.search.indexing.IndexManager.notifyIdle (IndexManager.java:313) at org.eclipse.jdt.internal.core.search.processing.JobManager.run (JobManager.java:302) at java.lang.Thread.run(Thread.java:484) java.lang.ArrayIndexOutOfBoundsException at org.eclipse.jdt.internal.core.index.impl.WordEntry.mapRefs (WordEntry.java:128) at org.eclipse.jdt.internal.core.index.impl.MergeFactory.mergeReferences (MergeFactory.java:168) at org.eclipse.jdt.internal.core.index.impl.MergeFactory.merge (MergeFactory.java:79) at org.eclipse.jdt.internal.core.index.impl.Index.merge(Index.java:236) at org.eclipse.jdt.internal.core.index.impl.Index.save(Index.java:341) at org.eclipse.jdt.internal.core.search.indexing.IndexManager.saveIndexes (IndexManager.java:408) at org.eclipse.jdt.internal.core.search.indexing.IndexManager.notifyIdle (IndexManager.java:313) at org.eclipse.jdt.internal.core.search.processing.JobManager.run (JobManager.java:302) at java.lang.Thread.run(Thread.java:484)
Another instance but in a difference location: !ENTRY org.eclipse.jdt.core 4 4 Mon May 06 18:32:13 CEST 2002 !MESSAGE Background Indexer Crash Recovery !STACK java.lang.ArrayIndexOutOfBoundsException at org.eclipse.jdt.internal.core.index.impl.CodeByteStream.readUnary (CodeByteStream.java:168) at org.eclipse.jdt.internal.core.index.impl.CodeByteStream.readGamma (CodeByteStream.java:107) at org.eclipse.jdt.internal.core.index.impl.GammaCompressedIndexBlock.nextEntry (GammaCompressedIndexBlock.java:90) at org.eclipse.jdt.internal.core.index.impl.BlocksIndexInput.moveToNextWordEntry (BlocksIndexInput.java:176) at org.eclipse.jdt.internal.core.index.impl.MergeFactory.mergeReferences (MergeFactory.java:170) at org.eclipse.jdt.internal.core.index.impl.MergeFactory.merge (MergeFactory.java:79) at org.eclipse.jdt.internal.core.index.impl.Index.merge(Index.java:236) at org.eclipse.jdt.internal.core.index.impl.Index.save(Index.java:341) at org.eclipse.jdt.internal.core.search.indexing.IndexManager.saveIndexes (IndexManager.java:408) at org.eclipse.jdt.internal.core.search.indexing.IndexManager.notifyIdle (IndexManager.java:313) at org.eclipse.jdt.internal.core.search.processing.JobManager.run (JobManager.java:302) at java.lang.Thread.run(Thread.java:484) java.lang.ArrayIndexOutOfBoundsException at org.eclipse.jdt.internal.core.index.impl.CodeByteStream.readUnary (CodeByteStream.java:168) at org.eclipse.jdt.internal.core.index.impl.CodeByteStream.readGamma (CodeByteStream.java:107) at org.eclipse.jdt.internal.core.index.impl.GammaCompressedIndexBlock.nextEntry (GammaCompressedIndexBlock.java:90) at org.eclipse.jdt.internal.core.index.impl.BlocksIndexInput.moveToNextWordEntry (BlocksIndexInput.java:176) at org.eclipse.jdt.internal.core.index.impl.MergeFactory.mergeReferences (MergeFactory.java:170) at org.eclipse.jdt.internal.core.index.impl.MergeFactory.merge (MergeFactory.java:79) at org.eclipse.jdt.internal.core.index.impl.Index.merge(Index.java:236) at org.eclipse.jdt.internal.core.index.impl.Index.save(Index.java:341) at org.eclipse.jdt.internal.core.search.indexing.IndexManager.saveIndexes (IndexManager.java:408) at org.eclipse.jdt.internal.core.search.indexing.IndexManager.notifyIdle (IndexManager.java:313) at org.eclipse.jdt.internal.core.search.processing.JobManager.run (JobManager.java:302) at java.lang.Thread.run(Thread.java:484)
*** Bug 15426 has been marked as a duplicate of this bug. ***
*** Bug 15339 has been marked as a duplicate of this bug. ***
*** Bug 15174 has been marked as a duplicate of this bug. ***
No luck trying to reproduce so far... I've tried changing the installed JRE & replaced jdt.core with every version in the repository... I've saved the workspace afterwards but nothing seems to trigger the walkback yet.
This bug seems to be related to bug 13988.
Defer
Reopening
Clearing resolution
Should be addressed with new implementation...
*** Bug 24682 has been marked as a duplicate of this bug. ***
*** Bug 6455 has been marked as a duplicate of this bug. ***
Version: 2.1 Build id: 200212041234 I was getting a similar error being logged every 12-13 seconds in my log, but with a different stack trace: java.lang.ArrayIndexOutOfBoundsException: 8192 at org.eclipse.jdt.internal.core.index.impl.Field.putInt2(Field.java(Compiled Code)) at org.eclipse.jdt.internal.core.index.impl.FileListBlock.flush (FileListBlock.java:57) at org.eclipse.jdt.internal.core.index.impl.BlocksIndexOutput.flushFiles (BlocksIndexOutput.java:126) at org.eclipse.jdt.internal.core.index.impl.BlocksIndexOutput.addFile (BlocksIndexOutput.java(Compiled Code)) at org.eclipse.jdt.internal.core.index.impl.MergeFactory.mergeFiles (MergeFactory.java(Compiled Code)) at org.eclipse.jdt.internal.core.index.impl.MergeFactory.merge (MergeFactory.java:84) at org.eclipse.jdt.internal.core.index.impl.Index.merge(Index.java:249) at org.eclipse.jdt.internal.core.search.indexing.AddJarFileToIndex.execute (AddJarFileToIndex.java(Compiled Code)) at org.eclipse.jdt.internal.core.search.indexing.AddJarFileToIndex.execute (AddJarFileToIndex.java(Compiled Code)) at org.eclipse.jdt.internal.core.search.processing.JobManager.run (JobManager.java:333) at java.lang.Thread.run(Thread.java:512)
This was also reported on the eclipse-dev mailing list over the holidays. The user was on M4, and the stack trace was: java.lang.ArrayIndexOutOfBoundsException: 8192 at org.eclipse.jdt.internal.core.index.impl.Field.putInt2(Field.java:313) at org.eclipse.jdt.internal.core.index.impl.FileListBlock.flush(FileListBlock.java:57) at org.eclipse.jdt.internal.core.index.impl.BlocksIndexOutput.flushFiles(BlocksIndexOutput.java:126) at org.eclipse.jdt.internal.core.index.impl.BlocksIndexOutput.addFile(BlocksIndexOutput.java:66) at org.eclipse.jdt.internal.core.index.impl.MergeFactory.mergeFiles(MergeFactory.java:142) at org.eclipse.jdt.internal.core.index.impl.MergeFactory.merge(MergeFactory.java:84) at org.eclipse.jdt.internal.core.index.impl.Index.merge(Index.java:249) at org.eclipse.jdt.internal.core.index.impl.Index.save(Index.java:354) at org.eclipse.jdt.internal.core.search.indexing.SaveIndex.execute(SaveIndex.java:47) at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:333) at java.lang.Thread.run(Thread.java:536)
Current behavior is acceptable (with crash recovery). Rewrite of the indexing infrastructure will occur for 2.2
Index infrastructure got rewritten for 3.0. Still a few cases seem to occur where crash recovery is required, but far less than with previous implementation.
reopen
Closing since new infrastructure got implemented. Subsequent issues are to be logged in new defects (such as bug 68189).