lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Warren Falk (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (LUCENENET-593) NullReferenceException in Linux
Date Thu, 10 Aug 2017 12:49:00 GMT

    [ https://issues.apache.org/jira/browse/LUCENENET-593?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16121560#comment-16121560
] 

Warren Falk edited comment on LUCENENET-593 at 8/10/17 12:48 PM:
-----------------------------------------------------------------

I was able to reproduce this with the following (which works in Windows but not Linux)

            var store = new RAMDirectory();
            var analyzer = new StandardAnalyzer(LuceneVersion.LUCENE_48);
            var indexWriter = new IndexWriter(store, new IndexWriterConfig(LuceneVersion.LUCENE_48,
analyzer));
            var searcherManager = new SearcherManager(indexWriter, true, null);
            var queryParser = new QueryParser(LuceneVersion.LUCENE_48, "text", analyzer);

            // add a document
            var id = "doc1";
            indexWriter.DeleteDocuments(new Term("id", id));
            indexWriter.AddDocument(new IIndexableField[] { new StringField("id", id, Field.Store.YES),
new TextField("text", "the rain in spain", Field.Store.NO) });

            // find the document
            var query = queryParser.Parse("rain");
            searcherManager.MaybeRefreshBlocking();
            var searcher = searcherManager.Acquire();
            try
            {
                var results = searcher.Search(query, 10);
                foreach (var result in results.ScoreDocs)
                    Console.Write("Result: {0}", searcher.Doc(result.Doc).GetField("id").GetStringValue());
            }
            finally
            {
                searcherManager.Release(searcher);
            }



was (Author: warrenfalk):
I was able to reproduce this with the following (which works in Windows but not Linux)
{{
            var store = new RAMDirectory();
            var analyzer = new StandardAnalyzer(LuceneVersion.LUCENE_48);
            var indexWriter = new IndexWriter(store, new IndexWriterConfig(LuceneVersion.LUCENE_48,
analyzer));
            var searcherManager = new SearcherManager(indexWriter, true, null);
            var queryParser = new QueryParser(LuceneVersion.LUCENE_48, "text", analyzer);

            // add a document
            var id = "doc1";
            indexWriter.DeleteDocuments(new Term("id", id));
            indexWriter.AddDocument(new IIndexableField[] { new StringField("id", id, Field.Store.YES),
new TextField("text", "the rain in spain", Field.Store.NO) });

            // find the document
            var query = queryParser.Parse("rain");
            searcherManager.MaybeRefreshBlocking();
            var searcher = searcherManager.Acquire();
            try
            {
                var results = searcher.Search(query, 10);
                foreach (var result in results.ScoreDocs)
                    Console.Write("Result: {0}", searcher.Doc(result.Doc).GetField("id").GetStringValue());
            }
            finally
            {
                searcherManager.Release(searcher);
            }
}}

> NullReferenceException in Linux
> -------------------------------
>
>                 Key: LUCENENET-593
>                 URL: https://issues.apache.org/jira/browse/LUCENENET-593
>             Project: Lucene.Net
>          Issue Type: Bug
>          Components: Lucene.Net Core
>    Affects Versions: Lucene.Net 4.8.0, Lucene.Net 5.0 PCL
>         Environment: Linux (ubuntu 64 bit, maybe all linux variants)
>            Reporter: Warren Falk
>
> A NullReferenceException on any attempt to query in Linux (ubuntu x64 in my tests)
> I was able to track this down to the following line in Constants.cs
>         {{public static readonly string OS_ARCH = GetEnvironmentVariable("PROCESSOR_ARCHITECTURE",
"x86");}}
> Sure enough, PROCESSOR_ARCHITECTURE is not set by default in ubuntu server x64 and when
I set it, there is no failure.
> I would fix this, but I'm not sure what this value is used for, so I am not sure what
the appropriate behavior should be.  Should we try to find the correct architecture here?
 And what is the correct string, "amd64", "x64", "x86_64"?  Or do we really just want to know
the value of that if it is actually not set, should we leave it blank?  The issue is that
the InfoWriter can't write a null, but it could write an empty string.
> I'll submit a pull request if anyone can tell me what correct behavior should be.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message