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

Crash when trying to change base type of inline component

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P2: Important
    • None
    • Qt Creator 13.0.0
    • Quick / QML Support
    • None
    • Linux/Wayland

    Description

      Crash happens when trying to modify this code:

      import QtQuick
      import QtQuick.Controls
      import QtQuick.Layouts
      ApplicationWindow {
          id: window
          visible: true
          component BaseNode: Item {
          }
          component Something: Rectangle {
          }
          component Node: BaseNode {
          }
      }
      

      Put cursor after Rectangle there, CTRL+Backspace and then write fast "basen".

      #0  QmlJS::Bind::bindObject (this=this@entry=0x768360853520,
          qualifiedTypeNameId=<optimized out>, initializer=0x76836023ae40)
          at /home/qt/work/build/qt_install_dir/include/QtCore/qstring.h:280
      #1  0x00007684f06d83d1 in QmlJS::Bind::visit (this=0x768360853520,
          ast=0x76836023ae78)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/qmljsbind.cpp:273
      #2  0x00007684f06a5fd0 in QmlJS::AST::UiObjectDefinition::accept0 (
          this=0x76836023ae78, visitor=0x768360853520)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/parser/qmljsast.cpp:1221
      #3  0x00007684f06a41b5 in QmlJS::AST::Node::accept (visitor=0x768360853520,
          this=0x76836023ae78)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/parser/qmljsast_p.h:270
      #4  QmlJS::AST::Node::accept (visitor=0x768360853520, node=0x76836023ae78)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/parser/qmljsast_p.h:280
      #5  QmlJS::AST::UiInlineComponent::accept0 (this=0x76836023aea0,
          visitor=0x768360853520)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/parser/qmljsast.cpp:1569
      #6  0x00007684f06a1536 in QmlJS::AST::Node::accept (visitor=0x768360853520,
          this=0x76836023aea0)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/parser/qmljsast_p.h:270
      #7  QmlJS::AST::Node::accept (visitor=0x768360853520, node=0x76836023aea0)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/parser/qmljsast_p.h:280
      #8  QmlJS::AST::UiObjectMemberList::accept0 (this=0x768360334738,
          visitor=0x768360853520)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/parser/qmljsast.cpp:1285
      #9  0x00007684f06a3432 in QmlJS::AST::Node::accept (visitor=0x768360853520,
          this=0x768360334738)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/parser/qmljsast_p.h:270
      #10 QmlJS::AST::Node::accept (visitor=0x768360853520, node=0x768360334738)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/parser/qmljsast_p.h:280
      #11 QmlJS::AST::UiObjectInitializer::accept0 (this=0x7683608b7ef8,
          visitor=0x768360853520)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/parser/qmljsast.cpp:1233
      #12 0x00007684f06d66f2 in QmlJS::AST::Node::accept (visitor=0x768360853520,
          this=0x7683608b7ef8)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/parser/qmljsast_p.h:270
      #13 QmlJS::AST::Node::accept (visitor=0x768360853520,
          visitor@entry=0x7683608b7ef8, node=node@entry=0x7683608b7ef8)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/parser/qmljsast_p.h:280
      #14 QmlJS::Bind::accept (this=this@entry=0x768360853520,
          node=node@entry=0x7683608b7ef8)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/qmljsbind.cpp:176
      #15 0x00007684f06d72db in QmlJS::Bind::bindObject (
          this=this@entry=0x768360853520, qualifiedTypeNameId=<optimized out>,
          initializer=0x7683608b7ef8)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/qmljsbind.cpp:161
      #16 0x00007684f06d83d1 in QmlJS::Bind::visit (this=0x768360853520,
          ast=0x7683608b7f30)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/qmljsbind.cpp:273
      #17 0x00007684f06a5fd0 in QmlJS::AST::UiObjectDefinition::accept0 (
          this=0x7683608b7f30, visitor=0x768360853520)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/parser/qmljsast.cpp:1221
      #18 0x00007684f06a1536 in QmlJS::AST::Node::accept (visitor=0x768360853520,
          this=0x7683608b7f30)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/parser/qmljsast_p.h:270
      #19 QmlJS::AST::Node::accept (visitor=0x768360853520, node=0x7683608b7f30)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/parser/qmljsast_p.h:280
      #20 QmlJS::AST::UiObjectMemberList::accept0 (this=0x7683608b7f58,
          visitor=0x768360853520)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/parser/qmljsast.cpp:1285
      #21 0x00007684f068d965 in QmlJS::AST::Node::accept (this=0x7683608b7f58,
          visitor=0x768360853520)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/parser/qmljsast_p.h:270
      #22 0x00007684f06a5205 in QmlJS::AST::Node::accept (visitor=0x768360853520,
          node=<optimized out>)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/parser/qmljsast_p.h:280
      #23 QmlJS::AST::UiProgram::accept0 (this=0x7683608b7f78,
          visitor=0x768360853520)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/parser/qmljsast.cpp:1200
      #24 0x00007684f06d66f2 in QmlJS::AST::Node::accept (visitor=0x768360853520,
          this=0x7683608b7f78)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/parser/qmljsast_p.h:270
      #25 QmlJS::AST::Node::accept (visitor=0x768360853520,
          visitor@entry=0x7683608b7f78, node=0x7683608b7f78)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/parser/qmljsast_p.h:280
      #26 QmlJS::Bind::accept (this=this@entry=0x768360853520, node=0x7683608b7f78)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/qmljsbind.cpp:176
      #27 0x00007684f06d9973 in QmlJS::Bind::Bind (this=this@entry=0x768360853520,
          doc=doc@entry=0x768360b1cab0, messages=messages@entry=0x768360b1cac8,
          isJsLibrary=<optimized out>, jsImports=...)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/qmljsbind.cpp:48
      #28 0x00007684f0711ede in QmlJS::Document::parse_helper (this=0x768360b1cab0,
          startToken=<optimized out>)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/qmljsdocument.cpp:305
      #29 0x00007684f0778b1e in QmlJS::ModelManagerInterface::parseLoop(QSet<Utils::FilePath>&, QSet<Utils::FilePath>&, QmlJS::ModelManagerInterface::WorkingCopy const&, QList<Utils::FilePath>, QmlJS::ModelManagerInterface*, QmlJS::Dialect, bool, std::function<bool (double)> const&) (scannedPaths=..., newLibraries=...,
          workingCopy=..., files=..., modelManager=modelManager@entry=0x1ce07b0,
          mainLanguage=mainLanguage@entry=..., emitDocChangedOnDisk=false,
          reportProgress=...)
          at /home/qt/work/build/qt_install_dir/include/QtCore/qsharedpointer_impl.h:271
      #30 0x00007684f0779896 in QmlJS::ModelManagerInterface::parse (promise=...,
          workingCopy=..., files=..., modelManager=0x1ce07b0, mainLanguage=...,
          emitDocChangedOnDisk=<optimized out>)
          at /home/qt/work/build/qt-creator/src/libs/qmljs/qmljsmodelmanagerinterface.cpp:1151
      

      Attachments

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

        Activity

          People

            qtqmlteam Qt Qml Team User
            poikelin Joni Poikelin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes