QupZilla / qupzilla

Cross-platform Qt web browser
http://www.qupzilla.com
GNU General Public License v3.0
1.12k stars 348 forks source link

Frequent crashes when typing on location bar #2491

Closed antonio-rojas closed 6 years ago

antonio-rojas commented 6 years ago

Using Qt 5.10 beta, QupZilla frequently crashes when typing on the location bar

(gdb) bt

0 0x00007fffbf375ab3 in ?? () from /usr/lib/libsqlite3.so.0

1 0x00007fffbf3760cc in ?? () from /usr/lib/libsqlite3.so.0

2 0x00007fffbf3707e1 in ?? () from /usr/lib/libsqlite3.so.0

3 0x00007fffbf30220e in ?? () from /usr/lib/libsqlite3.so.0

4 0x00007fffbf302e95 in ?? () from /usr/lib/libsqlite3.so.0

5 0x00007fffbf308c93 in ?? () from /usr/lib/libsqlite3.so.0

6 0x00007fffbf3a2ee2 in ?? () from /usr/lib/libsqlite3.so.0

7 0x00007fffbf3a3788 in sqlite3VdbeMemFromBtree () from /usr/lib/libsqlite3.so.0

8 0x00007fffbf39b23d in sqlite3VdbeExec () from /usr/lib/libsqlite3.so.0

9 0x00007fffbf39c570 in sqlite3_step () from /usr/lib/libsqlite3.so.0

10 0x00007fffc4174a2e in ?? () from /usr/lib/qt/plugins/sqldrivers/libqsqlite.so

11 0x00007fffc4175c13 in ?? () from /usr/lib/qt/plugins/sqldrivers/libqsqlite.so

12 0x00007fffedf45788 in QSqlQuery::exec() () from /usr/lib/libQt5Sql.so.5

13 0x00007ffff79e5a6b in IconProvider::imageForDomain (url=..., allowNull=false) at tools/iconprovider.cpp:228

14 0x00007ffff78f2e95 in LocationCompleterRefreshJob::runJob (this=0x7fff78674e90) at navigation/completer/locationcompleterrefreshjob.cpp:129

15 0x00007ffff78f7482 in QtConcurrent::VoidStoredMemberFunctionPointerCall0<void, LocationCompleterRefreshJob>::runFunctor (this=0x5555627fa3c0)

at /usr/include/qt/QtConcurrent/qtconcurrentstoredfunctioncall.h:205

16 0x00007ffff78f4541 in QtConcurrent::RunFunctionTask::run (this=0x5555627fa3c0) at /usr/include/qt/QtConcurrent/qtconcurrentrunbase.h:136

17 0x00007fffed64fef1 in ?? () from /usr/lib/libQt5Core.so.5

18 0x00007fffed653d9d in ?? () from /usr/lib/libQt5Core.so.5

19 0x00007fffed10408a in start_thread () from /usr/lib/libpthread.so.0

20 0x00007fffec55224f in clone () from /usr/lib/libc.so.6

Martii commented 6 years ago

This sounds familiar/similar from https://github.com/QupZilla/qupzilla/issues/2481#issuecomment-337911822 ... see https://github.com/QupZilla/qupzilla/issues/2481#issuecomment-338149690 if using Arch... granted it's not Qt 5.10 beta.

nowrep commented 6 years ago

Probably threading issue, each thread uses its own QSqlDatabase connection which should be fine according to Qt docs (and it worked until now). This change may be relevant https://code.qt.io/cgit/qt/qtbase.git/commit/src/plugins/sqldrivers/sqlite?id=610a9e8f319eafcbcf193e4b90119a6f89d0caf9