Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-90949

UI rendering and interaction dead lock when used as an window embedded application

    XMLWordPrintable

Details

    • Windows
    • b7e08599cc784777d06d34e49e90c2d408ab629d (qt/qtbase/dev) 26e34fcb52b44de6f8d6c8ca8910f9586e8eea81 (qt/qtbase/6.1) 87be26462a7dd1ceadc90309d6e2b2b75fee3efe (qt/tqtc-qtbase/tqtc/lts-5.15)
    • Bug Fixing Candidates

    Description

      Our company relies on Qt to develop cross platform audio software for 6 years now. We own a commercial license.

      One major use case is to embbed one or more Qt application(s) into host plugin window: VST, AU and AAX plugins to be used in major Digital Audio Workstations software (DAW) such as Ableton Live. 

      I've been using Qt 5.12.5 for the last 2 years. Two months ago I've started the port to Qt 5.15.2. Apparently everything was running smoothly until we have found a MAJOR problem that so far can only reproduced when hosting one of our plugins compiled with 5.15.2 into Ableton Live, which is our reference software for testing and develop and probably the most popular and used DAW in the world.

      When we drag an instance of our plugin to the DAW the first time, everything works perfectly. As soon as we start dragging a second instance, or anything else in Ableton Live (for example, an audio effect), it will dead lock Qt app rendering and interaction.

      I've made an example that reproduces the problem. It is self contained but it requires Ableton Live to reproduce it. Ableton Live trial/demo can be downloaded from their website and appart from having to download and install, the installation and usage is pretty straight forward:

      https://www.ableton.com/en/trial/

      How to run and reproduce the problem:

      • Install Ableton Live trial
      • Compile Qt 5.15.2 statically for windows
      • Open the project and choose the 5.15.2 static kit
      • Create C:\plugins folder
      • Build. The output is a single file VDL.dll and it will be placed on c:\plugins
      • Set Ableton Live.exe as custom executable (C:\ProgramData\Ableton\Live 10 Suite\Program)
      • Run from Qt Creator. Ableton Live will be launched.
      • Under Ableton Live preferences (CTRL+,) choose the plugins tab, then enable custom VST2 plug-in custom folder and set it to c:\plugins and choose RESCAN (on top). Close preferences.
      • On the left side panel, choose plugins, and drag VDL to a midi track on the right
      • It should open a window that changes the color every 250ms
      • Now, go back to the left side panel and start dragging another VDL
      • As soon as the drag beggins, the UI of the first instance stops changing color and becomes unresponsive.

      This doesn't happen with Qt 5.12.5 and it is a MAJOR show stopper for us. Please help!

      Attachments

        1. full-stack-trace.txt
          43 kB
        2. screen-capture.mp4
          6.34 MB
        3. vst-dead-lock.zip
          58 kB

        Issue Links

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

          Activity

            People

              alex1973tr Alex Trotsenko
              sinosoidal Nuno Santos
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes