[pylucene-dev] NullPointerException in IndexSearcher.search

James Brady rent.lupin.road at gmail.com
Wed Jan 30 18:05:52 PST 2008


Hi,
I'm running PyLucene version 2.2.0-1 (compiled from source) on a 64-bit EC2
instance:
$ uname -a
Linux domU-12-31-39-00-08-41 2.6.16.33-xenU #2 SMP Wed Aug 15 17:27:36 SAST
2007 x86_64 x86_64 x86_64 GNU/Linux

I'm using PyLucene through a modified TurboLucene layer - the following code
is giving me a segfault:
        searcher = IndexSearcher(_get_index_path(language))
...
        try:
            comboQuery = BooleanQuery()
            if query:
                comboQuery.add(parser.parse(query), BooleanClause.Occur.MUST
)
            for filter in filters:
                comboQuery.add(filter.getQuery(), filter.getOccur())

            _log.debug("Executing query: %s -- sort: %s (%s -> %s)" %
                       (comboQuery, sort, start_offset, end_offset))
            hits = searcher.search(comboQuery, sort)

It's the searcher.search line at fault - my code catches a Java
NullPointerException. Here's the gdb output:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1224808768 (LWP 26910)]
0x00002aaaab41a487 in org::apache::lucene::search::IndexSearcher$1::collect
() from /usr/lib64/python2.4/site-packages/_PyLucene.so
(gdb) where
#0  0x00002aaaab41a487 in
org::apache::lucene::search::IndexSearcher$1::collect () from
/usr/lib64/python2.4/site-packages/_PyLucene.so
#1  0x00002aaaab4105fb in org::apache::lucene::search::BooleanScorer2::score
() from /usr/lib64/python2.4/site-packages/_PyLucene.so
#2  0x00002aaaab41a802 in org::apache::lucene::search::IndexSearcher::search
() from /usr/lib64/python2.4/site-packages/_PyLucene.so
#3  0x00002aaaab41a66b in org::apache::lucene::search::IndexSearcher::search
() from /usr/lib64/python2.4/site-packages/_PyLucene.so
#4  0x00002aaaab41a17e in org::apache::lucene::search::Hits::getMoreDocs ()
from /usr/lib64/python2.4/site-packages/_PyLucene.so
#5  0x00002aaaab4248f1 in org::apache::lucene::search::Searcher::search ()
from /usr/lib64/python2.4/site-packages/_PyLucene.so
#6  0x00002aaaab4bb20f in wrap_LucenePackage () from
/usr/lib64/python2.4/site-packages/_PyLucene.so
#7  0x00002b9eba1410a8 in PyEval_EvalFrame () from
/usr/lib64/libpython2.4.so.1.0
#8  0x00002b9eba140a5d in PyEval_EvalFrame () from
/usr/lib64/libpython2.4.so.1.0
#9  0x00002b9eba140a5d in PyEval_EvalFrame () from
/usr/lib64/libpython2.4.so.1.0
#10 0x00002b9eba141e50 in PyEval_EvalCodeEx () from
/usr/lib64/libpython2.4.so.1.0
#11 0x00002b9eba0f8603 in PyClassMethod_New () from
/usr/lib64/libpython2.4.so.1.0
#12 0x00002b9eba0e2140 in PyObject_Call () from
/usr/lib64/libpython2.4.so.1.0
#13 0x00002b9eba0e822f in PyClass_IsSubclass () from
/usr/lib64/libpython2.4.so.1.0
#14 0x00002b9eba0e2140 in PyObject_Call () from
/usr/lib64/libpython2.4.so.1.0
#15 0x00002aaaab4a21d5 in callPython () from
/usr/lib64/python2.4/site-packages/_PyLucene.so
#16 0x00002aaaab49585c in org::osafoundation::util::PythonRunnable::run ()
from /usr/lib64/python2.4/site-packages/_PyLucene.so
#17 0x00002aaaad0bc1b6 in java::lang::Thread::run () from
/usr/lib64/libgcj.so.7rh
#18 0x00002aaaacdc0638 in _Jv_ThreadRun () from /usr/lib64/libgcj.so.7rh
#19 0x00002aaaacdc6ec7 in _Jv_ThreadRegister () from
/usr/lib64/libgcj.so.7rh
#20 0x00002aaaad508f86 in _Jv_strtod_r () from /usr/lib64/libgcj.so.7rh
#21 0x00002b9eba3e62f7 in start_thread () from /lib64/libpthread.so.0
#22 0x00002b9ebad5386d in clone () from /lib64/libc.so.6
#23 0x0000000000000000 in ?? ()

I know 64-bit support is experimental, but does anyone have any suggestions
on how I can work round this?

Thanks!
James
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osafoundation.org/pipermail/pylucene-dev/attachments/20080130/6ebe08e7/attachment.htm


More information about the pylucene-dev mailing list