Uploaded image for project: 'Qt Creator'
  1. Qt Creator
  2. QTCREATORBUG-24185

Corrupt database throws uncaught exception

    XMLWordPrintable

Details

    • Linux/X11

    Description

      Sometimes (especially noticeable when computer resumes from sleep) on a Ctrl+click Qt creator crashes. Perhaps the db connection is invalidated?

      Backtrace:

       #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      #1  0x00007ffff647b539 in __GI_abort () at abort.c:79
      #2  0x00007ffff66d9816 in ?? () from /usr/lib64/libstdc++.so.6
      #3  0x00007ffff66e4918 in ?? () from /usr/lib64/libstdc++.so.6
      #4  0x00007ffff66e4983 in std::terminate() () from /usr/lib64/libstdc++.so.6
      #5  0x00007ffff66e4c15 in __cxa_throw () from /usr/lib64/libstdc++.so.6
      #6  0x00007fffe3583a6f in Sqlite::BaseStatement::throwUnknowError (this=0x7fffffffd3f0, whatHasHappened=0x7fffe3661720 "SqliteStatement::stepStatement: unknown error has happened") at ../../libs/utils/smallstringlayout.h:195
      #7  0x00007fffe36521e1 in Sqlite::BaseStatement::checkForStepError (this=this@entry=0x5555564fdba0, resultCode=resultCode@entry=11) at sqlitebasestatement.cpp:254
      #8  0x00007fffe365225e in Sqlite::BaseStatement::next (this=this@entry=0x5555564fdba0) at sqlitebasestatement.cpp:137
      #9  0x00007fffe34f270a in Sqlite::StatementImplementation<Sqlite::BaseStatement>::values<CppTools::Usage, 3, int, int, int> (this=0x5555564fdba0, reserveSize=reserveSize@entry=128) at ../../libs/sqlite/sqlitebasestatement.h:229
      #10 0x00007fffe34f2897 in ClangRefactoring::SymbolQuery<ClangRefactoring::QuerySqliteStatementFactory<Sqlite::Database, Sqlite::ReadStatement> >::declarationsAt (this=<optimized out>, filePathId=..., line=<optimized out>, 
          utf8Column=<optimized out>) at symbolquery.h:94
      #11 0x00007fffe34deaac in ClangRefactoring::RefactoringEngine::declarationAt (this=0x5555564fdf78, data=...) at ../../libs/3rdparty/optional/optional.hpp:543
      #12 0x00007fffe34dec91 in ClangRefactoring::RefactoringEngine::globalFollowSymbol(CppTools::CursorInEditor const&, std::function<void (Utils::Link const&)>&&, CPlusPlus::Snapshot const&, QSharedPointer<CPlusPlus::Document> const&, CppTools::SymbolFinder*, bool) const (this=<optimized out>, data=..., processLinkCallback=...) at refactoringengine.cpp:128
      #13 0x00007fffe374c32c in operator() (__closure=0x555558fe4cf0) at /usr/include/c++/10/bits/std_function.h:245
      #14 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, ClangCodeModel::Internal::ClangFollowSymbol::findLink(const CppTools::CursorInEditor&, Utils::ProcessLinkCallback&&, bool, const CPlusPlus::Snapshot&, const Ptr&, CppTools::SymbolFinder*, bool)::<lambda()> >::call (arg=<optimized out>, f=...) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:146
      #15 QtPrivate::Functor<ClangCodeModel::Internal::ClangFollowSymbol::findLink(const CppTools::CursorInEditor&, Utils::ProcessLinkCallback&&, bool, const CPlusPlus::Snapshot&, const Ptr&, CppTools::SymbolFinder*, bool)::<lambda()>, 0>::call<QtPrivate::List<>, void> (arg=<optimized out>, f=...) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:256
      #16 QtPrivate::QFunctorSlotObject<ClangCodeModel::Internal::ClangFollowSymbol::findLink(const CppTools::CursorInEditor&, Utils::ProcessLinkCallback&&, bool, const CPlusPlus::Snapshot&, const Ptr&, CppTools::SymbolFinder*, bool)::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x555558fe4ce0, r=<optimized out>, a=<optimized out>, ret=<optimized out>)
          at /usr/include/qt5/QtCore/qobjectdefs_impl.h:443
      #17 0x00007ffff6b1efe6 in QtPrivate::QSlotObjectBase::call (a=0x7fffffffd870, r=0x55555a30b3a0, this=0x555558fe4ce0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
      #18 doActivate<false> (sender=0x55555a30b3a0, signal_index=4, argv=0x7fffffffd870) at kernel/qobject.cpp:3886
      #19 0x00007ffff6b18340 in QMetaObject::activate (sender=<optimized out>, m=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3946
      #20 0x00007ffff6914865 in QFutureWatcherBase::event (this=<optimized out>, event=0x55555893b430) at thread/qfuturewatcher.cpp:334
      #21 0x00007ffff77cb0cf in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55555a30b3a0, e=0x55555893b430) at kernel/qapplication.cpp:3671
      #22 0x00007ffff6ae8b0a in QCoreApplication::notifyInternal2 (receiver=0x55555a30b3a0, event=0x55555893b430) at ../../include/QtCore/5.15.0/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325
      #23 0x00007ffff6aeb531 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5555555ab280) at kernel/qcoreapplication.cpp:1815
      #24 0x00007ffff6b408c3 in postEventSourceDispatch (s=s@entry=0x55555569dff0) at kernel/qeventdispatcher_glib.cpp:277
      #25 0x00007ffff50e02c7 in g_main_dispatch (context=0x7fffec005000) at ../glib/gmain.c:3309
      #26 g_main_context_dispatch (context=0x7fffec005000) at ../glib/gmain.c:3974
      #27 0x00007ffff50e0648 in g_main_context_iterate (context=context@entry=0x7fffec005000, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4047
      #28 0x00007ffff50e06ff in g_main_context_iteration (context=0x7fffec005000, may_block=may_block@entry=1) at ../glib/gmain.c:4108
      #29 0x00007ffff6b3ff4f in QEventDispatcherGlib::processEvents (this=0x5555556a1bc0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
      #30 0x00007ffff6ae74cb in QEventLoop::exec (this=this@entry=0x7fffffffdc40, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
      #31 0x00007ffff6aef730 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
      #32 0x00007ffff70a860c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1867
      #33 0x00007ffff77cb045 in QApplication::exec () at kernel/qapplication.cpp:2811
      #34 0x000055555555fe72 in main (argc=<optimized out>, argv=<optimized out>) at main.cpp:709
      

      I attach the full the backtrace. I'll keep the core file for a while, ask away when you need it.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            bubke Marco Bubke
            szotsaki Szőts Ákos
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes