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

Segfaults while debugging hang system

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Not Evaluated
    • Qt Creator 4.2.1
    • Qt Creator 4.0.2
    • Debugger
    • None
    • Ubuntu 16.04
    • 26331f771a48f8123d2106b5e3c9ecf95a24a32e et al

    Description

      I can consistenly reproduce this while stepping into line 296 of https://codereview.qt-project.org/#/c/160627/33/src/quicktemplates2/qquicktumbler.cpp. The application is:

      Executable: /home/mitch/dev/qt5-dev-debug/qtquickcontrols2/tests/auto/controls/default/tst_default
      Command line arguments: -input .<FIXME>/qt5-dev/qtquickcontrols2/tests/auto/controls/data/tst_tumbler.qml Tumbler::test_currentIndexAtCreation
      Working directory: /home/mitch/dev/qt5-dev-debug/qtquickcontrols2/tests/auto/controls/default
      

      The screen is flooded with segfault message boxes until it becomes unresponsive. Music that I was listening to in Chrome is still playing, but the only thing I can do is REISUB.

      The contents of the debugger log before the crash, up until "setting breakpoints":

      sStarting debugger "GdbEngine" for ABI "x86-linux-generic-elf-64bit"...
      dStart parameters: 'default' mode: 1
      dABI: x86-linux-generic-elf-64bit
      dLanguages: c++ 
      dExecutable: /home/mitch/dev/qt5-dev-debug/qtquickcontrols2/tests/auto/controls/default/tst_default -input /home/mitch/dev/qt5-dev/qtquickcontrols2/tests/auto/controls/data/tst_tumbler.qml Tumbler::test_currentIndexAtCreation
      dDirectory: /home/mitch/dev/qt5-dev-debug/qtquickcontrols2/tests/auto/controls/default
      dDebugger: /usr/bin/gdb
      dProject: /home/mitch/dev/qt5-dev/qtquickcontrols2Addtional Search Directories:
      dRemote: :0
      dSysroot: 
      dDebug Source Location: 
      dDebugger settings: 
      dAutoQuit: false  (default: false)
      dLogTimeStamps: false  (default: false)
      dUseAlternatingRowColours: false  (default: false)
      dFontSizeFollowsEditor: false  (default: false)
      dUseMessageBoxForSignals: true  (default: true)
      dAllPluginBreakpoints: true  (default: true)
      dSelectedPluginBreakpoints: false  (default: false)
      dAdjustBreakpointLocations: true  (default: true)
      dMaximalStringLength: 10000  (default: 10000)
      dDisplayStringLimit: 100  (default: 100)
      dSkipKnownFrames: false  (default: false)
      dEnableReverseDebugging: false  (default: false)
      dShowQtNamespace: true  (default: true)
      dShowQObjectNames: false  (default: false)
      dSortStructMembers: true  (default: true)
      dAutoDerefPointers: true  (default: true)
      dMaximalStackDepth: 20  (default: 20)
      dShowStandardNamespace: true  (default: true)
      dWarnOnReleaseBuilds: true  (default: true)
      dMultiInferior: false  (default: false)
      dIntelFlavor: false  (default: false)
      dIdentifyDebugInfoPackages: false  (default: false)
      dWatchdogTimeout: 20  (default: 20)
      dAutoEnrichParameters: true  (default: true)
      dUseDynamicType: true  (default: true)
      dTargetAsync: false  (default: false)
      dLoadGdbDumpers2: false  (default: false)
      dAttemptQuickStart: false  (default: false)
      dGdbStartupCommands:   (default: )
      dGdbPostAttachCommands:   (default: )
      dCDB_Console: false  (default: false)
      dBreakpointCorrection: true  (default: true)
      dIgnoreFirstChanceAccessViolation: false  (default: false)
      dLoadGdbInit: true  (default: true)
      dQmlInspector.ShowAppOnTop: false  (default: false)
      dBreakOnWarning: false  (default: false)
      dBreakOnFatal: false  (default: false)
      dBreakOnAbort: false  (default: false)
      dShowQmlObjectTree: true  (default: true)
      dNoPluginBreakpoints: false  (default: false)
      dSelectedPluginBreakpointsPattern: .*  (default: .*)
      dBreakOnThrow: false  (default: false)
      dBreakOnCatch: false  (default: false)
      dSymbolPaths:   (default: )
      dSourcePaths:   (default: )
      dBreakEvent:   (default: )
      dBreakOnCrtDbgReport: false  (default: false)
      dAlwaysAdjustColumnWidths: true  (default: true)
      dExtraDumperFile:   (default: )
      dGdbCustomDumperCommands:   (default: )
      dAdditionalArguments:   (default: )
      dUseToolTipsInBreakpointsView: false  (default: true)  ***
      dUseAddressInBreakpointsView: false  (default: false)
      dUseAddressInStackView: false  (default: false)
      dShowThreadNames: false  (default: false)
      dUseToolTips: false  (default: true)  ***
      dUseToolTipsInLocalsView: false  (default: false)
      dUseToolTipsInBreakpointsView: false  (default: false)
      dRaiseOnInterrupt: true  (default: true)
      dStationaryEditorWhileStepping: false  (default: false)
      dUseDebuggingHelper: true  (default: true)
      dUseCodeModel: true  (default: true)
      dCloseBuffersOnExit: false  (default: false)
      dCloseMemoryBuffersOnExit: true  (default: true)
      dSwitchModeOnExit: false  (default: false)
      dBreakpointsFullPath: false  (default: false)
      dState changed from DebuggerNotReady(0) to EngineSetupRequested(1) [master]
      dQUEUE: SETUP ENGINE
      dCALL: SETUP ENGINE
      dEXAMINING /home/mitch/dev/qt5-dev-debug/qtquickcontrols2/tests/auto/controls/default/tst_default
      dELF SECTIONS:  .interp .note.ABI-tag .note.gnu.build-id .dynsym .dynstr .gnu.hash .gnu.version .gnu.version_r .rela.dyn .rela.plt .init .plt .text .fini .rodata .qtversion .gcc_except_table .eh_frame .eh_frame_hdr .data.rel.ro.local .jcr .fini_array .init_array .dynamic .got .got.plt .data .tm_clone_table .bss .comment .debug_info .debug_abbrev .debug_aranges .debug_ranges .debug_line .debug_str .note.gnu.gold-version .symtab .strtab .shstrtab 
      dTRYING TO START ADAPTER
      dENABLING TEST CASE: 0
      dSTARTING /usr/bin/gdb -i mi --tty=/tmp/QtCreator.EH2520
      dGDB STARTED, INITIALIZING IT
      <1show version
      <2show debug-file-directory
      <3set print object on
      <4set breakpoint pending on
      <5set print elements 10000
      <6handle SIGSEGV nopass stop print
      <7set unwindonsignal on
      <8set width 0
      <9set height 0
      sSetting up inferior...
      <10set substitute-path /var/tmp/qt-src /home/mitch/dev/qt5-dev-debug/qtbase
      <11-interpreter-exec console "set auto-solib-add on"
      <12python sys.path.insert(1, '/home/mitch/dev/qt-enterprise/Tools/QtCreator/share/qtcreator/debugger/')
      <13python sys.path.append('/usr/bin/data-directory/python')
      <14python from gdbbridge import *
      <15python theDumper.loadDumpers({"token":15})
      >=thread-group-added,id="i1"
      >~"GNU gdb (Ubuntu 7.11-0ubuntu1) 7.11\n"
      >~"Copyright (C) 2016 Free Software Foundation, Inc.\n"
      >~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.  Type \"show copying\"\nand \"show warranty\" for details.\n"
      >~"This GDB was configured as \"x86_64-linux-gnu\".\nType \"show configuration\" for configuration details."
      >~"\nFor bug reporting instructions, please see:\n"
      >~"<http://www.gnu.org/software/gdb/bugs/>.\n"
      >~"Find the GDB manual and other documentation resources online at:\n<http://www.gnu.org/software/gdb/documentation/>.\n"
      >~"For help, type \"help\".\n"
      >~"Type \"apropos word\" to search for commands related to \"word\".\n"
      
      >&"show version\n"
      >~"GNU gdb (Ubuntu 7.11-0ubuntu1) 7.11\n"
      >~"Copyright (C) 2016 Free Software Foundation, Inc.\n"
      >~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.  Type \"show copying\"\nand \"show warranty\" for details.\n"
      >~"This GDB was configured as \"x86_64-linux-gnu\".\nType \"show configuration\" for configuration details."
      >~"\nFor bug reporting instructions, please see:\n"
      >~"<http://www.gnu.org/software/gdb/bugs/>.\n"
      >~"Find the GDB manual and other documentation resources online at:\n<http://www.gnu.org/software/gdb/documentation/>.\n"
      >~"For help, type \"help\".\n"
      >~"Type \"apropos word\" to search for commands related to \"word\".\n"
      >1^done
      dPARSING VERSION: 1^done
      dSUPPORTED GDB VERSION GNU gdb (Ubuntu 7.11-0ubuntu1) 7.11
      dCopyright (C) 2016 Free Software Foundation, Inc.
      dLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
      dThis is free software: you are free to change and redistribute it.
      dThere is NO WARRANTY, to the extent permitted by law.  Type "show copying"
      dand "show warranty" for details.
      dThis GDB was configured as "x86_64-linux-gnu".
      dType "show configuration" for configuration details.
      dFor bug reporting instructions, please see:
      d<http://www.gnu.org/software/gdb/bugs/>.
      dFind the GDB manual and other documentation resources online at:
      d<http://www.gnu.org/software/gdb/documentation/>.
      dFor help, type "help".
      dType "apropos word" to search for commands related to "word".
      dGNU gdb (Ubuntu 7.11-0ubuntu1) 7.11
      dCopyright (C) 2016 Free Software Foundation, Inc.
      dLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
      dThis is free software: you are free to change and redistribute it.
      dThere is NO WARRANTY, to the extent permitted by law.  Type "show copying"
      dand "show warranty" for details.
      dThis GDB was configured as "x86_64-linux-gnu".
      dType "show configuration" for configuration details.
      dFor bug reporting instructions, please see:
      d<http://www.gnu.org/software/gdb/bugs/>.
      dFind the GDB manual and other documentation resources online at:
      d<http://www.gnu.org/software/gdb/documentation/>.
      dFor help, type "help".
      dType "apropos word" to search for commands related to "word".
      dUSING GDB VERSION: 71100, BUILD: 0
      <16-interpreter-exec console "set target-async off"
      
      >&"show debug-file-directory\n"
      >~"The directory where separate debug symbols are searched for is \"/usr/lib/debug\".\n"
      >2^done
      
      >&"set print object on\n"
      >=cmd-param-changed,param="print object",value="on"
      >3^done
      
      >&"set breakpoint pending on\n"
      >=cmd-param-changed,param="breakpoint pending",value="on"
      >4^done
      
      >&"set print elements 10000\n"
      >=cmd-param-changed,param="print elements",value="10000"
      >5^done
      
      >&"handle SIGSEGV nopass stop print\n"
      >~"Signal        Stop\tPrint\tPass to program\tDescription\n"
      >~"SIGSEGV       Yes\tYes\tNo\t\tSegmentation fault\n"
      >6^done
      
      >&"set unwindonsignal on\n"
      >=cmd-param-changed,param="unwindonsignal",value="on"
      >7^done
      
      >&"set width 0\n"
      >=cmd-param-changed,param="width",value="4294967295"
      >8^done
      
      >&"set height 0\n"
      >9^done
      
      >&"set substitute-path /var/tmp/qt-src /home/mitch/dev/qt5-dev-debug/qtbase\n"
      >10^done
      
      >11^done
      
      >&"python sys.path.insert(1, '/home/mitch/dev/qt-enterprise/Tools/QtCreator/share/qtcreator/debugger/')\n"
      >12^done
      
      >&"python sys.path.append('/usr/bin/data-directory/python')\n"
      >13^done
      
      >&"python from gdbbridge import *\n"
      >&"No symbol table is loaded.  Use the \"file\" command.\n"
      >14^done
      
      >&"python theDumper.loadDumpers({\"token\":15})\n"
      >~"dumpers=[{type=\"CPlusPlus__TemplateNameId\"},{type=\"std____debug__list\"},{type=\"QV4__CallData\"},{type=\"QStandardItem\"},{type=\"std____1__vector\"},{type=\"QDate\"},{type=\"__m128d\"},{type=\"std____1__wstring\"},{type=\"QLinkedList\"},{type=\"QTimeZone\"},{type=\"QBitArray\"},{type=\"QSharedDataPointer\"},{type=\"wstring\"},{type=\"QJsonPrivate__q_littleendian\"},{type=\"QSize\"},{type=\"std____debug__set\"},{type=\"Debugger__Internal__WatchItem\"},{type=\"std__unordered_map\",formats=\"17\"},{type=\"std__stack\"},{type=\"Debugger__Internal__WatchData\"},{type=\"Core__GeneratedFile\"},{type=\"QSharedData\"},{type=\"QXmlStreamAttribute\"},{type=\"CPlusPlus__StringLiteral\"},{type=\"QMapNode\"},{type=\"CPlusPlus__Symbol\"},{type=\"QMetaObject\"},{type=\"std__stringHelper1__QNX\"},{type=\"QHashNode\",formats=\"17\"},{type=\"QXmlAttributes\"},{type=\"std__valarray\",formats=\"16\"},{type=\"std____cxx1998__map\"},{type=\"QString\",editable=\"true\",formats=\"2, 4\"},{type=\"std__map__iterator\"},{type=\"QV4__String\"},{type=\"int8_t\"},{type=\"QRegExp\"},{type=\"std____1__multimap\",formats=\"17\"},{type=\"CPlusPlus__QualifiedNameId\"},{type=\"QV4__CompilationUnit\"},{type=\"QHostAddress\"},{type=\"QTemporaryFile\"},{type=\"QTextCursor\"},{type=\"std__wstring\",formats=\"2, 4\"},{type=\"std____1__map\",formats=\"17\"},{type=\"std__stringHelper1\"},{type=\"QTextDocument\"},{type=\"QV4__TypedValue\"},{type=\"QHash__const_iterator\"},{type=\"__gnu_debug___Safe_iterator\"},{type=\"ProString\"},{type=\"QPixmap\"},{type=\"QRect\"},{type=\"QAtomicInt\"},{type=\"QIPv6Address\"},{type=\"QUuid\"},{type=\"QJsonArray\"},{type=\"QByteArray\",formats=\"5, 6, 7, 8\"},{type=\"QRectF\"},{type=\"QVariant\"},{type=\"Debugger__Internal__DisassemblerLine\"},{type=\"QStack\",formats=\"16\"},{type=\"__gnu_cxx__hash_set\"},{type=\"CPlusPlus__Internal__Value\"},{type=\"QHashedString\"},{type=\"QSharedPointer\"},{type=\"std__deque\"},{type=\"QVector\",editable=\"true\",formats=\"16\"},{type=\"__m512\"},{type=\"std__unique_ptr\"},{type=\"Core__Id\"},{type=\"QMetaObjectPrivate\"},{type=\"std__set__iterator\"},{type=\"__m256\"},{type=\"CPlusPlus__Token\"},{type=\"std__set__const_iterator\"},{type=\"QMap\",formats=\"17\"},{type=\"std____cxx11__basic_string\"},{type=\"QJsonPrivate__qle_signedbitfield\"},{type=\"std__set\"},{type=\"__m512i\"},{type=\"std____1__unordered_map\",formats=\"17\"},{type=\"std__list\"},{type=\"QMultiMap\",formats=\"17\"},{type=\"Debugger__Internal__ThreadId\"},{type=\"std__unordered_set\"},{type=\"QV4__ScriptFunction\"},{type=\"__m128\"},{type=\"std____1__basic_string\"},{type=\"CPlusPlus__Internal__PPToken\"},{type=\"std__multimap\",formats=\"17\"},{type=\"QLocale\"},{type=\"__m512d\"},{type=\"std____1__unique_ptr\"},{type=\"QQmlAccessorProperties__Properties\"},{type=\"CPlusPlus__ByteArrayRef\"},{type=\"boost__unordered__unordered_set\"},{type=\"std____cxx11__wstring\",formats=\"2, 4\"},{type=\"std___Rb_tree_const_iterator\"},{type=\"std__deque__QNX\"},{type=\"QV4__ExecutionContext\"},{type=\"std__string\",editable=\"true\",formats=\"5, 6, 7, 8\"},{type=\"std__basic_string\"},{type=\"std____debug__unordered_set\"},{type=\"QByteArrayData\"},{type=\"KDSoapValue\"},{type=\"CPlusPlus__Identifier\"},{type=\"boost__container__list\"},{type=\"QVariant (QVariantMap)\",formats=\"17\"},{type=\"Debugger__Internal__GdbMi\"},{type=\"uint8_t\"},{type=\"QVariantMap\",formats=\"17\"},{type=\"QVarLengthArray\"},{type=\"QXmlStreamStringRef\"},{type=\"QArrayData\"},{type=\"QDir\"},{type=\"QV4__FunctionObject\"},{type=\"__m128i\"},{type=\"std____cxx11__string\",formats=\"5, 6, 7, 8\"},{type=\"CPlusPlus__Class\"},{type=\"std____debug__deque\"},{type=\"std____1__shared_ptr\"},{type=\"Utils__ElfSection\"},{type=\"QPointF\"},{type=\"QTime\"},{type=\"__m256d\"},{type=\"QFileInfo\"},{type=\"QScriptValue\"},{type=\"QPoint\"},{type=\"std____1__string\"},{type=\"std__vector__QNX\"},{type=\"CPlusPlus__Literal\"},{type=\"QTextCodec\"},{type=\"CPlusPlus__PointerType\"},{type=\"QV4__Value\"},{type=\"std____1__set\"},{type=\"QJsonValue\"},{type=\"std__shared_ptr\"},{type=\"boost__posix_time__ptime\"},{type=\"std__set__QNX\"},{type=\"QHash\",formats=\"17\"},{type=\"QList\",formats=\"18, 19\"},{type=\"QBasicAtomicInt\"},{type=\"QImage\",formats=\"2, 4\"},{type=\"std____1__unordered_set\"},{type=\"Utils__FileName\"},{type=\"QStringList\"},{type=\"QDateTime\"},{type=\"std__map__const_iterator\"},{type=\"std____debug__stack\"},{type=\"QHash__iterator\"},{type=\"QFlags\"},{type=\"QV4__CallContext\"},{type=\"QStringData\"},{type=\"std__map\",formats=\"17\"},{type=\"QFile\"},{type=\"std__map__QNX\"},{type=\"std____debug__unordered_map\",formats=\"17\"},{type=\"QWeakPointer\"},{type=\"std____debug__map\"},{type=\"std____cxx11__list\"},{type=\"boost__posix_time__time_duration\"},{type=\"KDSoapValue1\"},{type=\"QJsonObject\"},{type=\"QGraphicsPolygonItem\"},{type=\"std____1__array\",formats=\"16\"},{type=\"std___Rb_tree_iterator\"},{type=\"CPlusPlus__FullySpecifiedType\"},{type=\"std____cxx1998__set\"},{type=\"string\",editable=\"true\"},{type=\"std__list__QNX\"},{type=\"QSet\"},{type=\"boost__optional\"},{type=\"QJsonPrivate__qle_bitfield\"},{type=\"Debugger__Internal__BreakpointModelId\"},{type=\"QV4__Object\"},{type=\"QFiniteStack\",formats=\"16\"},{type=\"__m256i\"},{type=\"QV4__SimpleScriptFunction\"},{type=\"std__array\",formats=\"16\"},{type=\"QFixed\"},{type=\"std__vector\",editable=\"true\",formats=\"16\"},{type=\"std__complex\"},{type=\"QTJSC__JSValue\"},{type=\"CPlusPlus__IntegerType\"},{type=\"QPolygonF\"},{type=\"QStringRef\"},{type=\"QPolygon\"},{type=\"QRegion\"},{type=\"QSizeF\"},{type=\"QAtomicPointer\"},{type=\"boost__bimaps__bimap\"},{type=\"std____debug__vector\",formats=\"16\"},{type=\"CPlusPlus__NamedType\"},{type=\"Eigen__Matrix\"},{type=\"std__multiset\"},{type=\"boost__gregorian__date\"},{type=\"QQmlRefCount\"},{type=\"boost__shared_ptr\"},{type=\"QUrl\",formats=\"2, 4\"},{type=\"QScopedPointer\"},{type=\"QChar\"},],python=\"30501\"\n"
      >15^done
      dENGINE SUCCESSFULLY STARTED
      dNOTE: ENGINE SETUP OK
      dState changed from EngineSetupRequested(1) to EngineSetupOk(3) [master]
      dQUEUE: SETUP INFERIOR
      dState changed from EngineSetupOk(3) to InferiorSetupRequested(4) [master]
      dQUEUE: SETUP INFERIOR
      
      dCALL: SETUP INFERIOR
      <17-gdb-set environment LD_LIBRARY_PATH=/home/mitch/dev/qt5-dev-debug/qtbase/lib:/home/mitch/dev/qt5-dev-debug/qtbase/lib
      <18-gdb-set environment PATH=/home/mitch/dev/qt5-dev-debug/qtbase/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
      <19-gdb-set environment QTDIR=/home/mitch/dev/qt5-dev-debug/qtbase
      <20-gdb-set environment QT_LOGGING_RULES=qt.quick.itemview.lifecycle=true
      <21-gdb-set environment QT_MESSAGE_PATTERN=%{time ss:zzz} %{function}: %{message}
      <22-exec-arguments -input /home/mitch/dev/qt5-dev/qtquickcontrols2/tests/auto/controls/data/tst_tumbler.qml Tumbler::test_currentIndexAtCreation
      <23-file-exec-and-symbols "/home/mitch/dev/qt5-dev-debug/qtquickcontrols2/tests/auto/controls/default/tst_default"
      >16^done
      
      >17^done
      
      >18^done
      
      >19^done
      
      >20^done
      
      >21^done
      
      >22^done
      
      >23^done
      sSetting breakpoints...
      dSetting breakpoints...
      

      I'm not sure what's going on, but it would be good if Creator could detect that shit was hitting the fan and kill the application/debugging session.

      Attachments

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

        Activity

          People

            hjk hjk
            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