Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. How to trace QML where error occurs

How to trace QML where error occurs

Scheduled Pinned Locked Moved Unsolved General and Desktop
7 Posts 4 Posters 1.1k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • SPlattenS Offline
    SPlattenS Offline
    SPlatten
    wrote on last edited by
    #1

    I have several messages in the Debugger Console:

    QQmlEngine: Illegal attempt to connect to ListModel(0x78c66a0) that is in a different thread than the QML engine QQmlEngine(0x39e1428.    qml\qqmlnotifier.cpp    135
    ASSERT: "engine->jsStackTop >= mark" in file c:\users\qt\work\qt\qtdeclarative\src\qml\jsruntime\qv4scopedvalue_p.h, line 90   global\qglobal.cpp   3070
    ASSERT: "f" in file qml\qqmlbinding.cpp, line 187   global\qglobal.cpp   3070
    

    I'm trying to identify where in the QML these messages originate from, I've searched the Application for ListModel and there are a lot of usages, is there any way I can narrow it down?

    This application was developed a long time ago for Qt4.8 and I have the task of making it work with Qt5.8, the version to be used is not my choice.

    Kind Regards,
    Sy

    A 1 Reply Last reply
    0
    • SPlattenS SPlatten

      I have several messages in the Debugger Console:

      QQmlEngine: Illegal attempt to connect to ListModel(0x78c66a0) that is in a different thread than the QML engine QQmlEngine(0x39e1428.    qml\qqmlnotifier.cpp    135
      ASSERT: "engine->jsStackTop >= mark" in file c:\users\qt\work\qt\qtdeclarative\src\qml\jsruntime\qv4scopedvalue_p.h, line 90   global\qglobal.cpp   3070
      ASSERT: "f" in file qml\qqmlbinding.cpp, line 187   global\qglobal.cpp   3070
      

      I'm trying to identify where in the QML these messages originate from, I've searched the Application for ListModel and there are a lot of usages, is there any way I can narrow it down?

      This application was developed a long time ago for Qt4.8 and I have the task of making it work with Qt5.8, the version to be used is not my choice.

      A Offline
      A Offline
      Asperamanca
      wrote on last edited by
      #2

      @SPlatten
      I would start the project with Debug-Version Qt Dlls, search in Qt source code where "Illegal attempt to connect to ListModel" occurs, set a breakpoint and see how and when it is hit.

      SPlattenS 1 Reply Last reply
      0
      • A Asperamanca

        @SPlatten
        I would start the project with Debug-Version Qt Dlls, search in Qt source code where "Illegal attempt to connect to ListModel" occurs, set a breakpoint and see how and when it is hit.

        SPlattenS Offline
        SPlattenS Offline
        SPlatten
        wrote on last edited by
        #3

        @Asperamanca I don't have the debug symbols so all I get is assembler.

        Kind Regards,
        Sy

        jsulmJ 1 Reply Last reply
        0
        • SPlattenS SPlatten

          @Asperamanca I don't have the debug symbols so all I get is assembler.

          jsulmJ Offline
          jsulmJ Offline
          jsulm
          Lifetime Qt Champion
          wrote on last edited by
          #4

          @SPlatten You can install debug symbols...

          https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply
          0
          • A Offline
            A Offline
            Asperamanca
            wrote on last edited by
            #5

            Yes, it's just another package in the online installer. Or if you compile Qt yourself, there is probably an option to build them, too.

            In general, I can highly recommend debugging into Qt code in order to understand how things work.

            SPlattenS 1 Reply Last reply
            2
            • A Asperamanca

              Yes, it's just another package in the online installer. Or if you compile Qt yourself, there is probably an option to build them, too.

              In general, I can highly recommend debugging into Qt code in order to understand how things work.

              SPlattenS Offline
              SPlattenS Offline
              SPlatten
              wrote on last edited by
              #6

              @Asperamanca , I've installed the debug symbols on my development system, although it appears or I'm told that not everything is debuggable, for example I want to drill down into the QTcpSocket write function, I can't.

              Kind Regards,
              Sy

              J.HilkJ 1 Reply Last reply
              0
              • SPlattenS SPlatten

                @Asperamanca , I've installed the debug symbols on my development system, although it appears or I'm told that not everything is debuggable, for example I want to drill down into the QTcpSocket write function, I can't.

                J.HilkJ Offline
                J.HilkJ Offline
                J.Hilk
                Moderators
                wrote on last edited by J.Hilk
                #7

                @SPlatten I posted this earlier this month, but no harm in posting it again.

                Make sure you "link map" against the QtSources in QtCreator

                4ba4e870-38a3-45b4-bdfb-684b7295ff2a-image.png


                Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                Q: What's that?
                A: It's blue light.
                Q: What does it do?
                A: It turns blue.

                1 Reply Last reply
                3

                • Login

                • Login or register to search.
                • First post
                  Last post
                0
                • Categories
                • Recent
                • Tags
                • Popular
                • Users
                • Groups
                • Search
                • Get Qt Extensions
                • Unsolved