[Interest] HELP: QSqlDatabasePrivate::removeDatabase: connection '/path/to/QtFoo.qchFromQHelpContentProvider-140359842598736-3' is still in use, all queries will cease to work.

René J.V. Bertin rjvbertin at gmail.com
Tue Feb 7 16:46:26 CET 2017


Hello,

Why is it that "major" Qt upgrades always come with such a PITA getting the Assistant to work properly again if you have added your own qch documentation to it?

This is what I do:

- gather all qch documentation I have that interests me with symlinks into /opt/local/share/doc/qch and put some others in there that don't have a designated location (like cppreference-doc-en-cpp.qch from cppreference.com).
- generate a .qhcp file that contains a <file> entry for each of the items in doc/qch
- generate the .qhc file inside /opt/local/share/doc/qch
- launch the Assistant pointing it to the generated .qhc file .

I developed this while running Qt 5.7.1 and it's been working fine, even if I added things to doc/qch and regenerated the .qhc file.

It also continued to work fine when I upgraded Qt to 5.8.0 but NOT the Assistant.

It got completely bonkers after I upgraded the Assistant to 5.8.0, and won't return to normal operation when I downgrade it again. On each launch I'm getting message like this

QSqlDatabasePrivate::removeDatabase: connection '/opt/local/share/doc/qch/qtxmlpatterns.qchFromQHelpContentProvider-140359842598736-3' is still in use, all queries will cease to work.
QSqlDatabasePrivate::removeDatabase: connection '/opt/local/share/doc/qch/cppreference-doc-en-cpp.qchFromQHelpContentProvider-140597906855904-1' is still in use, all queries will cease to work.

I have already tried regenerating the .qhc file (/opt/locla/share/doc/MP-qthelp-collection.qhc), the search index, removing the corresping MP-qthelp-collection entries in ~/Library/Application Support/QtProject/Assistant (and that entire directory; this is on Mac), I keep getting those errors.

Some qch files are always accepted, but the others will be or won't be seemingly at random. All files do show up in the "Add Documentation" dialog, though. The error is apparently about the Index feature: even if files that raised an error show up in the Contents view their index isn't available.

Removing the documentation from within the Assistant leads to a crash with a terminal error about too many open files.

Invoking the Assistant with its default collection works fine, also when I add documentation from /opt/local/share/doc/qch to it.

Any idea what this could be? I don't have any copies running of software that access qhc documents, so the "in-use" error cannot be about that. It's almost as if it's internal to the Assistant, which would explain the random aspect of the issue.

Thanks!
R.



More information about the Interest mailing list