HISE Logo Forum
    • Categories
    • Register
    • Login

    Multi Instance DAW Crash Issue Guide

    Scheduled Pinned Locked Moved General Questions
    25 Posts 8 Posters 4.6k Views
    Loading More Posts
    • 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.
    • d.healeyD
      d.healey @LeeC
      last edited by

      This sounds fishy to me. Setting attributes shouldn't be causing any issues. I suspect there are other problems with the scripts.
      Are you setting attributes only in deferred scripts?
      Are you setting attributes in MIDI callbacks or timers?

      Free HISE Bootcamp Full Course for beginners.
      YouTube Channel - Public HISE tutorials
      My Patreon - HISE tutorials

      orangeO Dan KorneffD 2 Replies Last reply Reply Quote 0
      • orangeO
        orange @Dan Korneff
        last edited by orange

        @dustbro said in Multi Instance DAW Crash Issue Guide:

        @orange said in Multi Instance DAW Crash Issue Guide:

        Number one cause is the amount of used setAttribute APIs

        @orange @Christoph-Hart does this also include setValue()? If not, I might use scripts to set the value of panels, and then us the Panel Property Editor to assign Processor/Parameter IDs.
        Can panels even do that?...

        Since generally I use setAttributes, I haven't made experiments with setValue() & Panels.

        But setValue should be ok I think.

        develop Branch / XCode 13.1
        macOS Monterey / M1 Max

        1 Reply Last reply Reply Quote 0
        • orangeO
          orange @LeeC
          last edited by orange

          @LeeC said in Multi Instance DAW Crash Issue Guide:

          @orange @Christoph-Hart
          I know it depends, but is there a ballpark number for the amount of setAttributes we should be using simultaneously?

          Also, would using the showControl instead of set("visible",value); to toggle visibility of components help to avoid crashes aswell?

          I haven't seen any issues yet with using too many showControl or set("visible")... stuff. For multi-instance crash you need to make experiments with beta testers.

          develop Branch / XCode 13.1
          macOS Monterey / M1 Max

          1 Reply Last reply Reply Quote 0
          • orangeO
            orange @d.healey
            last edited by orange

            @d-healey said in Multi Instance DAW Crash Issue Guide:

            This sounds fishy to me. Setting attributes shouldn't be causing any issues. I suspect there are other problems with the scripts.

            It's been covered here by @Christoph-Hart befrore: https://forum.hise.audio/topic/2826/debugging-with-reaper/25

            You can use as many setAttributes as you can, it's not a problem on most systems. But the issue is "Multi Instance DAW Crash" in "Some Systems".

            That doesn't mean it happens in all computers. But if you see this in a computer, it will do that crash in all DAWs :) You know what: while I haven't seen any multi instance crash in my 7 years old laptop, some users were repoting this issue to me. Honestly I couldn't replicate it. Then I got a new Intel 10th generation i9, 128GB RAM, 12GB NVidia 2080Ti computer, then guess what: it crashes for 5 plugins :) Same plugin, new system.

            Are you setting attributes only in deferred scripts?

            Yeah, I am using it in main interface script only. But the issue happens also with the plugin that uses only One Timer Object (100ms - on preset label only). Whole plugin is a Parametric eq, ShapeFX and setAttributes. Nothing more. I can open 20 instances in old pc, but crash for 5 instances in new one :) Crash reporting beta testers see the multi instance crash too.

            This is more interesting, when the deferring callbacks are disabled, sometimes crash reduces :)

            Are you setting attributes in MIDI callbacks or timers?

            No.

            develop Branch / XCode 13.1
            macOS Monterey / M1 Max

            1 Reply Last reply Reply Quote 0
            • Dan KorneffD
              Dan Korneff @d.healey
              last edited by

              @d-healey said in Multi Instance DAW Crash Issue Guide:

              Are you setting attributes only in deferred scripts?

              Synth.deferCallbacks(true);
              

              This is the second line on my onInit. I don't need to call this on my separate "include" scripts, right? Those should be considered part of the Interface script.

              Dan Korneff - Producer / Mixer / Audio Nerd

              d.healeyD 1 Reply Last reply Reply Quote 0
              • d.healeyD
                d.healey @Dan Korneff
                last edited by

                @dustbro Correct.

                Could someone create a minimal example project that consistently demonstrates the issue?

                Free HISE Bootcamp Full Course for beginners.
                YouTube Channel - Public HISE tutorials
                My Patreon - HISE tutorials

                1 Reply Last reply Reply Quote 0
                • orangeO
                  orange
                  last edited by

                  Updated. Added "else if" statements.

                  develop Branch / XCode 13.1
                  macOS Monterey / M1 Max

                  NatanN 1 Reply Last reply Reply Quote 1
                  • NatanN
                    Natan @orange
                    last edited by

                    @orange Thank you sir, and what's about

                    Synth.deferCallbacks(true);
                    

                    Is this something that can help?
                    and is this works in FX plugins?

                    Thanks

                    orangeO 1 Reply Last reply Reply Quote 0
                    • orangeO
                      orange @Natan
                      last edited by orange

                      @Natan It depends in which script you are using it.

                      I am using it in the main interface script, it works..

                      https://forum.hise.audio/topic/79/scripting-best-practices

                      develop Branch / XCode 13.1
                      macOS Monterey / M1 Max

                      NatanN 1 Reply Last reply Reply Quote 1
                      • NatanN
                        Natan @orange
                        last edited by

                        @orange Great to hear that :) will search and read more about it
                        Thank you sir

                        1 Reply Last reply Reply Quote 0
                        • NatanN
                          Natan
                          last edited by

                          @orange Sir,
                          How we can Track The Messages sent by A Parameter, Is there any Outputs That shows how many messages generate Once we, For Example, click A Button?!

                          Thanks

                          1 Reply Last reply Reply Quote 0
                          • orangeO orange referenced this topic on
                          • First post
                            Last post

                          31

                          Online

                          2.0k

                          Users

                          12.7k

                          Topics

                          109.9k

                          Posts