Summary: | Bookmarks runner crashes in QSqlite | ||
---|---|---|---|
Product: | [Plasma] krunner | Reporter: | Dan <danpaol> |
Component: | bookmarks | Assignee: | Kai Uwe Broulik <kde> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | 123gop321, 4m4pocmx12oskpziwsvg, aalsing, aatman.d.btechi14, alessandro.parini, alex, alexander.lohnau, alextalker, alison, andpago, balthasar, benjunmun, bessonnica, bhush94, bugzilla-kde, bugzilla, carlos.e.valencia.u, chrihatz, christoph.schwaeppe, christopher.horwood, code, daedada, davidlevner, demonocaquita, elliot.farrel, fgouget, frodo_123, frozen.web, fylhan, gissf1, halla, heri+kde, herman, it, joelishness, johanna_mueller_57, JohnVietta, kde, kdebugs.spam, kdebugs, leguen.yannick, leonard, loost21, luishcq, lukasz.m.maciejewski, m.beniamino, macwoltshire, magicrusso, mani.zaeim, martin.ruessler, mustafa1024m, nate, nomaru, notmart, null, oliver.pabst, paolo.greppi, paolo, pawel6x30, plasma-bugs, pups.poppo+kde, quelque_ri1, sboyce, selth.blackwings, sombragris, sten.heinze, support, suse, tchambers79, tinysammy, toussamr, trindade.rafa, ugo.kde, Vojtech.Zeisek, windsurfer98, zak.le.grange, zheltonozhskiy |
Priority: | VHI | Keywords: | drkonqi |
Version: | 5.5.5 | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | https://commits.kde.org/plasma-workspace/93f0f5ee2c275c3328f37675b644c1ce35f75e70 | Version Fixed In: | |
Sentry Crash Report: |
Description
Dan
2016-05-16 13:39:08 UTC
*** Bug 363418 has been marked as a duplicate of this bug. *** *** Bug 388692 has been marked as a duplicate of this bug. *** *** Bug 388587 has been marked as a duplicate of this bug. *** *** Bug 388505 has been marked as a duplicate of this bug. *** *** Bug 386122 has been marked as a duplicate of this bug. *** *** Bug 368372 has been marked as a duplicate of this bug. *** *** Bug 372203 has been marked as a duplicate of this bug. *** Several of the recent duplicates have different backtraces. *** Bug 388884 has been marked as a duplicate of this bug. *** *** Bug 388902 has been marked as a duplicate of this bug. *** *** Bug 389020 has been marked as a duplicate of this bug. *** *** Bug 388140 has been marked as a duplicate of this bug. *** *** Bug 389256 has been marked as a duplicate of this bug. *** *** Bug 389257 has been marked as a duplicate of this bug. *** *** Bug 389188 has been marked as a duplicate of this bug. *** *** Bug 389553 has been marked as a duplicate of this bug. *** *** Bug 388876 has been marked as a duplicate of this bug. *** *** Bug 389782 has been marked as a duplicate of this bug. *** *** Bug 390563 has been marked as a duplicate of this bug. *** *** Bug 390567 has been marked as a duplicate of this bug. *** *** Bug 390572 has been marked as a duplicate of this bug. *** *** Bug 390608 has been marked as a duplicate of this bug. *** *** Bug 390609 has been marked as a duplicate of this bug. *** duplicate bug 390609 has some interesting debug information (I copied this comment from 390609 except that the backtrace also contains Qt debug symbols and thanks Antonio for pointing me to the correct bug - I searched but couldn't find this one) I have debugged this issue a bit and found, that the runners/bookmarks/faviconfromblob.cpp file in plasma-workspace tries to access the table moz_favicons in the sqlite database (line 80) which doesn't exist though. Checking the firefox source code, I found mentions that since Firefox 37 the table was not used anymore and since Firefox 41 the table was dropped. I have no idea why this wasn't an issue before but it might be because of a newer Qt version that broke something? $ sqlite3 .cache/krunnerbookmarkrunnerfirefoxdbfile.sqlite SQLite version 3.22.0 2018-01-22 18:45:57 Enter ".help" for usage hints. sqlite> .tables moz_anno_attributes moz_historyvisits moz_keywords moz_annos moz_hosts moz_places moz_bookmarks moz_inputhistory moz_bookmarks_deleted moz_items_annos (gdb) bt #0 0x00007ffff41c5ad0 in QVariant::QVariant(QVariant const&) (this=0x7fffb6b567e0, p=...) at kernel/qvariant.cpp:1527 #1 0x00007fffb7b672bc in QVector<QVariant>::append(QVariant const&) (this=this@entry=0x7fffb6b56890, t=...) at /tmp/qt5-base/trunk/src/qtbase-everywhere-src-5.10.1/include/QtCore/../../src/corelib/tools/qvector.h:653 #2 0x00007fffb7b64ad6 in QVector<QVariant>::operator<<(QVariant const&) (t=..., this=0x7fffb6b56890) at /tmp/qt5-base/trunk/src/qtbase-everywhere-src-5.10.1/include/QtCore/../../src/corelib/tools/qvector.h:281 #3 0x00007fffb7b64ad6 in QSQLiteResult::exec() (this=0x7fffac0087d0) at qsql_sqlite.cpp:491 #4 0x00007fffed155db8 in QSqlQuery::exec() (this=this@entry=0x7fffb6b569d0) at kernel/qsqlquery.cpp:1002 #5 0x00007fffb7d7b064 in FetchSqlite::query(QString const&, QMap<QString, QVariant>) (this=this@entry=0x555557ab5560, sql=..., bindObjects=...) at /tmp/plasma-workspace/trunk/src/plasma-workspace-5.12.1/runners/bookmarks/fetchsqlite.cpp:80 #6 0x00007fffb7d7b56a in FetchSqlite::query(BuildQuery*, QMap<QString, QVariant>) (this=this@entry=0x555557ab5560, buildQuery=0x555557a7e0b0, bindObjects=...) at /tmp/plasma-workspace/trunk/src/plasma-workspace-5.12.1/runners/bookmarks/fetchsqlite.cpp:67 #7 0x00007fffb7d76c12 in FaviconFromBlob::iconFor(QString const&) (this=0x555557af5c80, url=...) at /tmp/plasma-workspace/trunk/src/plasma-workspace-5.12.1/runners/bookmarks/faviconfromblob.cpp:133 #8 0x00007fffb7d74455 in BookmarkMatch::asQueryMatch(Plasma::AbstractRunner*) (this=this@entry=0x7fffb6b56c70, runner=runner@entry=0x5555578e80a0) at /tmp/plasma-workspace/trunk/src/plasma-workspace-5.12.1/runners/bookmarks/bookmarkmatch.cpp:63 #9 0x00007fffb7d7e8e4 in BookmarksRunner::match(Plasma::RunnerContext&) (this=0x5555578e80a0, context=...) at /tmp/plasma-workspace/trunk/src/plasma-workspace-5.12.1/runners/bookmarks/bookmarksrunner.cpp:85 #10 0x00007fffd0e877f0 in Plasma::AbstractRunner::performMatch(Plasma::RunnerContext&) (this=0x5555578e80a0, localContext=...) at /tmp/krunner/trunk/src/krunner-5.43.0/src/abstractrunner.cpp:130 #11 0x00007fffd0c66618 in ThreadWeaver::Executor::run(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () at /usr/lib/libKF5ThreadWeaver.so.5 #12 0x00007fffd0c65610 in ThreadWeaver::Job::execute(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () at /usr/lib/libKF5ThreadWeaver.so.5 #13 0x00007fffd0c64d45 in ThreadWeaver::Thread::run() () at /usr/lib/libKF5ThreadWeaver.so.5 #14 0x00007ffff3f92bbd in QThreadPrivate::start(void*) (arg=0x7fffb0004980) at thread/qthread_unix.cpp:376 #15 0x00007ffff17ea08c in start_thread () at /usr/lib/libpthread.so.0 #16 0x00007ffff3898e7f in clone () at /usr/lib/libc.so.6 I have submitted a patch that fixes the bookmark favicons https://phabricator.kde.org/D10610 *** Bug 390635 has been marked as a duplicate of this bug. *** *** Bug 390655 has been marked as a duplicate of this bug. *** *** Bug 390661 has been marked as a duplicate of this bug. *** *** Bug 390684 has been marked as a duplicate of this bug. *** *** Bug 390687 has been marked as a duplicate of this bug. *** *** Bug 390694 has been marked as a duplicate of this bug. *** *** Bug 390673 has been marked as a duplicate of this bug. *** *** Bug 390653 has been marked as a duplicate of this bug. *** *** Bug 390719 has been marked as a duplicate of this bug. *** *** Bug 390720 has been marked as a duplicate of this bug. *** *** Bug 390721 has been marked as a duplicate of this bug. *** *** Bug 390722 has been marked as a duplicate of this bug. *** *** Bug 390731 has been marked as a duplicate of this bug. *** *** Bug 390751 has been marked as a duplicate of this bug. *** *** Bug 390764 has been marked as a duplicate of this bug. *** *** Bug 390770 has been marked as a duplicate of this bug. *** *** Bug 390769 has been marked as a duplicate of this bug. *** Git commit 93f0f5ee2c275c3328f37675b644c1ce35f75e70 by David Edmundson, on behalf of Luca Weiss. Committed on 20/02/2018 at 12:18. Pushed by davidedmundson into branch 'Plasma/5.12'. Fix favicons in firefox bookmarks runner Summary: The favicons are located in the file favicons.sqlite file since FF 37 and the old table was removed in FF 41 resulting in crashes because the table wasn't found. * Update SQL to match the tables in FF 58 * query.bindValue() needs a double colon in the string, see https://doc.qt.io/qt-5/qsqlquery.html#prepare * Fix intendation (tab->spaces) in one line Test Plan: Firefox bookmark favicons now work and don't crash Krunner and Kickoff {F5715653} {F5715654} Reviewers: #plasma, broulik, davidedmundson Reviewed By: #plasma, davidedmundson Subscribers: ngraham, elvisangelaccio, davidedmundson, plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D10610 M +14 -2 runners/bookmarks/browsers/firefox.cpp M +3 -0 runners/bookmarks/browsers/firefox.h M +6 -5 runners/bookmarks/faviconfromblob.cpp https://commits.kde.org/plasma-workspace/93f0f5ee2c275c3328f37675b644c1ce35f75e70 *** Bug 390778 has been marked as a duplicate of this bug. *** *** Bug 390808 has been marked as a duplicate of this bug. *** *** Bug 390813 has been marked as a duplicate of this bug. *** *** Bug 390833 has been marked as a duplicate of this bug. *** *** Bug 390843 has been marked as a duplicate of this bug. *** *** Bug 390854 has been marked as a duplicate of this bug. *** I was wondering why this bug did not turn up in the search for similar bugs for me (and, potentially, others as well since it has so many duplicates). Do you have an idea why that is? Because a recent Qt 5.10 regression was incorrectly marked as a duplicate of this crash. See also comment #8. Let's hope the originally reported issue is fixed as well. *** Bug 390675 has been marked as a duplicate of this bug. *** *** Bug 391599 has been marked as a duplicate of this bug. *** *** Bug 391689 has been marked as a duplicate of this bug. *** *** Bug 391740 has been marked as a duplicate of this bug. *** The latest duplicates of this are in 5.12.3, should this be reopened? @Antonio: Yes, the stacktrace in bug 391740 is in a different location that what I have fixed in my commit included in 5.12.2. I'll take a look at it and try to reproduce it on my machine. But ultimately, the crashes are caused by Qt unfortunately. Bug 391037 might be related. *** Bug 391977 has been marked as a duplicate of this bug. *** *** Bug 392293 has been marked as a duplicate of this bug. *** *** Bug 390920 has been marked as a duplicate of this bug. *** *** Bug 391602 has been marked as a duplicate of this bug. *** *** Bug 391037 has been marked as a duplicate of this bug. *** *** Bug 368343 has been marked as a duplicate of this bug. *** *** Bug 393278 has been marked as a duplicate of this bug. *** *** Bug 393285 has been marked as a duplicate of this bug. *** *** Bug 393446 has been marked as a duplicate of this bug. *** *** Bug 393504 has been marked as a duplicate of this bug. *** *** Bug 393575 has been marked as a duplicate of this bug. *** *** Bug 393582 has been marked as a duplicate of this bug. *** *** Bug 393419 has been marked as a duplicate of this bug. *** Can anyone who experience this a lot please test: https://phabricator.kde.org/D12683 *** Bug 393297 has been marked as a duplicate of this bug. *** Git commit 947b03d674e8f962f1a2d832524d3a8fdeda8ae1 by David Edmundson. Committed on 04/05/2018 at 12:05. Pushed by davidedmundson into branch 'master'. Guard BookmarksRunner thread use Summary: Krunner::match is performed in potentially multiple overlapping threads as a user presses each character. Qt SQL is not thread safe according to the docs or according to the numerous reports. It's a bit of a blind patch, ideally we should only use the database in the thread that opened it. This patch at least this means queries will be queued which I think will be enough. Test Plan: Restarted krunner. Still saw my firefox bookmarks Reviewers: #plasma, mart Reviewed By: #plasma, mart Subscribers: rempt, plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D12683 M +5 -0 runners/bookmarks/fetchsqlite.cpp M +2 -0 runners/bookmarks/fetchsqlite.h https://commits.kde.org/plasma-workspace/947b03d674e8f962f1a2d832524d3a8fdeda8ae1 @David Edmundson: Since applying that patch I didn't experience any crashes anymore, so it seems to work. Thanks! *** Bug 393986 has been marked as a duplicate of this bug. *** *** Bug 393941 has been marked as a duplicate of this bug. *** *** Bug 393626 has been marked as a duplicate of this bug. *** *** Bug 394301 has been marked as a duplicate of this bug. *** *** Bug 394353 has been marked as a duplicate of this bug. *** *** Bug 394380 has been marked as a duplicate of this bug. *** *** Bug 394783 has been marked as a duplicate of this bug. *** *** Bug 395026 has been marked as a duplicate of this bug. *** *** Bug 393927 has been marked as a duplicate of this bug. *** *** Bug 394785 has been marked as a duplicate of this bug. *** *** Bug 393605 has been marked as a duplicate of this bug. *** *** Bug 395325 has been marked as a duplicate of this bug. *** *** Bug 395799 has been marked as a duplicate of this bug. *** *** Bug 395827 has been marked as a duplicate of this bug. *** *** Bug 395799 has been marked as a duplicate of this bug. *** *** Bug 395307 has been marked as a duplicate of this bug. *** *** Bug 395992 has been marked as a duplicate of this bug. *** *** Bug 396400 has been marked as a duplicate of this bug. *** *** Bug 396466 has been marked as a duplicate of this bug. *** *** Bug 396156 has been marked as a duplicate of this bug. *** *** Bug 396718 has been marked as a duplicate of this bug. *** Clearly not fixed (nor hindered) by my extra mutex. Appears fixed in openSUSE Tumbleweed. *** Bug 396752 has been marked as a duplicate of this bug. *** *** Bug 396786 has been marked as a duplicate of this bug. *** *** Bug 396838 has been marked as a duplicate of this bug. *** *** Bug 397115 has been marked as a duplicate of this bug. *** *** Bug 405316 has been marked as a duplicate of this bug. *** |