Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-20948

Error message about unknown QML elements created from Javascript crashes on ARM with segmentation fault

    XMLWordPrintable

Details

    Description

      How to reproduce:

      • take the Samegame QML example, and change the first Item in SamegameCore/BoomBlock.qml to CrashItem for example.
      • start the game with qmlviewer and press New Game

      Under x86 you will get the error messages:

      error loading block component
      file:///home/anderssv/www/qml/samegame/SamegameCore/BoomBlock.qml:45 CrashItem is not a type

      On ARM platform it results in a segmentation fault:

      error loading block component
      Segmentation fault (core dumped)

      Hardware: ST SPEAr ARM platform, 64MB RAM, 64MB flash, 480x272 pixel framebuffer
      Compiler: arm-none-linux-gnueabi-g++ (CodeSourcery Sourcery G++ Lite 2007q1-21) 4.2.0 20070413 (prerelease)
      Qt version: current 4.8 branch on gitorious

      Configuration:

      ./configure -embedded arm -xplatform qws/linux-arm-gnueabi-g++ -release -no-largefile -no-stl -no-qt3support -xmlpatterns -exceptions -no-multimedia 
      -no-audio-backend -no-nis -no-phonon -no-phonon-backend -declarative -no-declarative-debug -depths 32 -plugin-decoration-windows -plugin-decoration-styled 
      -plugin-decoration-default -no-opengl -no-cups -no-dbus -qt-mouse-linuxinput -system-freetype -system-zlib -system-libpng -system-libjpeg -no-accessibility 
      -no-webkit -no-svg -make libs -opensource -confirm-license -no-feature-CURSOR
      

      Command line:

      ./qmlviewer -qws -fullscreen file:///tmp/qml/samegame/samegame.qml

      Backtrace:

      #0  0x4023103c in operator+=<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QString, QLatin1Char>, QString>, QLatin1Char>, QString>, QLatin1Char>
          () from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtDeclarative.so.4
      #1  0x40230de4 in QDeclarativeComponent::errorString ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtDeclarative.so.4
      #2  0x403711b8 in QDeclarativeComponent::qt_static_metacall ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtDeclarative.so.4
      #3  0x40371350 in QDeclarativeComponent::qt_metacall ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtDeclarative.so.4
      #4  0x4193b018 in QMetaObject::metacall ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtCore.so.4
      #5  0x402f0e58 in QDeclarativeObjectMethodScriptClass::callMethod ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtDeclarative.so.4
      #6  0x402f1820 in QDeclarativeObjectMethodScriptClass::callPrecise ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtDeclarative.so.4
      #7  0x402f2228 in QDeclarativeObjectMethodScriptClass::call ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtDeclarative.so.4
      #8  0x40afbae8 in QScript::DeclarativeObjectDelegate::call ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtScript.so.4
      #9  0x409ef340 in QTJSC::NativeFuncWrapper::operator() ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtScript.so.4
      #10 0x409c5880 in QTJSC::Interpreter::privateExecute ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtScript.so.4
      #11 0x409cb968 in QTJSC::Interpreter::execute ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtScript.so.4
      #12 0x40a1b8d0 in QTJSC::JSFunction::call ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtScript.so.4
      #13 0x409ef380 in QTJSC::call ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtScript.so.4
      #14 0x40ad4778 in QScriptValue::call ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtScript.so.4
      #15 0x402217f8 in QDeclarativeQtScriptExpression::eval ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtDeclarative.so.4
      #16 0x402237f0 in QDeclarativeQtScriptExpression::scriptValue ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtDeclarative.so.4
      #17 0x40223abc in QDeclarativeExpressionPrivate::scriptValue ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtDeclarative.so.4
      #18 0x40223cc8 in QDeclarativeExpressionPrivate::value ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtDeclarative.so.4
      #19 0x4026ced4 in QDeclarativeBoundSignal::qt_metacall ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtDeclarative.so.4
      #20 0x4193b018 in QMetaObject::metacall ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtCore.so.4
      #21 0x4194e644 in QMetaObject::activate ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtCore.so.4
      #22 0x402064e4 in QDeclarativeVMEMetaObject::metaCall ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtDeclarative.so.4
      #23 0x4193b004 in QMetaObject::metacall ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtCore.so.4
      #24 0x402f0e14 in QDeclarativeObjectMethodScriptClass::callMethod ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtDeclarative.so.4
      #25 0x402f1820 in QDeclarativeObjectMethodScriptClass::callPrecise ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtDeclarative.so.4
      #26 0x402f2228 in QDeclarativeObjectMethodScriptClass::call ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtDeclarative.so.4
      #27 0x40afbae8 in QScript::DeclarativeObjectDelegate::call ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtScript.so.4
      #28 0x409ef340 in QTJSC::NativeFuncWrapper::operator() ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtScript.so.4
      #29 0x409c5880 in QTJSC::Interpreter::privateExecute ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtScript.so.4
      #30 0x409cb968 in QTJSC::Interpreter::execute ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtScript.so.4
      #31 0x40a1b8d0 in QTJSC::JSFunction::call ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtScript.so.4
      #32 0x409ef380 in QTJSC::call ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtScript.so.4
      #33 0x40ad4778 in QScriptValue::call ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtScript.so.4
      #34 0x402217f8 in QDeclarativeQtScriptExpression::eval ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtDeclarative.so.4
      #35 0x402237f0 in QDeclarativeQtScriptExpression::scriptValue ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtDeclarative.so.4
      #36 0x40223abc in QDeclarativeExpressionPrivate::scriptValue ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtDeclarative.so.4
      #37 0x40223cc8 in QDeclarativeExpressionPrivate::value ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtDeclarative.so.4
      #38 0x4026ced4 in QDeclarativeBoundSignal::qt_metacall ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtDeclarative.so.4
      #39 0x4193b018 in QMetaObject::metacall ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtCore.so.4
      #40 0x4194e644 in QMetaObject::activate ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtCore.so.4
      #41 0x40365b18 in QDeclarativeMouseArea::clicked ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtDeclarative.so.4
      #42 0x4019f250 in QDeclarativeMouseArea::setPressed ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtDeclarative.so.4
      #43 0x4019f354 in QDeclarativeMouseArea::mouseReleaseEvent ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtDeclarative.so.4
      #44 0x413a1e18 in QGraphicsItem::sceneEvent ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtGui.so.4
      #45 0x4018c550 in QDeclarativeItem::sceneEvent ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtDeclarative.so.4
      #46 0x4019e6ac in QDeclarativeMouseArea::sceneEvent ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtDeclarative.so.4
      #47 0x413ca3b0 in QGraphicsScenePrivate::sendEvent ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtGui.so.4
      #48 0x413cb914 in QGraphicsScenePrivate::sendMouseEvent ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtGui.so.4
      #49 0x413d6768 in QGraphicsScene::mouseReleaseEvent ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtGui.so.4
      #50 0x413e5d68 in QGraphicsScene::event ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtGui.so.4
      #51 0x40d42540 in QApplicationPrivate::notify_helper ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtGui.so.4
      #52 0x40d46828 in QApplication::notify ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtGui.so.4
      #53 0x419320dc in QCoreApplication::notifyInternal ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtCore.so.4
      #54 0x40d4195c in qt_sendSpontaneousEvent ()
         from /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtGui.so.4
      #55 0xbef8c320 in ?? ()
      

      Backtrace 2: (with toolchain gdb on host with -g enabled)

      #0  0x40233564 in operator+=<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QString, QLatin1Char>, QString>, QLatin1Char>, QString>, QLatin1Char> (a=@0xbe9bca54, b=@0xbe9bca00)
          at ../../include/QtCore/../../src/corelib/tools/qstringbuilder.h:399
      #1  0x40232c60 in QDeclarativeComponent::errorString (this=<value optimized out>) at qml/qdeclarativecomponent.cpp:588
      #2  0x403735c8 in QDeclarativeComponent::qt_static_metacall (_o=<value optimized out>, _c=<value optimized out>, _id=-1097086425, _a=0xbe9bcbf0)
          at .moc/release-shared-emb-arm/moc_qdeclarativecomponent.cpp:93
      #3  0x40373760 in QDeclarativeComponent::qt_metacall (this=0x140060, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbe9bcbf0) at .moc/release-shared-emb-arm/moc_qdeclarativecomponent.cpp:137
      #4  0x419469f0 in QMetaObject::metacall (object=0xbe9bca54, cl=3197880840, idx=-1097086425, argv=0x5) at kernel/qmetaobject.cpp:245
      #5  0x402f3388 in QDeclarativeObjectMethodScriptClass::callMethod (this=0x40009a50, object=0x4000e39c, index=-1097086272, returnType=10, argCount=1085627536, argTypes=0x0, ctxt=0x431de108)
          at qml/qdeclarativeobjectscriptclass.cpp:981
      #6  0x402f3d78 in QDeclarativeObjectMethodScriptClass::callPrecise (this=0x1102c0, object=0x140060, data=@0x8f174, ctxt=0x431de108) at qml/qdeclarativeobjectscriptclass.cpp:948
      #7  0x402f4780 in QDeclarativeObjectMethodScriptClass::call (this=0xbe9bca08, o=0x402f4780, ctxt=0x40233548) at qml/qdeclarativeobjectscriptclass.cpp:917
      #8  0x40b03988 in QScript::DeclarativeObjectDelegate::call (exec=<value optimized out>, callee=0x434039e0, thisValue=<value optimized out>, args=<value optimized out>)
          at bridge/qscriptdeclarativeobject.cpp:154
      #9  0x409f7340 in QTJSC::NativeFuncWrapper::operator() (this=0xbe9bcf0c, exec=0x431de108, jsobj=0x434039e0, thisValue={m_ptr = 0x43402a80}, argList=@0xbe9bced4)
          at ../3rdparty/javascriptcore/JavaScriptCore/runtime/CallData.cpp:46
      

      Attachments

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

        Activity

          People

            Unassigned Unassigned
            anderssv Sven Anderson
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes