This is the error:
java.io.IOException: read past EOF
Lucene throws that error when you try to read an index.
The lucene index was most likely corrupted at some point. In my case, it broke during the ant's copy in the deployment.
Other pages say that it may be because the index uses a weird char set where chars may be bigger or smaller then what you think they are, so if you think they are 8 bits, and they are actually 7, you will read past EOF.