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

Segfault with onentry: log (SCXML)

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 5.9
    • 5.8.0
    • XML: SCXML
    • None
    • Arch Linux with qt5-base 5.8.0-7, gcc-Version 6.3.1 20170306 (GCC)
    • 27c4c643bae356d5bbdb58e44ec4b7932f277886

    Description

      Hi, I get a segfault when starting a very simple (scxml) statemachine with one state.

      When adding a "log" content to the "onentry" element the program crashes most of the time.

      I hope I've attached the necessary information. This is my first Qt Bug report

      main.cpp
      #include <QCoreApplication>
      #include <QtScxml/QScxmlStateMachine>
      #include <QDebug>
      int main(int argc, char *argv[])
      {
          QCoreApplication a(argc, argv);
      
          QScxmlStateMachine *machine = QScxmlStateMachine::fromFile(QStringLiteral(":/scxml"));
          if (!machine->parseErrors().isEmpty()) {
             const auto errors = machine->parseErrors();
             for (const QScxmlError &error : errors) {
                 qDebug() << error.toString();
             }
          }
          else qDebug() << "parsed ok";
          machine->start();
          return a.exec();
      }
      
      
      SCXML
      <?xml version="1.0" encoding="UTF-8"?>
      <scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" binding="early" xmlns:qt="http://www.qt.io/2015/02/scxml-ext" name="SCTest" qt:editorversion="4.2.1">
          <state id="idle">
              <onentry>
                  <log/>
              </onentry>
          </state>
      </scxml>
      
      
      Backtrace
      Thread 1 (Thread 0x7f88cd9861c0 (LWP 2430)):
      #0  0x00007f88cc6b5fd9 in QDebug::putString(QChar const*, unsigned long) () from /usr/lib/libQt5Core.so.5
      No symbol table info available.
      #1  0x00007f88cd5c9add in ?? () from /usr/lib/libQt5Scxml.so.5
      No symbol table info available.
      #2  0x00007f88cd5c7f00 in ?? () from /usr/lib/libQt5Scxml.so.5
      No symbol table info available.
      #3  0x00007f88cd5c812b in ?? () from /usr/lib/libQt5Scxml.so.5
      No symbol table info available.
      #4  0x00007f88cd5c9c55 in ?? () from /usr/lib/libQt5Scxml.so.5
      No symbol table info available.
      #5  0x00007f88cd5b7102 in ?? () from /usr/lib/libQt5Scxml.so.5
      No symbol table info available.
      #6  0x00007f88cd5b91e1 in ?? () from /usr/lib/libQt5Scxml.so.5
      No symbol table info available.
      #7  0x00007f88cc7d1ba9 in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5
      No symbol table info available.
      #8  0x00007f88cc7a542b in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
      No symbol table info available.
      #9  0x00007f88cc7a7bcd in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQt5Core.so.5
      No symbol table info available.
      #10 0x00007f88cc7f9c43 in ?? () from /usr/lib/libQt5Core.so.5
      No symbol table info available.
      #11 0x00007f88c9c445a7 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
      No symbol table info available.
      #12 0x00007f88c9c44810 in ?? () from /usr/lib/libglib-2.0.so.0
      No symbol table info available.
      #13 0x00007f88c9c448bc in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
      No symbol table info available.
      #14 0x00007f88cc7fa04f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
      No symbol table info available.
      #15 0x00007f88cc7a389a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
      No symbol table info available.
      #16 0x00007f88cc7abde4 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
      No symbol table info available.
      #17 0x0000000000401113 in main (argc=1, argv=0x7ffe14253e98) at ../scxml_test/main.cpp:20
              a = <incomplete type>
              machine = 0x23522a0
              __PRETTY_FUNCTION__ = "int main(int, char**)"
      

      Attachments

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

        Activity

          People

            jkobus Jarek Kobus
            jansen Jan Wiele
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes