This problem has been bugging me for sometime. Often I got a
'CreateFile failed exception' like this:
...
File "C:\Python24\lib\site-packages\PyLucene.py", line 920, in __init__
   newobj = _PyLucene.new_IndexWriter(*args)
ValueError: java.io.IOException: CreateFile failed
  at 0x10128f1e (Unknown Source)
  at 0x10129412 (Unknown Source)
  at 0x1012c7b4 (Unknown Source)
  at 0x10119aa4 (Unknown Source)
  at 0x10182c12 (Unknown Source)
  at 0x101148a6 (Unknown Source)
  at 0x10062c70 (Unknown Source)
  at 0x10065f5b (Unknown Source)
  at 0x100270ae (Unknown Source)
  at 0x10026f39 (Unknown Source)
  at 0x100c95ec (Unknown Source)

The Python exception doesn't say much about what file has problem.
Often I have to fire up the Java version to get more detail error
message. I'm wondering why the Python version is not showing more
details. I'm rather disoriented right now.

Getting a usable stack trace from libgcj is tricky. I don't know if it is even
possible on Windows. Hazmat, on this list, was able to get one on Linux recently.

Why are you getting the java exception as a ValueError ? PyLucene reports them as JavaError, a subclass of python's Exception class. Are you using some rather old version of PyLucene ?

To better investigate the problem, you could move to an OS where getting a stack trace from libgcj is more feasible and you could make changes to the Lucene Java code to report exceptions with more information. If Lucene is not the culprit, then, going down the software stack, you could improve the exception reported by libgcj. Yes, that is more complicated, cross-compiling gcj/libgcj for Windows is tricky. I recently posted a message on [EMAIL PROTECTED] about how the instructions faired with reality.
    http://gcc.gnu.org/ml/java/2005-10/msg00014.html

I was not able to find a string 'CreateFile failed' or 'createFile failed' anywhere in the Lucene or libgcj sources.

Another alternative would be to use a python implementation of the Lucene Directory classes, I recently debugged this in the svn trunk. There is a unit test that illustrates how to do that now.

Andi..

_______________________________________________
pylucene-dev mailing list
[email protected]
http://lists.osafoundation.org/mailman/listinfo/pylucene-dev

Reply via email to