After an unsuccesfull call of IndexModifier::addDocument (catched exception "Lock obtain timed out"), IndexModifier destructor causes Accesss violation exception.
This is beacause after unsuccessfull call to addDocument both members indexReader and indexWriter are NULL, but the check of indexReader is missing in IndexModifier::close() method (which is called from destructor): void IndexModifier::close() { SCOPED_LOCK_MUTEX(directory->THIS_LOCK) if (indexWriter != NULL) { indexWriter->close(); _CLDELETE(indexWriter); } else { <<<<<<< Missing: if (indexReader != NULL) indexReader->close(); _CLDELETE(indexReader); } _CLDECDELETE(directory) open = false; } Clucene 0.9.21 on Win XP and MS VC 2005 used ------------------------------------------------------------------------------ ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ CLucene-developers mailing list CLucene-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/clucene-developers