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

Crash when stepping through code when using "Separate Window" value display format

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Not Evaluated
    • Resolution: Done
    • Affects Version/s: Qt Creator 4.10.0, Qt Creator 4.11.0-beta1
    • Component/s: Debugger
    • Labels:
      None
    • Environment:
      Ubuntu 18.04.3
    • Commits:
      312ff692b02d6b19f39303591c7dc0156bf46661 (qt-creator/qt-creator/4.10)

      Description

      Steps to reproduce:

      1. Open the example in QTBUG-78790
      2. Put a breakpoint on this line
      3. Start debugging and step a few lines over until you're on this line; it will crash

      It doesn't crash if you change the setting Change Value Display Format > Change Display for Type "QImage" from "Separate Window" to "Normal".

      Short backtrace:

      1  __GI_raise                                                                                                                                                                                                                                                                                                    raise.c            51   0x7ffff4e75e97 
      2  __GI_abort                                                                                                                                                                                                                                                                                                    abort.c            79   0x7ffff4e77801 
      3  __libc_message                                                                                                                                                                                                                                                                                                libc_fatal.c       181  0x7ffff4ec0897 
      4  malloc_printerr                                                                                                                                                                                                                                                                                               malloc.c           5350 0x7ffff4ec790a 
      5  _int_malloc                                                                                                                                                                                                                                                                                                   malloc.c           3738 0x7ffff4ecb994 
      6  __GI___libc_malloc                                                                                                                                                                                                                                                                                            malloc.c           3065 0x7ffff4ece2ed 
      7  QListData::detach_grow(int *, int)                                                                                                                                                                                                                                                                                                    0x7ffff5aecb52 
      8  QList<QPointer<QObject>>::detach_helper_grow(int, int)                                                                                                                                                                                                                                                                                0x7ffff5c9e19e 
      9  QObject::installEventFilter(QObject *)                                                                                                                                                                                                                                                                                                0x7ffff5c9bdf2 
      10 QAbstractScrollAreaPrivate::init()                                                                                                                                                                                                                                                                                                    0x7ffff6fd8c96 
      11 QScrollArea::QScrollArea(QWidget *)                                                                                                                                                                                                                                                                                                   0x7ffff7075c32 
      12 ImageViewer::ImageViewer                                                                                                                                                                                                                                                                                      imageviewer.cpp    102  0x7fffc5b61f19 
      13 Debugger::Internal::SeparatedView::prepareObject<ImageViewer>                                                                                                                                                                                                                                                 watchhandler.cpp   356  0x7fffc5bd4446 
      14 Debugger::Internal::WatchModel::showEditValue                                                                                                                                                                                                                                                                 watchhandler.cpp   2292 0x7fffc5bc31fc 
      15 Debugger::Internal::WatchHandler::insertItem                                                                                                                                                                                                                                                                  watchhandler.cpp   2049 0x7fffc5bc19f2 
      16 Debugger::Internal::WatchHandler::insertItems                                                                                                                                                                                                                                                                 watchhandler.cpp   2013 0x7fffc5bc15c8 
      17 Debugger::Internal::DebuggerEngine::updateLocalsView                                                                                                                                                                                                                                                          debuggerengine.cpp 2317 0x7fffc5ac13cf 
      18 Debugger::Internal::GdbEngine::handleFetchVariables                                                                                                                                                                                                                                                           gdbengine.cpp      4828 0x7fffc5c38506 
      19 Debugger::Internal::GdbEngine::<lambda(const Debugger::Internal::DebuggerResponse&)>::operator()(const Debugger::Internal::DebuggerResponse &) const                                                                                                                                                          gdbengine.cpp      4820 0x7fffc5c38022 
      20 std::_Function_handler<void(const Debugger::Internal::DebuggerResponse&), Debugger::Internal::GdbEngine::doUpdateLocals(const Debugger::Internal::UpdateParameters&)::<lambda(const Debugger::Internal::DebuggerResponse&)>>::_M_invoke(const std::_Any_data &, const Debugger::Internal::DebuggerResponse &) std_function.h     316  0x7fffc5c46241 
      21 std::function<void (Debugger::Internal::DebuggerResponse const&)>::operator()(Debugger::Internal::DebuggerResponse const&) const                                                                                                                                                                              std_function.h     706  0x7fffc5c02975 
      22 Debugger::Internal::GdbEngine::handleResultRecord                                                                                                                                                                                                                                                             gdbengine.cpp      998  0x7fffc5c181d8 
      23 Debugger::Internal::GdbEngine::handleResponse                                                                                                                                                                                                                                                                 gdbengine.cpp      424  0x7fffc5c127db 
      24 Debugger::Internal::GdbEngine::readGdbStandardOutput                                                                                                                                                                                                                                                          gdbengine.cpp      666  0x7fffc5c14fd0 
      25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Debugger::Internal::GdbEngine:: *)()>::call(void (Debugger::Internal::GdbEngine:: *)(), Debugger::Internal::GdbEngine *, void * *)                                                                                            qobjectdefs_impl.h 152  0x7fffc5c585a3 
      26 QtPrivate::FunctionPointer<void (Debugger::Internal::GdbEngine:: *)()>::call<QtPrivate::List<>, void>(void (Debugger::Internal::GdbEngine:: *)(), Debugger::Internal::GdbEngine *, void * *)                                                                                                                  qobjectdefs_impl.h 185  0x7fffc5c5735a 
      27 QtPrivate::QSlotObject<void (Debugger::Internal::GdbEngine:: *)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void * *, bool *)                                                                                                                                             qobjectdefs_impl.h 414  0x7fffc5c54a92 
      28 QMetaObject::activate(QObject *, int, int, void * *)                                                                                                                                                                                                                                                                                  0x7ffff5c94f16 
      29 QProcess::readyReadStandardOutput(QProcess::QPrivateSignal)                                                                                                                                                                                                                                                                           0x7ffff5bde77a 
      30 QProcessPrivate::tryReadFromChannel(QProcessPrivate::Channel *)                                                                                                                                                                                                                                                                       0x7ffff5be61f8 
      31 QProcess::qt_static_metacall(QObject *, QMetaObject::Call, int, void * *)                                                                                                                                                                                                                                                             0x7ffff5be6540 
      32 QMetaObject::activate(QObject *, int, int, void * *)                                                                                                                                                                                                                                                                                  0x7ffff5c94bf1 
      33 QSocketNotifier::activated(int, QSocketNotifier::QPrivateSignal)                                                                                                                                                                                                                                                                      0x7ffff5ca11a8 
      34 QSocketNotifier::event(QEvent *)                                                                                                                                                                                                                                                                                                      0x7ffff5ca14fb 
      35 QApplicationPrivate::notify_helper(QObject *, QEvent *)                                                                                                                                                                                                                                                                               0x7ffff6ef2e9c 
      36 QApplication::notify(QObject *, QEvent *)                                                                                                                                                                                                                                                                                             0x7ffff6ef9fa0 
      37 QCoreApplication::notifyInternal2(QObject *, QEvent *)                                                                                                                                                                                                                                                                                0x7ffff5c67ea8 
      38 socketNotifierSourceDispatch(_GSource *, int ( *)(void *), void *)                                                                                                                                                                                                                                                                    0x7ffff5cc0dc8 
      39 g_main_context_dispatch                                                                                                                                                                                                                                                                                                               0x7ffff11c7417 
      40 ??                                                                                                                                                                                                                                                                                                                                    0x7ffff11c7650 
      41 g_main_context_iteration                                                                                                                                                                                                                                                                                                              0x7ffff11c76dc 
      42 QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)                                                                                                                                                                                                                                                            0x7ffff5cc018f 
      43 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)                                                                                                                                                                                                                                                                               0x7ffff5c66902 
      44 QCoreApplication::exec()                                                                                                                                                                                                                                                                                                              0x7ffff5c6f260 
      45 main                                                                                                                                                                                                                                                                                                          main.cpp           635  0x555555566672 
      

      Output from the 4.10 instance of Creator that was used to debug the 4.11 build:

      12:11:49: Debugging starts
      QML debugging is enabled. Only use this in a safe environment.
      QML Debugger: Waiting for connection on port 43735...
      SOFT ASSERT: "d->m_accessor" in file ../../../../qt-creator/src/plugins/projectexplorer/toolchainmanager.cpp, line 135
      Warning: Unable to restore Qt version 'Qdb.EmbeddedLinuxQt' stored in /home/mitch/.config/QtProject/qtcreator/qtversion.xml.
      Cannot update Qt version information: /home/mitch/dev/qt5-isle-debug/qtbase/bin/qmake cannot be run.
      Qt version is no longer known, removing from kit "Android for armeabi-v7a (Clang Qt 5.9.5 for Android armv7)".
      Qt version is no longer known, removing from kit "Qt 5.12.3 GCC 64bit2".
      Qt version is no longer known, removing from kit "Qt 5.12.3 GCC 64bit2".
      Warning: No kit 'qt.qt5.5123.gcc_64_kit' found. Continuing.
      Warning: No kit 'qt.595.gcc_64_kit' found. Continuing.
      QTextCursor::setPosition: Position '-1' out of range
      QTextCursor::setPosition: Position '-1' out of range
      malloc(): memory corruption
      

      The "System Monitor" tool on Ubuntu 18.04.3 reports memory usage as ~6 GiB (35.5%) of 15.5 GiB while debugging.

        Attachments

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

          Activity

            People

            Assignee:
            hjk hjk
            Reporter:
            mitch_curtis Mitch Curtis
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes