Hi,

Running the following test, I hit no AV. If you can make a minified version
of your use-case and send it over, that would help.

I will look at the other issue when I'll have time later. If you or Michael
could send a similar test function demonstrating that issue using the
minimalistic approach that would greatly help.

   void testEmptyStopList(CuTest *tc)
   {
       StandardAnalyzer a((const TCHAR**)_T("\0"));
       RAMDirectory ram;
       IndexWriter writer(&ram, &a, true);
       
       Document doc;
       doc.add(*(_CLNEW lucene::document::Field(
           _T("First"), _T("Blah blah blah"), Field::STORE_YES |
Field::INDEX_TOKENIZED)));
       writer.addDocument(&doc);
       writer.close();

       IndexSearcher searcher(&ram);
       Query* q = QueryParser::parse(_T("blah"), _T("First"), &a);
       Hits* h = searcher.search(q);
       _CLLDELETE(h);
       _CLLDELETE(q);
   }

Itamar. 

-----Original Message-----
From: cel tix44 [mailto:celti...@gmail.com] 
Sent: Thursday, November 05, 2009 5:04 PM
To: clucene-developers@lists.sourceforge.net
Subject: [CLucene-dev] Crash when StandardAnalyzer used with empty stop
list- GIT ba954e917f6ac8d96230b307e7d807ace2ac5c35

Itamar

RE: GIT snapshot "ASCII + misc fixes"
http://clucene.git.sourceforge.net/git/gitweb.cgi?p=clucene/clucene;a=snapsh
ot;h=ba954e917f6ac8d96230b307e7d807ace2ac5c35;sf=tgz

Using: Visual Studio 2008, CMake 2.6.4, ENABLE_ASCII_MODE = True,
DISABLE_MULTITHREADING = True

Problem: Access Violation occurs when using StandardAnalyzer with an empty
stop list.

Unfortunately, it's not easy to reproduce -- it only occurs on certain data
with a certain query, but what's happening, roughly, is this:

1) create StandardAnalyzer with an empty stop list:
    az = _CLNEW lucene::analysis::standard::StandardAnalyzer( (const
TCHAR**)"\0" );
2) index some data
3) run a certain query: h = s->search(q);
4) when MultiLevelSkipListReader::~MultiLevelSkipListReader() is exiting,
ObjectArray->deleteValues() gets invoked and it crashes while looping
through values.
5) the array element that causes the crash points to a memory block filled
with 0xFEEEFEEE
6) looks like this memory has been previously freed.

I'll keep the index and the code that runs the query that results in the
crash in case you or someone else would want to have a look.

Regards
Celto

----------------------------------------------------------------------------
--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus
on what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
CLucene-developers mailing list
CLucene-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/clucene-developers



------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
CLucene-developers mailing list
CLucene-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/clucene-developers

Reply via email to