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

Silent install segmentation fault when using `--platform minimal` on macOS

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Reported
    • Priority: Not Evaluated
    • Resolution: Unresolved
    • Affects Version/s: 3.1.1
    • Fix Version/s: None
    • Component/s: General
    • Labels:
      None
    • Environment:
      macOS 10.14.6
    • Platform/s:
      macOS

      Description

      I built an installer using CMake/CPack with QtIFW 3.1.1.

      $ /Users/julien/Qt/QtIFW-3.1.1/bin/installerbase --version
      IFW Version: 3.1.1, built with Qt 5.9.5.
      Build date: May 15 2019
      Installer Framework SHA1: 8730cb0
      

      I also created an `install_script.qs` to try to perform a silent (headless) install.

      It works perfectly on Linux, but I get a segmentation fault on macOS if I specify `–platform minimal`. If I remove `--platform minimal` it works fine on macOS as well.

      $ sudo /Volumes/EnergyPlus-9.2.0-46329d86a2-Darwin-x86_64/EnergyPlus-9.2.0-46329d86a2-Darwin-x86_64.app/Contents/MacOS/EnergyPlus-9.2.0-46329d86a2-Darwin-x86_64 --verbose --platform minimal --script ../EnergyPlus/cmake/qtifw/install_script.qs 
      Password:
      IFW Version: 3.1.1, built with Qt 5.9.5.
      Build date: May 15 2019
      Installer Framework SHA1: 8730cb0
      [0] Language: en
      [1] Arguments: /Volumes/EnergyPlus-9.2.0-46329d86a2-Darwin-x86_64/EnergyPlus-9.2.0-46329d86a2-Darwin-x86_64.app/Contents/MacOS/EnergyPlus-9.2.0-46329d86a2-Darwin-x86_64, --verbose, --script, ../EnergyPlus/cmake/qtifw/install_script.qs
      [2] Operations sanity check succeeded.
      [2] Resource tree:
      [2]      :/translations
      [2]      :/translations/ifw_zh_CN.qm
      [2]      :/translations/qt_da.qm
      [2]      :/translations/qt_de.qm
      [2]      :/translations/qt_en.qm
      [2]      :/translations/qt_es.qm
      [2]      :/translations/qt_fr.qm
      [2]      :/translations/qt_ja.qm
      [2]      :/translations/qt_it.qm
      [2]      :/translations/qt_pl.qm
      [2]      :/translations/qt_ru.qm
      [3]      :/translations/ifw_de.qm
      [3]      :/translations/ifw_da.qm
      [3]      :/translations/ifw_es.qm
      [3]      :/translations/ifw_en.qm
      [3]      :/translations/ifw_fr.qm
      [3]      :/translations/ifw_it.qm
      [3]      :/translations/ifw_ja.qm
      [3]      :/translations/ifw_pl.qm
      [3]      :/translations/ifw_ru.qm
      [3]      :/translations/qt_zh_CN.qm
      [3]      :/uninstall.png
      [3]      :/installer.png
      [3]      :/installer.ico
      [3]      :/keepinstalled.png
      [3]      :/installer.icns
      [3]      :/install.png
      [3]      :/keepuninstalled.png
      [6]      :/metadata
      [6]      :/metadata/Symlinks
      [6]      :/metadata/Symlinks/install_unix_createsymlinks.qs
      [6]      :/metadata/config
      [6]      :/metadata/config/config-internal.ini
      [6]      :/metadata/installer-config
      [6]      :/metadata/installer-config/ep_nobg_png.png
      [6]      :/metadata/installer-config/ep.icns
      [6]      :/metadata/installer-config/config.xml
      [6]      :/metadata/Updates.xml
      [6]      :/metadata/Unspecified
      [6]      :/metadata/Unspecified/install_operations.qs
      [6]      :/metadata/rccprojectM92982.qrc
      [6]      :/metadata/Licenses
      [6]      :/metadata/Licenses/LICENSE.txt
      [86] Loaded control script "../EnergyPlus/cmake/qtifw/install_script.qs"
      [86] Using control script: "../EnergyPlus/cmake/qtifw/install_script.qs"
      Segmentation fault: 11
      

      If I run it into a debugger to produce a backtrace:

      $ sudo lldb /Volumes/EnergyPlus-9.2.0-46329d86a2-Darwin-x86_64/EnergyPlus-9.2.0-46329d86a2-Darwin-x86_64.app/Contents/MacOS/EnergyPlus-9.2.0-46329d86a2-Darwin-x86_64 -- --verbose --platform minimal --script install_script.qs
      (lldb) process launch
      [ ... ]
      [66] Loaded control script "../EnergyPlus/cmake/qtifw/install_script.qs"
      [66] Using control script: "../EnergyPlus/cmake/qtifw/install_script.qs"
      Process 94339 stopped
      * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
          frame #0: 0x000000010051da7c EnergyPlus-9.2.0-46329d86a2-Darwin-x86_64`QWizardPrivate::findDefaultBackgroundPixmap() + 60
      EnergyPlus-9.2.0-46329d86a2-Darwin-x86_64`QWizardPrivate::findDefaultBackgroundPixmap:
      ->  0x10051da7c <+60>: movq   (%r12), %rax
          0x10051da80 <+64>: movq   %r12, %rdi
          0x10051da83 <+67>: callq  *(%rax)
          0x10051da85 <+69>: leaq   0x1089380(%rip), %rsi     ; "defaultBackgroundPixmapForQWizard()"
      Target 0: (EnergyPlus-9.2.0-46329d86a2-Darwin-x86_64) stopped.
      (lldb) bt
      * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
        * frame #0: 0x000000010051da7c EnergyPlus-9.2.0-46329d86a2-Darwin-x86_64`QWizardPrivate::findDefaultBackgroundPixmap() + 60
          frame #1: 0x000000010051bbc1 EnergyPlus-9.2.0-46329d86a2-Darwin-x86_64`QWizardPage::pixmap(QWizard::WizardPixmap) const + 113
          frame #2: 0x000000010051b921 EnergyPlus-9.2.0-46329d86a2-Darwin-x86_64`QWizardPrivate::layoutInfoForCurrentPage() + 865
          frame #3: 0x000000010051b095 EnergyPlus-9.2.0-46329d86a2-Darwin-x86_64`QWizardPrivate::updateLayout() + 85
          frame #4: 0x000000010051a2a1 EnergyPlus-9.2.0-46329d86a2-Darwin-x86_64`QWizardPrivate::switchToPage(int, QWizardPrivate::Direction) + 1169
          frame #5: 0x000000010051ec57 EnergyPlus-9.2.0-46329d86a2-Darwin-x86_64`QWizard::restart() + 87
          frame #6: 0x00000001000131ba EnergyPlus-9.2.0-46329d86a2-Darwin-x86_64`TabController::init() + 698
          frame #7: 0x00000001000101d4 EnergyPlus-9.2.0-46329d86a2-Darwin-x86_64`InstallerBase::run() + 20596
          frame #8: 0x0000000100008b86 EnergyPlus-9.2.0-46329d86a2-Darwin-x86_64`main + 5510
          frame #9: 0x00007fff587d63d5 libdyld.dylib`start + 1
          frame #10: 0x00007fff587d63d5 libdyld.dylib`start + 1
      

       
      I am attaching the `install_script.qs` I am using. You can find a binary to reproduce the issue here (the SHA is different than the locally built one I used above, but that is a marginal difference, and I can reproduce the issue with the downloaded one as well).

        Attachments

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

          Activity

            People

            • Assignee:
              installerteam Installer Team
              Reporter:
              jmarrec Julien Marrec
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:

                Gerrit Reviews

                There are no open Gerrit changes