lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas D (JIRA)" <>
Subject [jira] [Commented] (LUCENENET-554) Crash using the search function
Date Sun, 28 Jun 2015 14:32:04 GMT


Thomas D commented on LUCENENET-554:

It looks like R10 is point to a proper jump table:

0x00007FFF858ABC20  00007fffdbb11bf0 00007fffdbb1ca00 00007fffdbb1ee40  ð.±Ûÿ....ʱÛÿ...@î±Ûÿ...
0x00007FFF858ABC38  00007fffdbb1c7e0 00007fffdc3ddcb0 00007fffdbb10670  àDZÛÿ...°Ü=Üÿ...p.±Ûÿ...
0x00007FFF858ABC50  00007fffdbb4d810 00007fff85941330 00007fff8574dc00  .Ø´Ûÿ...0.”.ÿ....Üt.ÿ...
0x00007FFF858ABC68  00007fff8574dc08 00007fff8574dc10 00007fff8574dc18  .Üt.ÿ....Üt.ÿ....Üt.ÿ...
0x00007FFF858ABC80  00007fff8574dc20 00007fff859418d0 00007fff8574dc30   Üt.ÿ...Ð.”.ÿ...0Üt.ÿ...
0x00007FFF858ABC98  00007fff859413e0 00007fff8574dc40 00007fff8574dc48  à.”.ÿ...@Üt.ÿ...HÜt.ÿ...

R10 + 0x38 points to 0x00007fff85941330, but there is no code at this address, this explain
the error.

What it doesn't explain is what a pointer to an invalid address is doing in the jump table.

> Crash using the search function 
> --------------------------------
>                 Key: LUCENENET-554
>                 URL:
>             Project: Lucene.Net
>          Issue Type: Bug
>          Components: .NET API, Lucene.Net Core
>    Affects Versions: Lucene.Net 3.0.3
>         Environment: .NET 4.5.3
>            Reporter: Thomas D
>            Priority: Critical
>              Labels: Crash
> I can repeat the crash with with the following code:
> {code:java}
> Document.Add(new NumericField("TimeStamp", Field.Store.YES, true).SetLongValue(Data.TimeStamp.ToBinary()));
> {code}
> And I have the following query:
> {code:java}
> var Sort = new Sort(new SortField("TimeStamp", SortField.LONG, true));
>         var ParsedQuery = ParseQuery(_Parser, SearchQuery);
>         var Filter = new QueryWrapperFilter(ParsedQuery);
>         var Hits = _Searcher.Search(ParsedQuery, Filter, Skip + Limit, Sort);
> {code}
> But it crashes when executing the search method with the following:
> {noformat}
> A first chance exception of type 'Lucene.Net.QueryParsers.QueryParser.LookaheadSuccess'
occurred in Lucene.Net.dll
> A first chance exception of type 'System.IO.IOException' occurred in Lucene.Net.dll
> A first chance exception of type 'System.IO.IOException' occurred in Lucene.Net.dll
> A first chance exception of type 'System.AccessViolationException' occurred in HDIndexing.dll
> Additional information: Attempted to read or write protected memory. This is often an
indication that other memory is corrupt.
> {noformat}
> The weird thing is that when executing this code:
> {code:java}
> var Hits = _Searcher.Search(ParsedQuery, null, Skip + Limit, Sort.RELEVANCE);
> var SortSetting = Sort.RELEVANCE;
> var Hits0 = _Searcher.Search(ParsedQuery, null, Skip + Limit, SortSetting);
> {code}
> The first call doesn't crash, but the second one does.
> When looking at the disassembly, the crash happens when calling the search method (
> I made a video illustrating the problem:

This message was sent by Atlassian JIRA

View raw message