Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.0.0
-
None
-
Arch Linux 64-bit
-
1ee2a1c1be22485b46021b3ec7a5f4ebca3a5c92
Description
I'm not sure how to reproduce this on-demand but I've seen it happen several times when I update my git tree and then rebuild docs (make qch_docs) and then try to run assistant. A Lucene exception is thrown and isn't caught, so it crashes assistant. I can fix it by doing
rm -rf /home/rutledge/.local/share/QtProject/Assistant/.qthelpcollection_5.0.0/
At one point in the stack I find this constructor
QCLuceneIndexSearcher::QCLuceneIndexSearcher(const QString &path)
: QCLuceneSearcher()
{
lucene::search::IndexSearcher *searcher =
new lucene::search::IndexSearcher(path);
reader.d->reader = searcher->getReader();
reader.d->deleteCLuceneIndexReader = false;
d->searchable = searcher;
}
so it's possible to add a try-catch around this code and catch the exception, but other callers later expect d->searchable to be non-null, so if it can be null then some checks have to be added. Other places it's not possible to catch exceptions because we have them turned off.