I added MockRAMDirectory ported by Veit into TestRAMDirectory and found following:
1) sizeInBytes members in RAMDirectory and RAMFile aren’t correct, I fixed this somehow, but I’m not sure if it shouldn’t be fixed different way, could anybody look at it 2) MockRAMDirectory::close always throws an exception because segments.gen is in list of open files, no idea if this is a bug in RAMDirectory or MockRAMDirectory 3) Also fixed few things in MockRAMDirectory (Veit, can you look at it in intensive_testing branch?) Borek From: Kostka Bořivoj [mailto:kos...@tovek.cz] Sent: Tuesday, August 10, 2010 10:06 AM To: clucene-developers@lists.sourceforge.net Subject: Re: [CLucene-dev] RAMDirectory testing No, I didn’t catch the problem in testWickedLongTerm yet. Hope I’ll this week Borek From: Itamar Syn-Hershko [mailto:ita...@code972.com] Sent: Monday, August 09, 2010 5:49 PM To: clucene-developers@lists.sourceforge.net Subject: Re: [CLucene-dev] RAMDirectory testing Good catch, thanks. Patch merged to master. Any idea whats wrong with that testWickedLongTerm test yet? Itamar. On 9/8/2010 5:59 PM, Kostka Bořivoj wrote: I foud the problem is in writing NULL at the end of postingsFreeListDW.values. In our case the whole array is used (postingsFreeCountDW == postingsFreeListDW.length) so memset writes after the end of array. When I added simple test before memset (see path), the test works, no heap corruption Borek -----Original Message----- From: Kostka Bořivoj [mailto:kos...@tovek.cz] Sent: Friday, July 30, 2010 4:45 PM To: clucene-developers@lists.sourceforge.net Subject: Re: [CLucene-dev] RAMDirectory testing OK, I'll try to fix this. Borek -----Original Message----- From: Itamar Syn-Hershko [mailto:ita...@code972.com] Sent: Friday, July 30, 2010 1:45 PM To: clucene-developers@lists.sourceforge.net Subject: Re: [CLucene-dev] RAMDirectory testing testRAMDirectorySize doesn't hang - it just crashes with heap corruption. I didn't test with Release build, but I see no reason why this should matter. Here's the stack trace: msvcr80d.dll!free(void * pUserData=0x01560378) Line 1178 + 0xb bytes C++ clucene- cored.dll!lucene::util::ArrayBase<lucene::index::DocumentsWriter::Posting *>::deleteArray() Line 53 + 0xf bytes C++ clucene- cored.dll!lucene::util::ObjectArray<lucene::index::DocumentsWriter::Posting>::deleteU ntilNULL() Line 150 C++ clucene-cored.dll!lucene::index::DocumentsWriter::~DocumentsWriter() Line 129 C++ clucene-cored.dll!lucene::index::DocumentsWriter::`scalar deleting destructor'() + 0x16 bytes C++ clucene-cored.dll!lucene::index::IndexWriter::closeInternal(bool waitForMerges=true) Line 541 + 0x2e bytes C++ clucene-cored.dll!lucene::index::IndexWriter::close(bool waitForMerges=true) Line 480 C++ cl_test.exe!testRAMDirectorySize(CuTest * tc=0x00e4cf40) Line 157 + 0xd bytes C++ The ObjectArray<Posting> is apparently the very same DocumentsWriter.postingsFreeListDW, the issue we thought we solved already. From the quick look I had, it seems as if now the array itself is being deleted twice - probably as a result of a non-locking deletion from another thread. Can you look into it? Itamar. On 28/7/2010 7:02 PM, Kostka Bořivoj wrote: I ported index\store\TestRAMDirectory.java into cl_test with following results - found (and fixed) one trivial bug in RAMDirectory constructor from char * path (setLockFactory was not called) - testRAMDirectorySize (in Debug build) hangs in attempt to report corrupted heap during IndexWriter close method uses intensive multithreaded indexing See intensive_testing branch for source code Borek ------------------------------------------------------------------------------ The Palm PDK Hot Apps Program offers developers who use the Plug-In Development Kit to bring their C/C++ apps to Palm for a share of $1 Million in cash or HP Products. Visit us here for more details: http://p.sf.net/sfu/dev2dev-palm _______________________________________________ CLucene-developers mailing list CLucene-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/clucene-developers ------------------------------------------------------------------------------ The Palm PDK Hot Apps Program offers developers who use the Plug-In Development Kit to bring their C/C++ apps to Palm for a share of $1 Million in cash or HP Products. Visit us here for more details: http://p.sf.net/sfu/dev2dev-palm _______________________________________________ CLucene-developers mailing list CLucene-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/clucene-developers ------------------------------------------------------------------------------ The Palm PDK Hot Apps Program offers developers who use the Plug-In Development Kit to bring their C/C++ apps to Palm for a share of $1 Million in cash or HP Products. Visit us here for more details: http://p.sf.net/sfu/dev2dev-palm _______________________________________________ CLucene-developers mailing list CLucene-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/clucene-developers ------------------------------------------------------------------------------ This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev _______________________________________________ CLucene-developers mailing list CLucene-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/clucene-developers
RAMDirectory.patch
Description: RAMDirectory.patch
------------------------------------------------------------------------------ This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev
_______________________________________________ CLucene-developers mailing list CLucene-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/clucene-developers