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

Segfault when running installscript.qs using "replace"

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P0: Blocker
    • None
    • 2.0.0
    • General
    • None
    • Linux-x64, Windows-x86

    Description

      Enterprise installer built using Qt5.4.0 and IFW 2.0.
      During installation after the download phase has completed
      when the installer begins to install the downloaded package the following
      error exception is thrown:

      [25057] Warning: Component qt.tools.maintenance.icons specifies "ForcedInstallation" property together with "AutoDependOn" list. This combination of states may not work properly. (:0, )
      [25057] Warning: Component qt.tools.qtcreator specifies "Default" property while being not checkable. The "Default" property will get a "false" value. (:0, )
      [38379] components list is empty in void QInstaller::UninstallerCalculator::appendComponentsToUninstall(const QList<QInstaller::Component*>&)
      [38380] Tmp and install folder are on the same volume. Volume mount point: "/" Free space available: "93.09 GiB"
      [38380] Installation space required: "518.38 MiB" Temporary space required: "328.14 MiB" Local repository size: "0.00 bytes"
      [39179] backup operation: Mkdir
      [39179] - arguments: /home/iieklund/QtTest3
      [39179] Done
      [39179] perform operation: Mkdir
      [39179] - arguments: /home/iieklund/QtTest3
      [39180] Done
      [39180] Install size: 8 components
      [78669] create Error-Exception: "TypeError: Cannot call method 'replace' of undefined"
      terminate called after throwing an instance of 'QInstaller::Error'
      what(): std::exception
      Aborted (core dumped)

      The only selected component in the installer (online) was QtCreator.
      Looks like some of the following parts may cause the crash (replace being called):

      component.qtCreatorBinaryPath = component.qtCreatorBinaryPath.replace(/\//g, "
      ");
      ...
      target_install_dir = target_install_dir.replace(/\//g, "
      ");
      ...
      id = id.replace(/(\r\n|\n|\r)/gm,"");

      This looks like behavior change compared to #1.6 where the same QtCreator component can be installed without any issues.

      If the behavior change is related to script engine change (4.8.x -> 5.4.x) then we have a bunch of broken installscript.qs files in the online repositories (all Qt packages)?

      Attachments

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

        Activity

          People

            kkohne Kai Köhne
            iknd Iikka Eklund
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes