apache / apache/lucene

NPE from SegmentTermDocs.<init> from SegmentReader.termDocs [LUCENE-3567]

Open
#4,641 2 comments 0 reactions 0 assignees View on GitHub
affects-version:3.0.3 legacy-jira-priority:Major module:core/index type:bug
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

Occasionally NetBeans IDE users receive an NPE from Lucene 3.0.3 inside Maven Indexer (currently 4.1.2) code:

```Java
java.lang.NullPointerException
at org.apache.lucene.index.SegmentTermDocs.(SegmentTermDocs.java:52)
at org.apache.lucene.index.SegmentReader.termDocs(SegmentReader.java:963)
at org.apache.lucene.index.IndexReader.termDocs(IndexReader.java:813)
at org.apache.lucene.index.SegmentReader.termDocs(SegmentReader.java:956)
at org.apache.lucene.search.TermQuery$TermWeight.scorer(TermQuery.java:74)
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:210)
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:170)
at org.apache.lucene.search.Searcher.search(Searcher.java:98)
at org.apache.lucene.search.Searcher.search(Searcher.java:108)
at org.apache.maven.index.DefaultIndexerEngine.getOldDocument(DefaultIndexerEngine.java:158)
....
```

Working backwards, `parent.core.getTermsReader()` is null, which means `SegmentReaders.CoreReaders.decRef` was called, which means `SegmentReader.doClose` was called, which means `IndexReader.doClose` was called, which I suppose means something called `IndexReader.decRef` prematurely. But plenty of things can call `IndexReader.decRef` and it is not clear how to track down the root cause.

Note that `SegmentReader.termDocs` first calls `ensureOpen()`, which is presumably supposed to ensure that `decRef` had not been called too many times; perhaps this assertion did not work?

Downstream bug, for reference: https://netbeans.org/bugzilla/show_bug.cgi?id=201057

---
Migrated from [LUCENE-3567](https://issues.apache.org/jira/browse/LUCENE-3567) by Jesse Glick, updated Nov 15 2011
Environment:
```
various OS and JRE combos: http://statistics.netbeans.org/exceptions/detail.do?id=180686
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.