Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QML and Qt Quick
  4. QML Loader leaks memory
Qt 6.11 is out! See what's new in the release blog

QML Loader leaks memory

Scheduled Pinned Locked Moved QML and Qt Quick
28 Posts 11 Posters 29.7k 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.
  • A Offline
    A Offline
    altera_2011
    wrote on last edited by
    #6

    Have you been able to resolve this? I'm running into this exact same thing.

    1 Reply Last reply
    0
    • ? Offline
      ? Offline
      A Former User
      wrote on last edited by
      #7

      How serious is that memory leak ?

      1 Reply Last reply
      0
      • N Offline
        N Offline
        njeisecke
        wrote on last edited by
        #8

        I've made similar observations. I suspect it's memory fragmentation.

        1 Reply Last reply
        0
        • A Offline
          A Offline
          altera_2011
          wrote on last edited by
          #9

          Our leak is very serious, on a fully loaded QML (images and stuff) it leaks about 1MB per load. Which is really bad considering we have about 128MB total memory on the Windows CE device we use. We have to reboot the Windows CE device way to often. (several times a day, TPHB is not really happy about that, nor am I).

          1 Reply Last reply
          0
          • ? Offline
            ? Offline
            A Former User
            wrote on last edited by
            #10

            Hi altera,

            I havent sort out this problem but rather to reduce start up delay leakage in my application i have loaded files only once and afterwards setting visible to true/false so finally i am not unloading file.

            1 Reply Last reply
            0
            • A Offline
              A Offline
              altera_2011
              wrote on last edited by
              #11

              Yes, that is what I tried as well but sadly due to the memory constraints that pushed us up right to the maximum. Which caused more out of memory errors.

              1 Reply Last reply
              0
              • ? Offline
                ? Offline
                A Former User
                wrote on last edited by
                #12

                Are you sure the memory leaks are not because you forgot to free memory you allocated on the heap ?

                1 Reply Last reply
                0
                • A Offline
                  A Offline
                  altera_2011
                  wrote on last edited by
                  #13

                  No I'm 100% sure on top of that I've recreated the leak using 2 empty QMLs

                  https://bugreports.qt-project.org/browse/QTBUG-26032?focusedCommentId=179280#comment-179280

                  1 Reply Last reply
                  0
                  • A Offline
                    A Offline
                    altera_2011
                    wrote on last edited by
                    #14

                    One thing that I did notice is that when I add

                    @m_View->engine()->clearComponentCache();@

                    The leak is 10 times worse!

                    1 Reply Last reply
                    0
                    • sierdzioS Offline
                      sierdzioS Offline
                      sierdzio
                      Moderators
                      wrote on last edited by
                      #15

                      This is all rather scary. Happens for me, too - due to big JPGs/PNGs loaded, it adds +40MB per unload.

                      (Z(:^

                      1 Reply Last reply
                      0
                      • ? Offline
                        ? Offline
                        A Former User
                        wrote on last edited by
                        #16

                        Does it happen only on Qt 4.7.4 or also on Qt 4.7.3 Qt 4.8 and Qt 5 ?

                        1 Reply Last reply
                        0
                        • A Offline
                          A Offline
                          altera_2011
                          wrote on last edited by
                          #17

                          4.7.4 + 4.8.2 I have not tested 5 since we require Windows CE support.

                          1 Reply Last reply
                          0
                          • sierdzioS Offline
                            sierdzioS Offline
                            sierdzio
                            Moderators
                            wrote on last edited by
                            #18

                            In my case:

                            4.7.4, 4.8.1 - QtQuick 1.
                            Qt5.0.0 - QtQuick 2.

                            (Z(:^

                            1 Reply Last reply
                            0
                            • ? Offline
                              ? Offline
                              A Former User
                              wrote on last edited by
                              #19

                              I also saw it on embedded linux.
                              Its a very serious leak.
                              It happens all the time there is a loading of new qml pages

                              1 Reply Last reply
                              0
                              • ? Offline
                                ? Offline
                                A Former User
                                wrote on last edited by
                                #20

                                We found that the reason for the memory leak is Qt's function:

                                QDeclarativeEngine::clearComponentCache()

                                1 Reply Last reply
                                0
                                • A Offline
                                  A Offline
                                  andre
                                  wrote on last edited by
                                  #21

                                  Please report a bug in the bug tracker then. Not many Qt Developers (those building Qt itself, not so much those using it) read these forums.

                                  1 Reply Last reply
                                  0
                                  • ? Offline
                                    ? Offline
                                    A Former User
                                    wrote on last edited by
                                    #22

                                    Can you please send me a link ?

                                    1 Reply Last reply
                                    0
                                    • A Offline
                                      A Offline
                                      andre
                                      wrote on last edited by
                                      #23

                                      The "bugtracker":https://bugreports.qt-project.org we usually call "Jira" (after the name of the system it is using). If you report a bug, please:

                                      Put a link to this forum topic in the bugreport, and

                                      Put a link to the bugreport in this forum topic.

                                      1 Reply Last reply
                                      0
                                      • A Offline
                                        A Offline
                                        antonio
                                        wrote on last edited by
                                        #24

                                        somebody has resolved this issue?

                                        1 Reply Last reply
                                        0
                                        • C Offline
                                          C Offline
                                          chrisadams
                                          wrote on last edited by
                                          #25

                                          Firstly, why is anyone calling clearComponentCache() in QtQuick 1? You have to be extremely careful about the circumstances in which you do so, or all sorts of craziness can occur.

                                          In QtQuick2, I seem to recall that we added / changed the functionality significantly (and updated the documentation) to clearly reflect what those functions should be used for and how.

                                          It's been a while, though, and my memory isn't too great. If someone can link the JIRA task I can take a brief look, but I can't promise to spend too much time on it, unfortunately.

                                          Cheers,
                                          Chris.

                                          1 Reply Last reply
                                          0

                                          • Login

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