On Mon, Oct 24, 2016 at 11:45 PM, Albert Astals Cid <aa...@kde.org> wrote:
> El dilluns, 24 d’octubre de 2016, a les 12:58:30 CEST, Tomaz Canabrava va > escriure: > > So - I got a bit of crash on baloo - and I wonder what should I do to fix > > it. > > mostly because the crash is on an assert - wich means that this shouldn't > > ever happen, and if it does, it's bugged. > > > > The affecting call is this: > > > > QByteArray DocumentUrlDB::get(quint64 docId) const > > { > > Q_ASSERT(docId > 0); > > > > IdFilenameDB idFilenameDb(m_idFilenameDbi, m_txn); > > > > auto path = idFilenameDb.get(docId); > > if (path.name.isEmpty()) { > > return QByteArray(); > > } > > > > QByteArray ret = path.name; > > quint64 id = path.parentId; > > > > while (id) { > > auto p = idFilenameDb.get(id); > > Q_ASSERT(!p.name.isEmpty()); > > > > ret = p.name + '/' + ret; > > id = p.parentId; > > } > > > > return '/' + ret; > > } > > > > aparently, my database has something that has a parent with no name - > hm... > > not sure what a parent means in baloo context / my guess is "folder", but > > what could be the right thing do to in this case? > > > > - remove the index from the database > > - try to reescan the file because the parent is borked > > - show an information that there is a database inconsistency? > > > > the only thing it shouldn't do is crash :) > > > > Halp? > > i know it's a poor man's solution but replace the the assert with an if + > return + qWarning for the moment so it doesn't crash? > while of course this works, I got a lot of empty lines on krunner where a folder should have been. not perfect solution, but works. I never click on the folders anyway. > > Cheers, > Albert > > > > > ➜ ~ krunner > > Error contacting the daemon! > > org.kde.kurifilter-ikws: ":q" > > org.kde.kurifilter-ikws: Keywords Engine: Loading config... > > org.kde.kurifilter-ikws: Web Shortcuts Enabled: true > > org.kde.kurifilter-ikws: Default Shortcut: "" > > org.kde.kurifilter-ikws: Keyword Delimiter: : > > ASSERT: "!p.name.isEmpty()" in file > > /home/tcanabrava/Projects/kdesrc/baloo/src/engine/documenturldb.cpp, > line > > 143 > > KCrash: Attempting to start /home/tcanabrava/Projects/inst > all/bin/krunner > > from kdeinit > > sock_file=/run/user/1000/kdeinit5__0 > > KCrash: crashing... crashRecursionCounter = 2 > > KCrash: Application Name = krunner path = > > /home/tcanabrava/Projects/install/bin pid = 1693 > > KCrash: Arguments: /home/tcanabrava/Projects/install/bin/krunner > > KCrash: Attempting to start > > /home/tcanabrava/Projects/install/lib64/libexec/drkonqi from kdeinit > > sock_file=/run/user/1000/kdeinit5__0 > > QSocketNotifier: Invalid socket 8 and type 'Read', disabling... > > QSocketNotifier: Invalid socket 14 and type 'Read', disabling... > > QSocketNotifier: Invalid socket 12 and type 'Read', disabling... > > QSocketNotifier: Invalid socket 6 and type 'Read', disabling... > > QSocketNotifier: Invalid socket 13 and type 'Read', disabling... > > QSocketNotifier: Invalid socket 16 and type 'Exception', disabling... > > QSocketNotifier: Invalid socket 10 and type 'Read', disabling... > > QSocketNotifier: Invalid socket 15 and type 'Read', disabling... > > intel_do_flush_locked failed: Bad file descriptor > > >