3191: consequent searches crash with 'initVM() must be called first' error

bod***@gmai***** (Google Code) (Is this you? Claim this profile.)
Jan. 14, 2014
What version are you running?
ReviewBoard-1.7.20-1.el6.noarch.rpm from epel repo

What's the URL of the page containing the problem?
/r/search/anything

What steps will reproduce the problem?
1. Install reviewboard 1.7.20 either from rpm or with easy_install
2. Build pylucene 3.6
3. enable and build search index
4. try searching any word in the search field


What is the expected output? What do you see instead?
Expected: search results
Actual: 500 internal server error 

What operating system are you using? What browser?
Centos 6.4 x86_64. Firefox 24.0

Please provide any additional information below.
I've tried installing reviewboard on centos6.4 64bit using rpm from epel as well as using easy_install. And when I do consecutive searches I inevitably end up with 500 error.  

The full traceback is as follows: 

[Tue Dec 31 09:48:10.633661 2013] [:error] [pid 27664] ERROR:django.request:Internal Server Error: /r/search/
[Tue Dec 31 09:48:10.633672 2013] [:error] [pid 27664] Traceback (most recent call last):
[Tue Dec 31 09:48:10.633674 2013] [:error] [pid 27664]   File "/usr/local/lib/python2.7/site-packages/Django-1.4.10-py2.7.egg/django/core/handlers/base.py", line 111, in get_response
[Tue Dec 31 09:48:10.633685 2013] [:error] [pid 27664]     response = callback(request, *callback_args, **callback_kwargs)
[Tue Dec 31 09:48:10.633688 2013] [:error] [pid 27664]   File "/usr/local/lib/python2.7/site-packages/ReviewBoard-1.7.20-py2.7.egg/reviewboard/accounts/decorators.py", line 22, in _check
[Tue Dec 31 09:48:10.633690 2013] [:error] [pid 27664]     return view_func(*args, **kwargs)
[Tue Dec 31 09:48:10.633692 2013] [:error] [pid 27664]   File "/usr/local/lib/python2.7/site-packages/ReviewBoard-1.7.20-py2.7.egg/reviewboard/reviews/views.py", line 1420, in search
[Tue Dec 31 09:48:10.633695 2013] [:error] [pid 27664]     store = lucene.FSDirectory.open(lucene.File(index_file))
[Tue Dec 31 09:48:10.633697 2013] [:error] [pid 27664] RuntimeError: initVM() must be called first

By default in centos 6.4 reviewboard is installed with python2.6.
And I've tried to install newer versions of many packages but the problem persists:
openjdk-1.7
python-2.7.3
mod_wsgi-3.4
pylucene-3.6.1
httpd-2.4.3
Reviewboard-1.7.20 (latest)

Thanks,
Bogdan
chipx86
#1 chipx86
PyLucene changes their API basically all the time. You need to have a pretty specific range of versions for it to work, and it still doesn't work well.

I'd avoid it for now. Review Board 2.0, which will have a beta 2 release this week, has a complete rewrite of search that will work out of the box.
  • +Confirmed
david
#2 david
In fact, given that we're replacing the backend entirely, and pylucene bugs are incredibly annoying and difficult to fix in ways that don't regress other people, I think I'm going to say that we're not going to fix bugs in the old backend.
  • -Confirmed
    +WontFix
#3 bod***@gmai***** (Google Code) (Is this you? Claim this profile.)
Thanks for comments guys. Do you have any estimates, when the 2.0 final release will be available?

Thanks,
Bogdan
chipx86
#4 chipx86
It's going to depend on beta 2 feedback. We should be releasing beta 2 today, so you can give that a try when it's announced.