1. Matt Chaput
  2. whoosh
Issue #128 resolved

Testsuite failure

Anonymous created an issue

Spent the evening troubleshooting Django Haystack search problem, and think I have narrowed it down to Whoosh itself.

I just checked out identical copies (784:43c793c2884b) of the Whoosh source code on both my desktop and our staging server. I ran the test suite on both and had failures, but on my desktop only.

Desktop is 64-bit Ubuntu running Python 2.6.6. Server is 32-bit Debian running Python 2.5.2

On desktop: {{{ $ python setup.py test ... ... ... test_highlighting.test_workflow_easy ... ok test_highlighting.test_workflow_manual ... ok test_indexing.test_creation ... ok test_indexing.test_empty_commit ... ok test_indexing.test_multipool ... ok test_indexing.test_multisegwriter ... Process SegmentWritingTask-5: Traceback (most recent call last): File "/usr/lib/python2.6/multiprocessing/process.py", line 232, in _bootstrap self.run() File "/home/leonov/repos/whoosh/src/whoosh/filedb/multiproc.py", line 71, in run self.kwargs) File "/home/leonov/repos/whoosh/src/whoosh/filedb/filewriting.py", line 125, in __init__ raise LockError LockError Process SegmentWritingTask-6: Traceback (most recent call last): File "/usr/lib/python2.6/multiprocessing/process.py", line 232, in _bootstrap self.run() File "/home/leonov/repos/whoosh/src/whoosh/filedb/multiproc.py", line 71, in run self.kwargs) File "/home/leonov/repos/whoosh/src/whoosh/filedb/filewriting.py", line 125, in init raise LockError LockError Process SegmentWritingTask-7: Traceback (most recent call last): File "/usr/lib/python2.6/multiprocessing/process.py", line 232, in _bootstrap self.run() File "/home/leonov/repos/whoosh/src/whoosh/filedb/multiproc.py", line 71, in run self.kwargs) File "/home/leonov/repos/whoosh/src/whoosh/filedb/filewriting.py", line 125, in __init__ raise LockError LockError Process SegmentWritingTask-8: Traceback (most recent call last): File "/usr/lib/python2.6/multiprocessing/process.py", line 232, in _bootstrap self.run() File "/home/leonov/repos/whoosh/src/whoosh/filedb/multiproc.py", line 71, in run self.kwargs) File "/home/leonov/repos/whoosh/src/whoosh/filedb/filewriting.py", line 125, in init raise LockError LockError ^CException TypeError: TypeError("'NoneType' object does not support item deletion",) in <Finalize object, dead> ignored interrupted Error in atexit._run_exitfuncs: Traceback (most recent call last): File "/usr/lib/python2.6/atexit.py", line 24, in _run_exitfuncs func(*targs, kargs) File "/usr/lib/python2.6/multiprocessing/util.py", line 258, in _exit_function info('process shutting down') TypeError: 'NoneType' object is not callable Error in sys.exitfunc: Traceback (most recent call last): File "/usr/lib/python2.6/atexit.py", line 24, in _run_exitfuncs func(*targs, kargs) File "/usr/lib/python2.6/multiprocessing/util.py", line 258, in _exit_function info('process shutting down') TypeError: 'NoneType' object is not callable }}}

It's after midnight here now, so please excuse any missing details. I'll try and check back tomorrow.

Comments (3)

  1. Matt Chaput repo owner

    I think this might have been caused when I renamed the lock= keyword argument but mistyped it in in filewriting.py, which didn't show up as an error because the class also has a **kwargs parameter. I'm not sure why it didn't fail on the other machine, unless the test was disabled.

    Please give this revision a try and see if it solves the problem. Thanks!

  2. Log in to comment