You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Michael McCandless (JIRA)" <ji...@apache.org> on 2017/01/20 13:54:26 UTC
[jira] [Commented] (LUCENE-7646) AutomatonTermsEnum constructor
throws a NullPointerException with "silly" RegExp
[ https://issues.apache.org/jira/browse/LUCENE-7646?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15831774#comment-15831774 ]
Michael McCandless commented on LUCENE-7646:
--------------------------------------------
Note that you can use \{noformat\} around code blocks here to preserve indendentation.
Can you post the {{NullPointerException}}?
Was this already fixed by LUCENE-7576? Though your "silly" regexp ({{..}}) should have been a {{NORMAL}} case I think?
I turned your code fragment into a test case (will attach patch) and it doesn't hit an NPE ....
> AutomatonTermsEnum constructor throws a NullPointerException with "silly" RegExp
> --------------------------------------------------------------------------------
>
> Key: LUCENE-7646
> URL: https://issues.apache.org/jira/browse/LUCENE-7646
> Project: Lucene - Core
> Issue Type: Bug
> Components: core/index, core/other
> Affects Versions: 6.2, 6.3
> Environment: MacOS
> java version "1.8.0_77"
> Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
> Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)
> Reporter: Tom Mortimer
> Priority: Minor
> Attachments: LUCENE-7646.patch
>
>
> When constructing a AutomatonTermsEnum using a CompiledAutomaton with a "silly" RegExp (".*.*") a NullPointerException is thrown. See code below:
> import java.nio.file.Paths;
> import org.apache.lucene.index.*;
> import org.apache.lucene.store.*;
> import org.apache.lucene.util.automaton.*;
> public class RegExpNPE {
> final static String REGEXP = ".*.*";
> // replace these as appropriate
> final static String INDEX = "../src/test/resources/index";
> final static String FIELD = "text";
> public static void main(String[] args) throws Exception {
> Directory directory = FSDirectory.open(Paths.get(INDEX));
> IndexReader reader = DirectoryReader.open(directory);
> Fields fields = MultiFields.getFields(reader);
> Terms terms = fields.terms(FIELD);
> TermsEnum termsEnum = terms.iterator();
> CompiledAutomaton automaton = new CompiledAutomaton(new RegExp(REGEXP).toAutomaton());
> TermsEnum termsEnum2 = new AutomatonTermsEnum(termsEnum, automaton);
> }
> }
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org