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

Creating a QQmlEngine results in a segfault on powerpc

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P3: Somewhat important
    • None
    • 5.6.1
    • None
    • Debian GNU/Linux sid powerpc
    • a191de3f4dd777e8e60b4d3b5684b59d22be068d

    Description

      Running this code:

      #include <QtGui/QGuiApplication>
      #include <QtQml/QQmlEngine>
      
      int main(int argc, char **argv) {
          QGuiApplication app(argc, argv);
          QQmlEngine engine;
          return 0;
      }
      

      results in a segmentation fault on powerpc:

      #0  QV4::Heap::String::String (this=0x7ffe0000, mm=0x1006f870, t=...) at jsruntime/qv4string.cpp:121
      No locals.
      #1  0x0f77ef20 in QV4::MemoryManager::allocWithStringData<QV4::String, QString> (arg1=..., unmanagedSize=<optimized out>, this=0x1006f870)
          at ../../include/QtQml/5.6.1/QtQml/private/../../../../../src/qml/memory/qv4mm_p.h:137
      No locals.
      #2  QV4::ExecutionEngine::newString (this=0x1006f7b0, s=...) at jsruntime/qv4engine.cpp:516
              scope = {engine = 0x1006f7b0, mark = 0xf6410318}
      #3  0x0f79935c in QV4::IdentifierTable::insertString (this=0x1006fae0, s=...) at jsruntime/qv4identifiertable.cpp:124
              hash = 4294967295
              idx = 0
              str = <optimized out>
      #4  0x0f77f008 in QV4::ExecutionEngine::newIdentifier (this=this@entry=0x1006f7b0, text=...) at jsruntime/qv4engine.cpp:521
      No locals.
      #5  0x0f7832c4 in QV4::ExecutionEngine::ExecutionEngine (this=0x1006f7b0, factory=<optimized out>) at jsruntime/qv4engine.cpp:195
              argsClass = <optimized out>
              functionProtoClass = <optimized out>
              gcBlocker = {mm = 0x1006f870, wasBlocked = false}
              index = 0
              name = <optimized out>
      #6  0x0f914568 in QV8Engine::QV8Engine (this=0x1006f070, qq=<optimized out>) at qml/v8/qv8engine.cpp:144
              _qml_memory_scope = {pushed = false}
      #7  0x0f746a5c in QJSEngine::QJSEngine (this=0xfffef3b0, dd=..., parent=<optimized out>) at jsapi/qjsengine.cpp:274
      No locals.
      #8  0x0f8527f8 in QQmlEngine::QQmlEngine (this=0xfffef3b0, parent=0x0) at qml/qqmlengine.cpp:922
      No locals.
      #9  0x10000808 in main (argc=1, argv=0xfffef644) at test.cpp:6
              app = <incomplete type>
              engine = {<QJSEngine> = {<QObject> = {<No data fields>}, static staticMetaObject = {d = {superdata = 0xf406970 <QObject::staticMetaObject>, 
                      stringdata = 0xf9b1288 <qt_meta_stringdata_QJSEngine>, data = 0xf9b12a4 <qt_meta_data_QJSEngine>, 
                      static_metacall = 0xf746750 <QJSEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, 
                      extradata = 0x0}}, d = 0xe9efff4}, static staticMetaObject = {d = {superdata = 0xfa07650 <QJSEngine::staticMetaObject>, 
                    stringdata = 0xf9e7898 <qt_meta_stringdata_QQmlEngine>, data = 0xf9e7938 <qt_meta_data_QQmlEngine>, 
                    static_metacall = 0xf9738a0 <QQmlEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, 
                    extradata = 0x0}}}
      

      I am happy to provide any other debugging information if needed.

      The same happens on mips, which is also a 32-bit big endian architecture.

      Attachments

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

        Activity

          People

            erikv Erik Verbruggen
            mandriver Dmitry Shachnev
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes