You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Jake Brownell <ja...@Benetech.org> on 2009/11/13 03:26:22 UTC
NPE when trying to view a specific document via Luke
Hi,
I'm seeing this stack trace when I try to view a specific document, e.g. /admin/luke?id=1 but luke appears to be working correctly when I just view /admin/luke. Does this look familiar to anyone? Our sysadmin just upgraded us to the 1.4 release, I'm not sure if this occurred before that.
Thanks,
Jake
1. java.lang.NullPointerException
2. at org.apache.lucene.index.TermBuffer.set(TermBuffer.java:95)
3. at org.apache.lucene.index.SegmentTermEnum.scanTo(SegmentTermEnum.java:158)
4. at org.apache.lucene.index.TermInfosReader.get(TermInfosReader.java:232)
5. at org.apache.lucene.index.TermInfosReader.get(TermInfosReader.java:179)
6. at org.apache.lucene.index.SegmentReader.docFreq(SegmentReader.java:975)
7. at org.apache.lucene.index.DirectoryReader.docFreq(DirectoryReader.java:627)
8. at org.apache.solr.search.SolrIndexReader.docFreq(SolrIndexReader.java:308)
9. at org.apache.solr.handler.admin.LukeRequestHandler.getDocumentFieldsInfo(LukeRequestHandler.java:248)
10. at org.apache.solr.handler.admin.LukeRequestHandler.handleRequestBody(LukeRequestHandler.java:124)
11. at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
12. at org.apache.solr.core.SolrCore.execute(SolrCore.java:1316)
13. at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338)
14. at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:241)
15. at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:76)
16. at com.caucho.server.cache.CacheFilterChain.doFilter(CacheFilterChain.java:158)
17. at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:178)
18. at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:241)
19. at com.caucho.server.hmux.HmuxRequest.handleRequest(HmuxRequest.java:435)
20. at com.caucho.server.port.TcpConnection.run(TcpConnection.java:586)
21. at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:690)
22. at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:612)
23. at java.lang.Thread.run(Thread.java:619)
24.
25. Date: Fri, 13 Nov 2009 02:19:54 GMT
26. Server: Apache/2.2.3 (Red Hat)
27. Cache-Control: no-cache, no-store
28. Pragma: no-cache
29. Expires: Sat, 01 Jan 2000 01:00:00 GMT
30. Content-Type: text/html; charset=UTF-8
31. Vary: Accept-Encoding,User-Agent
32. Content-Encoding: gzip
33. Content-Length: 1066
34. Connection: close
35.
Re: NPE when trying to view a specific document via Luke
Posted by Solr Trey <so...@gmail.com>.
I played around with it and am also getting a NullPointerException on Solr
1.4, as well (albeit with a slightly different dump). Some of my documents
actually return, FYI, just not all. I'm on a on a multi-solr-core system
searching /solr/core1/admin/luke?id=MYID. My Exception looked different,
than Jake's, though:
HTTP Status 500 - null java.lang.NullPointerException at
org.apache.lucene.index.Term.compareTo(Term.java:119) at
org.apache.lucene.index.TermInfosReader.getIndexOffset(TermInfosReader.java:160)
at org.apache.lucene.index.TermInfosReader.get(TermInfosReader.java:231) at
org.apache.lucene.index.TermInfosReader.get(TermInfosReader.java:179) at
org.apache.lucene.index.SegmentReader.docFreq(SegmentReader.java:975) at
org.apache.lucene.index.DirectoryReader.docFreq(DirectoryReader.java:627) at
org.apache.solr.search.SolrIndexReader.docFreq(SolrIndexReader.java:308) at
org.apache.solr.handler.admin.LukeRequestHandler.getDocumentFieldsInfo(LukeRequestHandler.java:248)
at
org.apache.solr.handler.admin.LukeRequestHandler.handleRequestBody(LukeRequestHandler.java:124)
at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1316) at
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:241)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:619)
On Thu, Nov 12, 2009 at 9:26 PM, Jake Brownell <ja...@benetech.org> wrote:
> Hi,
>
> I'm seeing this stack trace when I try to view a specific document, e.g.
> /admin/luke?id=1 but luke appears to be working correctly when I just view
> /admin/luke. Does this look familiar to anyone? Our sysadmin just upgraded
> us to the 1.4 release, I'm not sure if this occurred before that.
>
> Thanks,
> Jake
>
> 1. java.lang.NullPointerException
> 2. at org.apache.lucene.index.TermBuffer.set(TermBuffer.java:95)
> 3. at
> org.apache.lucene.index.SegmentTermEnum.scanTo(SegmentTermEnum.java:158)
> 4. at
> org.apache.lucene.index.TermInfosReader.get(TermInfosReader.java:232)
> 5. at
> org.apache.lucene.index.TermInfosReader.get(TermInfosReader.java:179)
> 6. at
> org.apache.lucene.index.SegmentReader.docFreq(SegmentReader.java:975)
> 7. at
> org.apache.lucene.index.DirectoryReader.docFreq(DirectoryReader.java:627)
> 8. at
> org.apache.solr.search.SolrIndexReader.docFreq(SolrIndexReader.java:308)
> 9. at
> org.apache.solr.handler.admin.LukeRequestHandler.getDocumentFieldsInfo(LukeRequestHandler.java:248)
> 10. at
> org.apache.solr.handler.admin.LukeRequestHandler.handleRequestBody(LukeRequestHandler.java:124)
> 11. at
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
> 12. at org.apache.solr.core.SolrCore.execute(SolrCore.java:1316)
> 13. at
> org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338)
> 14. at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:241)
> 15. at
> com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:76)
> 16. at
> com.caucho.server.cache.CacheFilterChain.doFilter(CacheFilterChain.java:158)
> 17. at
> com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:178)
> 18. at
> com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:241)
> 19. at
> com.caucho.server.hmux.HmuxRequest.handleRequest(HmuxRequest.java:435)
> 20. at
> com.caucho.server.port.TcpConnection.run(TcpConnection.java:586)
> 21. at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:690)
> 22. at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:612)
> 23. at java.lang.Thread.run(Thread.java:619)
> 24.
> 25. Date: Fri, 13 Nov 2009 02:19:54 GMT
> 26. Server: Apache/2.2.3 (Red Hat)
> 27. Cache-Control: no-cache, no-store
> 28. Pragma: no-cache
> 29. Expires: Sat, 01 Jan 2000 01:00:00 GMT
> 30. Content-Type: text/html; charset=UTF-8
> 31. Vary: Accept-Encoding,User-Agent
> 32. Content-Encoding: gzip
> 33. Content-Length: 1066
> 34. Connection: close
> 35.
>
Re: NPE when trying to view a specific document via Luke
Posted by Chris Hostetter <ho...@fucit.org>.
: I think thats the case - I'm not seeing the problem - though I didn't
: follow your steps exactly, because I also set the data dir.
yeah ... i went back and tested again and verified that's what was
happening.
There is a bug with Luke when viewing "binary" based fields
introduced in Solr 1.4 (like the new Trie fields) which yonik has fixed in
SOLR-1563 but i can't trigger any similar problems when using an existing
1.3 schema and/or index.
-Hoss
Re: NPE when trying to view a specific document via Luke
Posted by Mark Miller <ma...@gmail.com>.
Chris Hostetter wrote:
> : expected (not optimal... but an index/schema mismatch). If you're
> : using the 1.3 configs in 1.4 and getting an exception... that would be
> : very bad. Is that the case?
>
> as far as i can tell: yes. running 1.4 with the 1.3 example configs and
> an existing 1.3 index seems to be an instant NPE...
>
> https://issues.apache.org/jira/browse/SOLR-1563?focusedCommentId=12777790&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_12777790
>
> ...oh crap. wait a minute ... i'm not on a computer where i can test
> this, but was i geting bit by the same "dataDir in example configs is
> relative the working directory" bug?
>
> that would be freaking embarassing.
>
I think thats the case - I'm not seeing the problem - though I didn't
follow your steps exactly, because I also set the data dir.
> (i think we definitely still have a problem with /admin/luke in 1.4 -- i
> was able to trigger that using the just 1.4 and teh 1.4 sample configs --
> but i think my concern about upgrading from 1.3 may be a red herring)
>
Okay, just flipped the data dir to 1.4 (keeping solr.home on 1.3) and I
see the nullpointer - so looks like that was your issue.
>
>
>
> -Hoss
>
>
Re: NPE when trying to view a specific document via Luke
Posted by Chris Hostetter <ho...@fucit.org>.
: expected (not optimal... but an index/schema mismatch). If you're
: using the 1.3 configs in 1.4 and getting an exception... that would be
: very bad. Is that the case?
as far as i can tell: yes. running 1.4 with the 1.3 example configs and
an existing 1.3 index seems to be an instant NPE...
https://issues.apache.org/jira/browse/SOLR-1563?focusedCommentId=12777790&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_12777790
...oh crap. wait a minute ... i'm not on a computer where i can test
this, but was i geting bit by the same "dataDir in example configs is
relative the working directory" bug?
that would be freaking embarassing.
(i think we definitely still have a problem with /admin/luke in 1.4 -- i
was able to trigger that using the just 1.4 and teh 1.4 sample configs --
but i think my concern about upgrading from 1.3 may be a red herring)
-Hoss
Re: NPE when trying to view a specific document via Luke
Posted by Yonik Seeley <yo...@lucidimagination.com>.
On Fri, Nov 13, 2009 at 8:05 PM, Chris Hostetter
<ho...@fucit.org> wrote:
> : I tied to reproduce this in 1.4 using an index/configs created with 1.3,
> : but i got a *different* NPE when loading this url...
>
> I should have tried a simpler test ... iget NPE's just trying to execute
> a simple search for *:* when i try to use the example index built
> in 1.3 (with the 1.3 configs) in 1.4.
If you're using the 1.4 configs while querying the 1.3 index, this is
expected (not optimal... but an index/schema mismatch). If you're
using the 1.3 configs in 1.4 and getting an exception... that would be
very bad. Is that the case?
-Yonik
http://www.lucidimagination.com
Re: NPE when trying to view a specific document via Luke
Posted by Chris Hostetter <ho...@fucit.org>.
: I tied to reproduce this in 1.4 using an index/configs created with 1.3,
: but i got a *different* NPE when loading this url...
I should have tried a simpler test ... iget NPE's just trying to execute
a simple search for *:* when i try to use the example index built
in 1.3 (with the 1.3 configs) in 1.4. same (apparent) cause: code is
attempting to deref a string returned by Fieldable.stringValue() which is
null...
java.lang.NullPointerException
at org.apache.solr.schema.SortableIntField.write(SortableIntField.java:72)
at org.apache.solr.schema.SchemaField.write(SchemaField.java:108)
at org.apache.solr.request.XMLWriter.writeDoc(XMLWriter.java:311)
at org.apache.solr.request.XMLWriter$3.writeDocs(XMLWriter.java:483)
at org.apache.solr.request.XMLWriter.writeDocuments(XMLWriter.java:420)
at org.apache.solr.request.XMLWriter.writeDocList(XMLWriter.java:457)
at org.apache.solr.request.XMLWriter.writeVal(XMLWriter.java:520)
at org.apache.solr.request.XMLWriter.writeResponse(XMLWriter.java:130)
at org.apache.solr.request.XMLResponseWriter.write(XMLResponseWriter.java:34)
at org.apache.solr.servlet.SolrDispatchFilter.writeResponse(SolrDispatchFilter.java:325)
This really does smell like something in Lucene changed behavior
drasticly. I've been looking at diffs from java/trunk@691741 and
java/tags/lucene_2_9_1 but nothing jumps out at me that would explain
this.
If nothing else, i'm opening a solr issue...
-Hoss
Re: NPE when trying to view a specific document via Luke
Posted by Chris Hostetter <ho...@fucit.org>.
: > FWIW: I was able to reproduce this using the example setup (i picked a
: > doc id at random) �suspecting it was a bug in docFreq
:
: Probably just a null being passed in the text part of the term.
: I bet Luke expects all field values to be strings, but some are binary.
I'm not sure i follow you ... i think you saying that naive assumptions in
the LukeRequestHandler could result in it asking for the docFreq of a term
that has a null string value because some field types are binary, except
that...
1) 1.3 didn't have this problem
2) LukeRequestHandler.getDocumentFieldsInfo didn't change from 1.3 to 1.4
I tied to reproduce this in 1.4 using an index/configs created with 1.3,
but i got a *different* NPE when loading this url...
http://localhost:8983/solr/admin/luke?id=SP2514N
SEVERE: java.lang.NullPointerException
at org.apache.solr.util.NumberUtils.SortableStr2int(NumberUtils.java:127)
at org.apache.solr.util.NumberUtils.SortableStr2float(NumberUtils.java:83)
at org.apache.solr.util.NumberUtils.SortableStr2floatStr(NumberUtils.java:89)
at org.apache.solr.schema.SortableFloatField.indexedToReadable(SortableFloatField.java:62)
at org.apache.solr.schema.SortableFloatField.toExternal(SortableFloatField.java:53)
at org.apache.solr.handler.admin.LukeRequestHandler.getDocumentFieldsInfo(LukeRequestHandler.java:245)
...all three of these stack traces seem to suggest that some imple of
Fieldable.stringValue in 2.9 is returning null in cases where it returned
*something* else in the 2.4-dev jar used by Solr 1.3.
That seems like it could have other impacts besides LukeRequestHandler.
-Hoss
Re: NPE when trying to view a specific document via Luke
Posted by Yonik Seeley <yo...@lucidimagination.com>.
On Fri, Nov 13, 2009 at 5:41 PM, Chris Hostetter
<ho...@fucit.org> wrote:
> : I'm seeing this stack trace when I try to view a specific document, e.g.
> : /admin/luke?id=1 but luke appears to be working correctly when I just
>
> FWIW: I was able to reproduce this using the example setup (i picked a
> doc id at random) suspecting it was a bug in docFreq
Probably just a null being passed in the text part of the term.
I bet Luke expects all field values to be strings, but some are binary.
-Yonik
http://www.lucidimagination.com
Re: NPE when trying to view a specific document via Luke
Posted by Chris Hostetter <ho...@fucit.org>.
: I'm seeing this stack trace when I try to view a specific document, e.g.
: /admin/luke?id=1 but luke appears to be working correctly when I just
FWIW: I was able to reproduce this using the example setup (i picked a
doc id at random) suspecting it was a bug in docFreq when using multiple
segments, i tried optimizing and still got an NPE, but then my entire
computer crashed (unrelated) before i could look any deeper.
I have to go out now, but i'll try to dig into this more when i get back
... given where it happens in the code, it seems like a potentially
serious lucene bug (either that: or LukeRequestHandler is doing something
it really shouldn't be, but i can't imagine how it could trigger an NPE
that deep in the lucene code)
: view /admin/luke. Does this look familiar to anyone? Our sysadmin just
: upgraded us to the 1.4 release, I'm not sure if this occurred before
: that.
:
: Thanks,
: Jake
:
: 1. java.lang.NullPointerException
: 2. at org.apache.lucene.index.TermBuffer.set(TermBuffer.java:95)
: 3. at org.apache.lucene.index.SegmentTermEnum.scanTo(SegmentTermEnum.java:158)
: 4. at org.apache.lucene.index.TermInfosReader.get(TermInfosReader.java:232)
: 5. at org.apache.lucene.index.TermInfosReader.get(TermInfosReader.java:179)
: 6. at org.apache.lucene.index.SegmentReader.docFreq(SegmentReader.java:975)
: 7. at org.apache.lucene.index.DirectoryReader.docFreq(DirectoryReader.java:627)
: 8. at org.apache.solr.search.SolrIndexReader.docFreq(SolrIndexReader.java:308)
: 9. at org.apache.solr.handler.admin.LukeRequestHandler.getDocumentFieldsInfo(LukeRequestHandler.java:248)
: 10. at org.apache.solr.handler.admin.LukeRequestHandler.handleRequestBody(LukeRequestHandler.java:124)
: 11. at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
: 12. at org.apache.solr.core.SolrCore.execute(SolrCore.java:1316)
: 13. at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338)
: 14. at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:241)
: 15. at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:76)
: 16. at com.caucho.server.cache.CacheFilterChain.doFilter(CacheFilterChain.java:158)
: 17. at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:178)
: 18. at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:241)
: 19. at com.caucho.server.hmux.HmuxRequest.handleRequest(HmuxRequest.java:435)
: 20. at com.caucho.server.port.TcpConnection.run(TcpConnection.java:586)
: 21. at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:690)
: 22. at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:612)
: 23. at java.lang.Thread.run(Thread.java:619)
: 24.
: 25. Date: Fri, 13 Nov 2009 02:19:54 GMT
: 26. Server: Apache/2.2.3 (Red Hat)
: 27. Cache-Control: no-cache, no-store
: 28. Pragma: no-cache
: 29. Expires: Sat, 01 Jan 2000 01:00:00 GMT
: 30. Content-Type: text/html; charset=UTF-8
: 31. Vary: Accept-Encoding,User-Agent
: 32. Content-Encoding: gzip
: 33. Content-Length: 1066
: 34. Connection: close
: 35.
:
-Hoss