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

Crash from Utils::unCommentSelection

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • Qt Creator 3.2.2
    • Qt Creator 3.2.0, Qt Creator 3.3.0-beta1
    • Editors
    • None
    • current dev branch of Qt, debian 7.0
    • 165f759e184b28be8bb071e6ed3308436e404238

    Description

      I'll try to figure out the exact circumstances for triggering this, but it happened when selecting a block of text and doing CTRL-/. I don't know if the text was already commented or not.

      #0  0x00007ffff43631a5 in *__GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
      #1  0x00007ffff4366420 in *__GI_abort () at abort.c:92
      #2  0x00007ffff5385cf3 in qt_message_fatal (context=..., message=...) at /home/ulf/dev/qt5-src/qtbase/src/corelib/global/qlogging.cpp:1427
      #3  0x00007ffff538258c in QMessageLogger::fatal (this=0x7fffffffacb0, msg=0x7ffff5738e60 "ASSERT failure in %s: \"%s\", file %s, line %d")
          at /home/ulf/dev/qt5-src/qtbase/src/corelib/global/qlogging.cpp:614
      #4  0x00007ffff537c758 in qt_assert_x (where=0x7ffff683acaf "QVector<T>::operator[]", what=0x7ffff683ac9c "index out of range", 
          file=0x7ffff683ac50 "../../include/QtCore/../../../../qt5-src/qtbase/src/corelib/tools/qvector.h", line=404) at /home/ulf/dev/qt5-src/qtbase/src/corelib/global/qglobal.cpp:2824
      #5  0x00007ffff652b608 in QVector<QScriptItem>::operator[] (this=0x9d70580, i=-1) at ../../include/QtCore/../../../../qt5-src/qtbase/src/corelib/tools/qvector.h:404
      #6  0x00007ffff653bcd3 in QTextLine::cursorToX (this=0x7fffffffb500, cursorPos=0x7fffffffb454, edge=QTextLine::Leading)
          at /home/ulf/dev/qt5-src/qtbase/src/gui/text/qtextlayout.cpp:2598
      #7  0x00007ffff6ee5ac4 in QTextLine::cursorToX (this=0x7fffffffb500, cursorPos=11, edge=QTextLine::Leading)
          at ../../include/QtGui/../../../../qt5-src/qtbase/src/gui/text/qtextlayout.h:233
      #8  0x00007ffff6f79546 in QWidgetTextControlPrivate::rectForPosition (this=0xa844b0, position=4028) at /home/ulf/dev/qt5-src/qtbase/src/widgets/widgets/qwidgettextcontrol.cpp:1431
      #9  0x00007ffff6f7e8e7 in QWidgetTextControl::cursorRect (this=0x9c080b0, cursor=...) at /home/ulf/dev/qt5-src/qtbase/src/widgets/widgets/qwidgettextcontrol.cpp:2303
      #10 0x00007ffff6fa310f in QPlainTextEditControl::cursorRect (this=0x9c080b0, cursor=...) at /home/ulf/dev/qt5-src/qtbase/src/widgets/widgets/qplaintextedit_p.h:89
      #11 0x00007ffff6fa319e in QPlainTextEditControl::cursorRect (this=0x9c080b0) at /home/ulf/dev/qt5-src/qtbase/src/widgets/widgets/qplaintextedit_p.h:93
      #12 0x00007ffff6fa0737 in QPlainTextEdit::cursorRect (this=0xa055d00) at /home/ulf/dev/qt5-src/qtbase/src/widgets/widgets/qplaintextedit.cpp:2373
      #13 0x00007ffff6fa17f1 in QPlainTextEditPrivate::ensureCursorVisible (this=0xa04fd20, center=false) at /home/ulf/dev/qt5-src/qtbase/src/widgets/widgets/qplaintextedit.cpp:2992
      #14 0x00007ffff6fa19d0 in QPlainTextEdit::ensureCursorVisible (this=0xa055d00) at /home/ulf/dev/qt5-src/qtbase/src/widgets/widgets/qplaintextedit.cpp:3013
      #15 0x00007ffff6fa31cc in QPlainTextEditControl::ensureCursorVisible (this=0x9c080b0) at /home/ulf/dev/qt5-src/qtbase/src/widgets/widgets/qplaintextedit_p.h:95
      #16 0x00007ffff6f76c83 in QWidgetTextControl::setTextCursor (this=0x9c080b0, cursor=...) at /home/ulf/dev/qt5-src/qtbase/src/widgets/widgets/qwidgettextcontrol.cpp:896
      #17 0x00007ffff6f9cf98 in QPlainTextEdit::doSetTextCursor (this=0xa055d00, cursor=...) at /home/ulf/dev/qt5-src/qtbase/src/widgets/widgets/qplaintextedit.cpp:1370
      #18 0x00007ffff6f9cf5c in QPlainTextEdit::setTextCursor (this=0xa055d00, cursor=...) at /home/ulf/dev/qt5-src/qtbase/src/widgets/widgets/qplaintextedit.cpp:1358
      #19 0x00007ffff76b9147 in Utils::unCommentSelection (edit=0xa055d00, definition=...) at /home/ulf/dev/qtcreator-super/qt-creator/src/libs/utils/uncommentselection.cpp:250
      #20 0x00007fffe39968be in TextEditor::BaseTextEditorWidget::unCommentSelection (this=0xa055d00)
          at /home/ulf/dev/qtcreator-super/qt-creator/src/plugins/texteditor/basetexteditor.cpp:6034
      #21 0x00007fffe39b42a5 in operator() (__closure=0x608e810, w=0xa055d00) at /home/ulf/dev/qtcreator-super/qt-creator/src/plugins/texteditor/texteditoractionhandler.cpp:396
      #22 0x00007fffe39c1c63 in std::_Function_handler<void(TextEditor::BaseTextEditorWidget*), TextEditor::Internal::TextEditorActionHandlerPrivate::createActions()::<lambda(TextEditor::BaseTextEditorWidget*)> >::_M_invoke(const std::_Any_data &, TextEditor::BaseTextEditorWidget *) (__functor=..., __args#0=0xa055d00) at /usr/include/c++/4.7/functional:1926
      #23 0x00007fffe39ca30f in std::function<void (TextEditor::BaseTextEditorWidget*)>::operator()(TextEditor::BaseTextEditorWidget*) const (this=0x9da88e8, __args#0=0xa055d00)
          at /usr/include/c++/4.7/functional:2311
      #24 0x00007fffe39c9d38 in TextEditor::Internal::TextEditorActionHandlerPrivate::registerAction(Core::Id, std::function<void (TextEditor::BaseTextEditorWidget*)>, bool, QString const&, QKeySequence const&, char const*, Core::ActionContainer*)::{lambda(bool)#1}::operator()(bool) const (__closure=0x9da88e0)
          at /home/ulf/dev/qtcreator-super/qt-creator/src/plugins/texteditor/texteditoractionhandler.cpp:87
      #25 0x00007fffe39cad32 in std::_Function_handler<void (bool), TextEditor::Internal::TextEditorActionHandlerPrivate::registerAction(Core::Id, std::function<void (TextEditor::BaseTextEditorWidget*)>, bool, QString const&, QKeySequence const&, char const*, Core::ActionContainer*)::{lambda(bool)#1}>::_M_invoke(std::_Any_data const&, bool) (__functor=..., 
          __args#0=false) at /usr/include/c++/4.7/functional:1926
      #26 0x00007fffe39cc036 in std::function<void (bool)>::operator()(bool) const (this=0x7fffffffbcf0, __args#0=false) at /usr/include/c++/4.7/functional:2311
      #27 0x00007fffe39cbfd2 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, std::function<void (bool)> >::call(std::function<void (bool)>, void**) (
          f=..., arg=0x7fffffffbf40) at /home/ulf/dev/qt5-dev/qtbase/include/QtCore/../../../../qt5-src/qtbase/src/corelib/kernel/qobjectdefs_impl.h:502
      #28 0x00007fffe39cbdeb in QtPrivate::Functor<std::function<void (bool)>, 1>::call<QtPrivate::List<bool>, void>(std::function<void (bool)>&, void*, void**) (f=..., arg=0x7fffffffbf40)
          at /home/ulf/dev/qt5-dev/qtbase/include/QtCore/../../../../qt5-src/qtbase/src/corelib/kernel/qobjectdefs_impl.h:559
      #29 0x00007fffe39cbcbf in QtPrivate::QFunctorSlotObject<std::function<void (bool)>, 1, QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (
          which=1, this_=0xeaead0, r=0xead980, a=0x7fffffffbf40, ret=0x0) at /home/ulf/dev/qt5-dev/qtbase/include/QtCore/../../../../qt5-src/qtbase/src/corelib/kernel/qobject_impl.h:200
      #30 0x00007ffff5665067 in QtPrivate::QSlotObjectBase::call (this=0xeaead0, r=0xead980, a=0x7fffffffbf40)
          at ../../include/QtCore/../../../../qt5-src/qtbase/src/corelib/kernel/qobject_impl.h:132
      #31 0x00007ffff5662076 in QMetaObject::activate (sender=0xead980, signalOffset=3, local_signal_index=1, argv=0x7fffffffbf40)
          at /home/ulf/dev/qt5-src/qtbase/src/corelib/kernel/qobject.cpp:3695
      #32 0x00007ffff566198a in QMetaObject::activate (sender=0xead980, m=0x7ffff75adfa0, local_signal_index=1, argv=0x7fffffffbf40)
          at /home/ulf/dev/qt5-src/qtbase/src/corelib/kernel/qobject.cpp:3575
      #33 0x00007ffff6d105c6 in QAction::triggered (this=0xead980, _t1=false) at .moc/moc_qaction.cpp:360
      #34 0x00007ffff6d0fbc4 in QAction::qt_static_metacall (_o=0xead980, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7fffffffc140) at .moc/moc_qaction.cpp:201
      #35 0x00007ffff5662183 in QMetaObject::activate (sender=0x961890, signalOffset=3, local_signal_index=1, argv=0x7fffffffc140)
          at /home/ulf/dev/qt5-src/qtbase/src/corelib/kernel/qobject.cpp:3709
      #36 0x00007ffff566198a in QMetaObject::activate (sender=0x961890, m=0x7ffff75adfa0, local_signal_index=1, argv=0x7fffffffc140)
          at /home/ulf/dev/qt5-src/qtbase/src/corelib/kernel/qobject.cpp:3575
      #37 0x00007ffff6d105c6 in QAction::triggered (this=0x961890, _t1=false) at .moc/moc_qaction.cpp:360
      #38 0x00007ffff6d0f974 in QAction::activate (this=0x961890, event=QAction::Trigger) at /home/ulf/dev/qt5-src/qtbase/src/widgets/kernel/qaction.cpp:1175
      #39 0x00007ffff6d0f727 in QAction::event (this=0x961890, e=0x7fffffffc9f0) at /home/ulf/dev/qt5-src/qtbase/src/widgets/kernel/qaction.cpp:1103
      #40 0x00007ffff6d204ca in QApplicationPrivate::notify_helper (this=0x61bf20, receiver=0x961890, e=0x7fffffffc9f0)
          at /home/ulf/dev/qt5-src/qtbase/src/widgets/kernel/qapplication.cpp:3720
      #41 0x00007ffff6d1db07 in QApplication::notify (this=0x7fffffffd6e0, receiver=0x961890, e=0x7fffffffc9f0) at /home/ulf/dev/qt5-src/qtbase/src/widgets/kernel/qapplication.cpp:3172
      #42 0x00007ffff561ddae in QCoreApplication::notifyInternal (this=0x7fffffffd6e0, receiver=0x961890, event=0x7fffffffc9f0)
          at /home/ulf/dev/qt5-src/qtbase/src/corelib/kernel/qcoreapplication.cpp:940
      #43 0x00007ffff6442599 in QCoreApplication::sendEvent (receiver=0x961890, event=0x7fffffffc9f0)
          at ../../include/QtCore/../../../../qt5-src/qtbase/src/corelib/kernel/qcoreapplication.h:236
      #44 0x00007ffff647a24e in QShortcutMap::dispatchEvent (this=0x61c000, e=0x7fffffffd220) at /home/ulf/dev/qt5-src/qtbase/src/gui/kernel/qshortcutmap.cpp:689
      #45 0x00007ffff6479285 in QShortcutMap::tryShortcutEvent (this=0x61c000, o=0xa055d00, e=0x7fffffffd220) at /home/ulf/dev/qt5-src/qtbase/src/gui/kernel/qshortcutmap.cpp:360
      #46 0x00007ffff6d1da26 in QApplication::notify (this=0x7fffffffd6e0, receiver=0x191f950, e=0x7fffffffd220) at /home/ulf/dev/qt5-src/qtbase/src/widgets/kernel/qapplication.cpp:3155
      #47 0x00007ffff561ddae in QCoreApplication::notifyInternal (this=0x7fffffffd6e0, receiver=0x191f950, event=0x7fffffffd220)
          at /home/ulf/dev/qt5-src/qtbase/src/corelib/kernel/qcoreapplication.cpp:940
      #48 0x00007ffff64425f3 in QCoreApplication::sendSpontaneousEvent (receiver=0x191f950, event=0x7fffffffd220)
          at ../../include/QtCore/../../../../qt5-src/qtbase/src/corelib/kernel/qcoreapplication.h:239
      #49 0x00007ffff643c0a2 in QGuiApplicationPrivate::processKeyEvent (e=0x60960b0) at /home/ulf/dev/qt5-src/qtbase/src/gui/kernel/qguiapplication.cpp:1883
      #50 0x00007ffff643aec8 in QGuiApplicationPrivate::processWindowSystemEvent (e=0x60960b0) at /home/ulf/dev/qt5-src/qtbase/src/gui/kernel/qguiapplication.cpp:1587
      #51 0x00007ffff6423fc9 in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /home/ulf/dev/qt5-src/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:579
      #52 0x00007fffef65c2e8 in userEventSourceDispatch (source=0x7fffe4001080) at /home/ulf/dev/qt5-src/qtbase/src/platformsupport/eventdispatchers/qeventdispatcher_glib.cpp:78
      #53 0x00007ffff2ec6355 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
      #54 0x00007ffff2ec6688 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
      #55 0x00007ffff2ec6744 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
      #56 0x00007ffff5698f1f in QEventDispatcherGlib::processEvents (this=0x7fffe4008a60, flags=...) at /home/ulf/dev/qt5-src/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:426
      #57 0x00007fffef65c4fe in QPAEventDispatcherGlib::processEvents (this=0x7fffe4008a60, flags=...)
          at /home/ulf/dev/qt5-src/qtbase/src/platformsupport/eventdispatchers/qeventdispatcher_glib.cpp:123
      #58 0x00007ffff561a92a in QEventLoop::processEvents (this=0x7fffffffd5d0, flags=...) at /home/ulf/dev/qt5-src/qtbase/src/corelib/kernel/qeventloop.cpp:136
      #59 0x00007ffff561ac17 in QEventLoop::exec (this=0x7fffffffd5d0, flags=...) at /home/ulf/dev/qt5-src/qtbase/src/corelib/kernel/qeventloop.cpp:212
      #60 0x00007ffff561e497 in QCoreApplication::exec () at /home/ulf/dev/qt5-src/qtbase/src/corelib/kernel/qcoreapplication.cpp:1193
      #61 0x00007ffff643ac4e in QGuiApplication::exec () at /home/ulf/dev/qt5-src/qtbase/src/gui/kernel/qguiapplication.cpp:1515
      #62 0x00007ffff6d1d32b in QApplication::exec () at /home/ulf/dev/qt5-src/qtbase/src/widgets/kernel/qapplication.cpp:2964
      #63 0x000000000040efff in main (argc=1, argv=0x7fffffffe298) at /home/ulf/dev/qtcreator-super/qt-creator/src/app/main.cpp:535
      

      Attachments

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

        Activity

          People

            ulherman Ulf Hermann
            ulherman Ulf Hermann
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes