Uploaded image for project: 'Qt Installer Framework'
  1. Qt Installer Framework
  2. QTIFW-1448

Installer consumes too much memory causing various of problems

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Not Evaluated
    • 3.2.0
    • 3.1.1
    • General
    • None

    Description

      More there are components installed, the bigger the maintenancetool.dat file gets. At some point the .dat file gets too big causing the installer to use more memory than one process is allowed. In Windows this is something above 1GB and below 2GB if installer is built as 32bit. This causes installer crashes and .dat file corruption. When the .dat file is corrupted it can cause several issues, for example: "Your installer seems to be corrupted" and "qmake -query is not parseable" etc.

      The main problem in the .dat file is that it writes all component's filenames to it, so that we know what files to remove in uninstall. One component can have many many files which increases a great deal the .dat file size. At startup the .dat file is read to memory and in the end it is rewritten to disk.

      One fix would be to build installer as 64bit or use /LARGEADDESSAWARE but that will again reach its memory limit at some point.

      Another fix is to write the filename list to a separate file and only the name of the separate file is in .dat file. This has significant effect on the .dat file size. This approach has also another good effect, maintenancetool start and restart will be much faster.

      Attachments

        Issue Links

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

          Activity

            People

              kamartti Katja Marttila
              kamartti Katja Marttila
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes