Details
-
Bug
-
Resolution: Fixed
-
P1: Critical
-
6.9.1
-
None
-
f2e8a9b49 (dev), cb1eaacd1 (dev), 4150f0180 (6.10), 9e21a4139 (6.9), 325ce9261 (tqtc/lts-6.8)
Description
We tried Qt 6.9.1 on our CI and qmlformat crashes on our AlpineLinux (musl-based) container with attached qml file. We cannot reproduce it on ArchLinux (glibc) here.
Qt 6.9.0 works without problems.
(gdb) run /root/source/src/ui/qml/modules/AuthView/+desktop/internal/AuthController.qml Starting program: /root/dist/bin/qmlformat /root/source/src/ui/qml/modules/AuthView/+desktop/internal/AuthController.qml warning: Error disabling address space randomization: Function not implemented Program received signal SIGSEGV, Segmentation fault. 0x000060d50ae5eaca in QArrayDataPointer<QQmlJS::Dom::Comment>::QArrayDataPointer(QArrayDataPointer<QQmlJS::Dom::Comment> const&) () (gdb) thread apply all bt Thread 1 (process 1449 "qmlformat"): #0 0x000060d50ae5eaca in QArrayDataPointer<QQmlJS::Dom::Comment>::QArrayDataPointer(QArrayDataPointer<QQmlJS::Dom::Comment> const&) () #1 0x000060d50aea0f11 in QQmlJS::Dom::ScriptFormatter::visit(QQmlJS::AST::StatementList*) () #2 0x00006ffc097a85dd in QQmlJS::AST::StatementList::accept0(QQmlJS::AST::BaseVisitor*) () from /root/dist/bin/../lib/libQt6Qml.so.6 #3 0x000060d50adf9887 in QQmlJS::AST::Node::accept(QQmlJS::AST::Node*, QQmlJS::AST::BaseVisitor*) () #4 0x000060d50ae9eba0 in QQmlJS::Dom::ScriptFormatter::lnAcceptIndented(QQmlJS::AST::Node*) () #5 0x000060d50aea07db in QQmlJS::Dom::ScriptFormatter::visit(QQmlJS::AST::CaseClause*) () #6 0x00006ffc097a8a92 in QQmlJS::AST::CaseClause::accept0(QQmlJS::AST::BaseVisitor*) () from /root/dist/bin/../lib/libQt6Qml.so.6 #7 0x000060d50adf9887 in QQmlJS::AST::Node::accept(QQmlJS::AST::Node*, QQmlJS::AST::BaseVisitor*) () #8 0x000060d50ae9eb40 in QQmlJS::Dom::ScriptFormatter::visit(QQmlJS::AST::CaseClauses*) () #9 0x00006ffc097a8a41 in QQmlJS::AST::CaseClauses::accept0(QQmlJS::AST::BaseVisitor*) () from /root/dist/bin/../lib/libQt6Qml.so.6 #10 0x000060d50adf9887 in QQmlJS::AST::Node::accept(QQmlJS::AST::Node*, QQmlJS::AST::BaseVisitor*) () #11 0x000060d50ae9f09b in QQmlJS::Dom::ScriptFormatter::visit(QQmlJS::AST::CaseBlock*) () #12 0x00006ffc097a89e6 in QQmlJS::AST::CaseBlock::accept0(QQmlJS::AST::BaseVisitor*) () from /root/dist/bin/../lib/libQt6Qml.so.6 #13 0x000060d50adf9887 in QQmlJS::AST::Node::accept(QQmlJS::AST::Node*, QQmlJS::AST::BaseVisitor*) () #14 0x000060d50ae9f062 in QQmlJS::Dom::ScriptFormatter::visit(QQmlJS::AST::SwitchStatement*) () #15 0x00006ffc097a8998 in QQmlJS::AST::SwitchStatement::accept0(QQmlJS::AST::BaseVisitor*) () from /root/dist/bin/../lib/libQt6Qml.so.6 #16 0x000060d50adf9887 in QQmlJS::AST::Node::accept(QQmlJS::AST::Node*, QQmlJS::AST::BaseVisitor*) () #17 0x000060d50aea0e86 in QQmlJS::Dom::ScriptFormatter::visit(QQmlJS::AST::StatementList*) () #18 0x00006ffc097a85dd in QQmlJS::AST::StatementList::accept0(QQmlJS::AST::BaseVisitor*) () from /root/dist/bin/../lib/libQt6Qml.so.6 #19 0x000060d50adf9887 in QQmlJS::AST::Node::accept(QQmlJS::AST::Node*, QQmlJS::AST::BaseVisitor*) () #20 0x000060d50aea0d1e in QQmlJS::Dom::reformatAst(QQmlJS::Dom::OutWriter&, std::shared_ptr<QQmlJS::Dom::AstComments> const&, std::function<QStringView (QQmlJS::SourceLocation)> const&, QQmlJS::AST::Node*) () #21 0x000060d50ae6665e in QQmlJS::Dom::ScriptExpression::writeOut(QQmlJS::Dom::DomItem const&, QQmlJS::Dom::OutWriter&) const () #22 0x000060d50ada4567 in QQmlJS::Dom::DomItem::writeOut(QQmlJS::Dom::OutWriter&) const () #23 0x000060d50ae6b063 in QQmlJS::Dom::MethodInfo::writeOutBody(QQmlJS::Dom::DomItem const&, QQmlJS::Dom::OutWriter&) const () #24 0x000060d50ada4567 in QQmlJS::Dom::DomItem::writeOut(QQmlJS::Dom::OutWriter&) const () #25 0x000060d50ae77a4f in QQmlJS::Dom::QmlObject::writeOutSortedAttributes(QQmlJS::Dom::DomItem const&, QQmlJS::Dom::OutWriter&, QQmlJS::Dom::DomItem const&) const () #26 0x000060d50ae784d9 in QQmlJS::Dom::QmlObject::writeOut(QQmlJS::Dom::DomItem const&, QQmlJS::Dom::OutWriter&, QString const&) const () #27 0x000060d50ad964d1 in std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<std::__detail::__variant::__deduce_visit_result<void> (*)(QQmlJS::Dom::DomItem::writeOut(QQmlJS::Dom::OutWriter&) const::{lambda(auto:1&&)#1}&, std::variant<QQmlJS::Dom::ConstantData, QQmlJS::Dom::Empty, QQmlJS::Dom::List, QQmlJS::Dom::ListP, QQmlJS::Dom::Map, QQmlJS::Dom::Reference, QQmlJS::Dom::ScriptElementDomWrapper, QQmlJS::Dom::SimpleObjectWrap, QQmlJS::Dom::AstComments const*, QQmlJS::Dom::FileLocations::Node const*, QQmlJS::Dom::DomEnvironment const*, QQmlJS::Dom::DomUniverse const*, QQmlJS::Dom::EnumDecl const*, QQmlJS::Dom::ExternalItemInfoBase const*, QQmlJS::Dom::ExternalItemPairBase const*, QQmlJS::Dom::GlobalComponent const*, QQmlJS::Dom::GlobalScope const*, QQmlJS::Dom::JsFile const*, QQmlJS::Dom::JsResource const*, QQmlJS::Dom::LoadInfo const*, QQmlJS::Dom::MockObject const*, QQmlJS::Dom::MockOwner const*, QQmlJS::Dom::ModuleIndex const*, QQmlJS::Dom::ModuleScope const*, QQmlJS::Dom::QmlComponent const*, QQmlJS::Dom::QmlDirectory const*, QQmlJS::Dom::QmlFile const*, QQmlJS::Dom::QmlObject const*, QQmlJS::Dom::QmldirFile const*, QQmlJS::Dom::QmltypesComponent const*, QQmlJS::Dom::QmltypesFile const*, QQmlJS::Dom::ScriptExpression const*> const&)>, std::integer_sequence<unsigned long, 27ul> >::__visit_invoke(QQmlJS::Dom::DomItem::writeOut(QQmlJS::Dom::OutWriter&) const::{lambda(auto:1&&)#1}&, std::variant<QQmlJS::Dom::ConstantData, QQmlJS::Dom::Empty, QQmlJS::Dom::List, QQmlJS::Dom::ListP, QQmlJS::Dom::Map, QQmlJS::Dom::Reference, QQmlJS::Dom::ScriptElementDomWrapper, QQmlJS::Dom::SimpleObjectWrap, QQmlJS::Dom::AstComments const*, QQmlJS::Dom::FileLocations::Node const*, QQmlJS::Dom::DomEnvironment const*, QQmlJS::Dom::DomUniverse const*, QQmlJS::Dom::EnumDecl const*, QQmlJS::Dom::ExternalItemInfoBase const*, QQmlJS::Dom::ExternalItemPairBase const*, QQmlJS::Dom::GlobalComponent const*, QQmlJS::Dom::GlobalScope const*, QQmlJS::Dom::JsFile const*, QQmlJS::Dom::JsResource const*, QQmlJS::Dom::LoadInfo const*, QQmlJS::Dom::MockObject const*, QQmlJS::Dom::MockOwner const*, QQmlJS::Dom::ModuleIndex const*, QQmlJS::Dom::ModuleScope const*, QQmlJS::Dom::QmlComponent const*, QQmlJS::Dom::QmlDirectory const*, QQmlJS::Dom::QmlFile const*, QQmlJS::Dom::QmlObject const*, QQmlJS::Dom::QmldirFile const*, QQmlJS::Dom::QmltypesComponent const*, QQmlJS::Dom::QmltypesFile const*, QQmlJS::Dom::ScriptExpression const*> const&) () #28 0x000060d50ada4567 in QQmlJS::Dom::DomItem::writeOut(QQmlJS::Dom::OutWriter&) const () #29 0x000060d50ae6ffa6 in QQmlJS::Dom::QmlComponent::writeOut(QQmlJS::Dom::DomItem const&, QQmlJS::Dom::OutWriter&) const () #30 0x000060d50ada4567 in QQmlJS::Dom::DomItem::writeOut(QQmlJS::Dom::OutWriter&) const () #31 0x000060d50ae8cbfd in QQmlJS::Dom::QmlFile::writeOut(QQmlJS::Dom::DomItem const&, QQmlJS::Dom::OutWriter&) const () #32 0x000060d50ada4567 in QQmlJS::Dom::DomItem::writeOut(QQmlJS::Dom::OutWriter&) const () #33 0x000060d50adadce9 in QQmlJS::Dom::DomItem::writeOutForFile(QQmlJS::Dom::OutWriter&, QFlags<QQmlJS::Dom::WriteOutCheck>) const () #34 0x000060d50ad7b57a in parseFile(QString const&, QQmlFormatOptions const&) () #35 0x000060d50ad79bb1 in main ()