MockRAMDirectory already tries to synchronize access to its openFiles HashSet... but it must be missing somewhere.
Mike 2009/5/16 Uwe Schindler <u...@thetaphi.de>: > Hi Earwin, > > As this error occurs directly inside the HashMap and so is Java's code, I > think this is > a) an error in Java's HashMap implementation (haha, unlikely). But I tend to > say, Java's HashMap is correct... > b) missing synchronization around the HashMap, so it is modified at the same > time. So either we should use a Collections.synchronizedMap() here or > somehow control synchronization in a different way. > > Uwe > > ----- > Uwe Schindler > H.-H.-Meier-Allee 63, D-28213 Bremen > http://www.thetaphi.de > eMail: u...@thetaphi.de > >> -----Original Message----- >> From: Earwin Burrfoot [mailto:ear...@gmail.com] >> Sent: Saturday, May 16, 2009 11:10 AM >> To: java-dev@lucene.apache.org >> Subject: Random test failure >> >> Running latest lucene trunk with some patches applied, but they do not >> touch IndexWriter and friends anywhere. >> Happened once, I failed to reproduce it, with and without patches. >> >> Java(TM) SE Runtime Environment (build 1.6.0_07-b06-153) >> Java HotSpot(TM) 64-Bit Server VM (build 1.6.0_07-b06-57, mixed mode) >> >> [junit] Testsuite: org.apache.lucene.index.TestOmitTf >> [junit] Tests run: 5, Failures: 1, Errors: 0, Time elapsed: 0.708 sec >> [junit] >> [junit] ------------- Standard Error ----------------- >> [junit] Exception in thread "Lucene Merge Thread #0" >> org.apache.lucene.index.MergePolicy$MergeException: >> java.lang.ArrayIndexOutOfBoundsException: 36 >> [junit] at >> org.apache.lucene.index.ConcurrentMergeScheduler.handleMergeException(Conc >> urrentMergeScheduler.java:351) >> [junit] at >> org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(Concurren >> tMergeScheduler.java:315) >> [junit] Caused by: java.lang.ArrayIndexOutOfBoundsException: 36 >> [junit] at java.util.HashMap.getEntry(HashMap.java:345) >> [junit] at java.util.HashMap.containsKey(HashMap.java:335) >> [junit] at java.util.HashSet.contains(HashSet.java:184) >> [junit] at >> org.apache.lucene.store.MockRAMDirectory.createOutput(MockRAMDirectory.jav >> a:212) >> [junit] at >> org.apache.lucene.index.FormatPostingsPositionsWriter.<init>(FormatPosting >> sPositionsWriter.java:42) >> [junit] at >> org.apache.lucene.index.FormatPostingsDocsWriter.<init>(FormatPostingsDocs >> Writer.java:55) >> [junit] at >> org.apache.lucene.index.FormatPostingsTermsWriter.<init>(FormatPostingsTer >> msWriter.java:33) >> [junit] at >> org.apache.lucene.index.FormatPostingsFieldsWriter.<init>(FormatPostingsFi >> eldsWriter.java:59) >> [junit] at >> org.apache.lucene.index.SegmentMerger.mergeTerms(SegmentMerger.java:485) >> [junit] at >> org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:140) >> [junit] at >> org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:4808) >> [junit] at >> org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:4425) >> [junit] at >> org.apache.lucene.index.ConcurrentMergeScheduler.doMerge(ConcurrentMergeSc >> heduler.java:235) >> [junit] at >> org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(Concurren >> tMergeScheduler.java:291) >> [junit] ------------- ---------------- --------------- >> [junit] Testcase: testBasic(org.apache.lucene.index.TestOmitTf): > FAILED >> [junit] ConcurrentMergeScheduler hit unhandled exceptions >> [junit] junit.framework.AssertionFailedError: ConcurrentMergeScheduler >> hit unhandled exceptions >> [junit] at >> org.apache.lucene.util.LuceneTestCase.tearDown(LuceneTestCase.java:55) >> [junit] >> [junit] >> [junit] Test org.apache.lucene.index.TestOmitTf FAILED >> >> >> -- >> Kirill Zakharenko/Кирилл Захаренко (ear...@gmail.com) >> Home / Mobile: +7 (495) 683-567-4 / +7 (903) 5-888-423 >> ICQ: 104465785 >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org >> For additional commands, e-mail: java-dev-h...@lucene.apache.org > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org > For additional commands, e-mail: java-dev-h...@lucene.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org For additional commands, e-mail: java-dev-h...@lucene.apache.org