HISE Logo Forum
    • Categories
    • Register
    • Login

    Matrix Modulator voice nullptr crash

    Scheduled Pinned Locked Moved Bug Reports
    11 Posts 2 Posters 156 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.
    • ustkU
      ustk
      last edited by ustk

      @Christoph-Hart For some reasons re-open my project results in an instant crash as soon as I added a Matrix Mod to an Extra slot.

      AI said to add a voice nullptr check in the render function (Modulators.cpp line 1199)
      But it also says there might a voice management problem if we get there with a dereference…

      So I did this and it works just fine:

      
      void EnvelopeModulator::render(int voiceIndex, float* voiceBuffer, float* scratchBuffer, int startSample,
      	int numSamples)
      {
      	bool saveFirst = false;
      
      	if(isMonophonic)
      	{
      		auto ownerSynth = static_cast<ModulatorSynth*>(getParentProcessor(true));
      		auto voice = static_cast<ModulatorSynthVoice*>(ownerSynth->getVoice(voiceIndex));
      		
      		// CHECK ADDED HERE
      		if((voice != nullptr && voice->isFirstRenderedVoice()) || getVoiceAmount() == 1)
      		{
      			saveFirst = true;
      		}
      		else
      		{
      			setScratchBuffer(scratchBuffer, startSample + numSamples);
      			FloatVectorOperations::copy(internalBuffer.getWritePointer(0, startSample),
      										firstVoiceBuffer.getReadPointer(0, startSample),
      									    numSamples);
      
      			applyTimeModulation(voiceBuffer, startSample, numSamples);
      			return;
      		}
      			
      	}
      
      

      Does it make sense to you?
      Should I make a PR?

      Can send the crash log and AI reasoning if you're interested in...

      Hise made me an F5 dude, browser just suffers...

      Christoph HartC 1 Reply Last reply Reply Quote 0
      • Christoph HartC
        Christoph Hart @ustk
        last edited by

        @ustk a minimal snippet that causes the crash would be most useful.

        ustkU 1 Reply Last reply Reply Quote 0
        • ustkU
          ustk @Christoph Hart
          last edited by ustk

          @Christoph-Hart yup!

          HiseSnippet 1777.3oc2Xs0aaaCElJNL2ZGVKZ2dX.CvOlt0EXEq3Di8PShSbqwhSLhcyJ1dHiVh1VHRjZRzI1aXuu25eo8SX+RF1+fsCEk0EGmDWu1TiYCXXxygje7bgmKM74lzf.tORasVC8nHsGhaNjI5UoGwlgpc.R6o35Dgu8f5bqWQ7sp3SB5g1enGIHfZgzzx8RImZqtHJ7ye+h8INDlIMYJD5LtsI8HaWaQxrM186rcbpRrnsrcSwswt0L4rJbGde.U4vEPdDyKHcoGSjrs.F8JIBz9JbASiNaUxvvnX6sH6nu4NkKRH55zRELHsMJtyVk2prkQQcj1RGZYK39MEDAM.os39bqgM6wuhoNfyrCra6PkCzQMgSVMcUtik7JJmEUomsiUiQhq.DRC2HQ3kSI7.Ykskc77IBwGERHexJRK.0VHK7xkAd5ogWgTvaBPRKEjVTAoGiaZ5a6IRnHwyCv0XBpeGBnmRCEEuHs+.WgCLvDa3RtfV0GFDuf0KUnvyyC+7rusSelovlyxyYGyEzSXq+r0900Vcseas7iSpSmIRSdL9bGGp+DIKMM7usEtNquaap+yyeIwoOMlQ35mUlhuYYZZUto5VmhQNqFyVbhGkcSFBnHQE7uWW6.hfHUDQyA74Q8E1RHnc.8RvMPoVVEe.M3BA2CbDtlNCrV3V8cHhrlPRGsHBfLHidSpbXA1hgocDeuYWMsP7w3F1BydSFiKLALBRpODXLxa7SvG1oC0Tj.vEwUey8mq2ZQtdvYJO7GFMLe02nOQmteGmXf64S8H9zV7FNjgqGPb8bnmBX744a6vMuno8uPutWgmBB6K4XcydDFi5DLKNOKM0RE8aWprxTZ4rB9vABeh98nQcFM1ZidrLNVmBggf6IQylOd5L3bg5bF2qGmYalFnmRg0zsK0O8jItFv+fCDqImehWzJ8CDb2ZVgg7NSpfR62zzkyE8rYcyF7r1tZ4dOo6Tm4oDVWpzMsFyquPMRC6lNhOB4RFjF40XWBu4ozgABpmzXMM6snCDfEXHSfz4ywGy8cIN.WVMn9lvylD4YdRew6si70ATH.bCNHjAY+dA+.0mK4E8tYet4c8f1GgGcifVw4WnYL+BsslegVo4Wns87Kz149DZmx6KfmfUQGf2nNtuaSnpESZknXuxG3WPlgnZbgQO32jxrBG7OvmHh5xwZQD0GQLUxkGSEWw8uHLzUz+gqsJyhfvTHNuy..9T+.YpWZKiKrA7EsmiC+pJbWO6njxf28BmqA2Y3n3VZ4TbLB564x6CmZD9SBas+nrOFcUfhwZQrcjR6l8CfzjsNg0D1mvJ.gDrzNNLP2xUIlfLeXChnmLNqLQaP0Q82vLVEl4ZjnFkBeUseYXPpwZP7ABPTj.kpSdVipbTAO3V4JEexfnZ4jzkxuETfZIUd0W4S7nRimyc4fjOCR+rTH0EJgSg1IAtqsOSKXzRAlGfi2fr33Q.N7oajPcRPH8puiSewDUZKheWpHHppEF0TYjDJijoerDtq7NGKqUyEV0OJkB.VQ7H3HqayhRZAKsCQ0IChFuDVuDLQy3vzXrNLVd8WFJK0hN.kYknoaaU6xj10OcTk5Ms6xHNis6R6dG5fQEtcfcfGjx898gRGToIlYFXrBhPsDeid3qSiJvKqzHCkvbMkiFJyjJzTuVvYRplI3A7zRYIDI0yXD7.kQP2axDLZM2gpegLJsbojtKkHcWAtcEFW.WHi.9ovXfmvO5FkKnqWB7JufdkByx7l2ZCiM2bysKr81F6XnWrPYj5pEZ7rWeH+VhHtCKSFHiqlWAKOy2MfHYnXA8BEAFJWdGixaWPOpMHw4QihsN2bbit6IwxCwmRCnB01NlGvMYkAFVI3b4TB2O7PFB2R8A2oTU6CU7BVZsgGKsBSxuEO7.SkqursGl1soNYdrYVcW9u1tkUTD+B7Kc3siuIPVEidxOTu7kQjSJ+KeLC52RmP+yosSndScmPGuqVKNcE2cGMxbw4tFYNsI88jqoZB9X0AgGqfIFeT0ShjTv+tgVFLYfsusG2gHCwjqpO8m6C4PMh9O815+0KjVH0RLv18s698jKocfhmiLxi2oincgyL8Lsntd7lCYlSQSDd5tGw4dGxHfTvJ8lznGIP1IW3UpLaCrss30IPg29Uj4GllXstLHlkp6vomW0diQWfvHSxGjBcn09QbIiMfOc9Z4ukq.+T7j2OieW533czbqElZqTokPrJWZSLG17VEJiM7lSQ4s1h4b+utEy2Kkap1bUX06kCzkX5yO2T0P5vVFGNCHDXg4ztJttbbdczki2CTY8XmaZlcqt1B2bVWXwYcgFy5B2ZVWXoYcgaOqKbm6dgxDEhxwW5mhP0abn54cs3XKZ4P+KLSJLoB
          

          Here it will open because I forced the MatrixMod module to be bypassed in the XML to be able to export a snippet
          But as soon as you unbypass it, baboom kaboom!

          Hise made me an F5 dude, browser just suffers...

          1 Reply Last reply Reply Quote 0
          • ustkU
            ustk
            last edited by

            I can understand the rationale behind bypassing the modulator when no connection is present (cpu saving?), but isn't there another way not to render it when there's no modulation rather than a hard bypass?

            Hise made me an F5 dude, browser just suffers...

            Christoph HartC 1 Reply Last reply Reply Quote 1
            • Christoph HartC
              Christoph Hart @ustk
              last edited by

              @ustk no it must be bypassed for performance reasons - there might be hundreds of possible modulation slots so if it would render them all just because there are empty matrixes in it it would
              be pretty bad.

              Why is that a problem?

              ustkU 4 Replies Last reply Reply Quote 0
              • ustkU
                ustk @Christoph Hart
                last edited by ustk

                @Christoph-Hart Yeah I understand the performance thing
                It's not a problem at all for me if it stays bypassed, the problem is that it crashes when unbypassed ☺
                Of course, I can just hate myself clicking on it while there is no modulator present. But the fact is that it's saved unbypassed with the project when you first create it (or set/unset a few thingies), and boom, crash at next opening

                Hise made me an F5 dude, browser just suffers...

                1 Reply Last reply Reply Quote 0
                • ustkU
                  ustk @Christoph Hart
                  last edited by ustk

                  @Christoph-Hart In fact, I even get a hard crash when dragging a modulator to a slider.
                  Am I even doing it right?

                  HiseSnippet 2116.3oc2Y0raibbDtGQ0Zk3pDuarBPPPB.gNImrVfC+mNGVJQItKgWJQHRuds8A4lyzjrgFN83YFthLF9RNka9rukWibSOB4QHOAA9MHo5tmgyLTTRbI1UVHT.Br++q9ppqp5hsc4FTOOtKRKc2oNTj113NSs8GVeHgYiZdDRaGbKhuKaRKt4KItl0cIdCQGN0g34QMQZZodgXlZasNR94me9gDKhsAMpKD50blA8UrQL+ndaW6yYVVMHlztrQwlcgZMM3104V7w.pRgyhbHFWPFPOgHl1ZXzKEHP6OgyZTnewREJTHeuhjJ54pTMOgnqSKks.oWg7UJVsXUyB40QZabrIym61wm3S8PZqeH2bZmg7KsUGvqYdrdVTQCcTG3jUc2faYJDQQun5CYVlsCoKODRC2Nh7RoHOfqXlrY8GQhOQNPlnUDm.0VKI7Rk.d5wgW1XvaAPRKFjVWAomh6X3xb7iFQfmGiaZ6Sc6S.8TbnnlKR6JbcNLAa+8GQtf1vEZLaA6UJa1mkA92m7W5O11vmwsyvsOg6SO0duOI82mdqz+P5LyOT+9KbLww3xsrntKbXgog6ssv8rGOpG08YYdKwZLc1DAwOImhuYNMtJ2PI0wlH2toMy+TGp8MYHfBnJA+GfJXp9R1+WGv9crXlTWDCH4Gg+badOcjDvwujf9hlGQ7IgaCrivo3Pc8YBAP6H5agKQJk5V3indW3ycfCpNejC2Vb9ZaemG5jnCbZsoyZTiVyIThZBS+iCtymAtzO1h.7nNbKzEt.B1.Mk62qkveD2L.NFrdTKzn3tB9pqFQlDWB87oNcX+0Po9e7S+z+74di62mAyBiyXdHrdSSKZatGSnliVatqPWWN2IPNaXwI9L6AcYfBUHseDNdWIjZPtiZ3W6Rlo+vYcb0eq1PJavvHuT+amZA5BEw+avALBfNEEg5MHtuJlOczhamS0gOche7IHU4ZSvee5LY1scjRX2OKytuvh2iXEoDxHvB3Rg5pu6yDyuosIcBLyOUW1DbXYwu7K4tW3A9Lov.8IVdT4XJigN9SsD8uqvbX2z+.Z0o0b2DsVyYNZ04ZzJ5jjz5e3ZzZjegXD713bkymOe1BEKVXUY5y+PxzBB85tfeBd19FOhfHtYjXmvMrvWqMbGXZ73pu2BSrrP7o31LeigKFiqs.LBtt9Pfwffq+J7w86SM7i.353Fu49KRZ5v6EuQd3aGzLSi2nuvXn+cbT7JGWJ3+j1k21hLcOOxHGK5Y.FeVldVbiKDNEudPt.WxGJlwdFCI11TKuUIV3FKMqne6rxlKokyl3im36RzuGMpSnwRGl6yrTWUHTBtEEbKtgcKtM2YH2lYDGnmQg0LX.3OJVmw7ZICDh0D8uPAs9XOe9HQryMwu3flmjAjs4y.nyHN2enz+Z7LhaVSK06IMn5LOiXOfJtr1z1Yrupk1F2dr6l1uEREQoImKNt7SWo2V0jbSlRvhCo+6tBc5X+nyGm37QnDm+O+7657+BOJjhc3wbf2WSc4h4hd2LYycW939EvOb.zx+vEZEd3BshObgVoGtPq7CWnU49DZmwGKx2MHUeM7IiG0ARnzfVOHbrvm+Zh2.pZmMLFPGpsorw+E9DLntnsVvf5gCF87QzIT+KEoTJhlE7cPrUIa3Iyp379S.3Sc8jtReDN69venCDIiJRjmEjmF32S1Wat0zvPYpWJBItGflCFwGKx5Wg+nHYGFlPRnn7RhWWByRv1cF6AOD17T6Nv9HqwCjyk1IxXeOpAw.37osIhT+eJ1HLC58MloBSHFQpQA4qptShIHzXsCe0omR0INqvj5UvCjpQxmurFFlhXbA+slBTanR09RWhCUX7bN7fUcTBj9aigTHVESg1EAtqsOKKXzhAlGimsAIwwS.b3R2OZzEAg3q9NN80iTocItCn9dAUVvlZnLRjbjHijMvCDxb63uveC46SPnXJ.XEyZAGYKlcPFLXgcHpEYRP6Mv5kfN5LKLMFqCsEh+ivxWRgRrRzxsspcYQ65GEVKtNrA1Dq41cgcuEcRXwUNh44.Yge3X30DpLGSzCzVAQ34Eeptz6TXQXRxFIFQl9on0TQZURS8lduVLpQDdfaZwrDBX8DFAOVYDL3lLACVycn5WKgRKUL1ciH1cSP5xNOAmMAAuCzFli7idgpY00KA2JufdoByhToKtegb4xUNa4xEpTPOe1pHknIMdNXLjxKweVMTWLPlWMuIVblua.QLg7Y0ylGlP0pUJTsbV8fBcNKoZzLqybyazcOQKaiOi5Q8Ua6b2.tIqLvvJBmaEib+vCYHbK0EtNEq..vifAKsdfyRSYF+c4xCbgI9eDsOYrUfzJrKC91N.bKuetpvmJkKA+kuZkDdlV06VqR8Sim7wlpA+8XU0fhRAIL9fTI9Gw2RwhtkeXj+0x9Ci3rz+vHyWj60WtmEdG+tFq+f620XYyP7iulpw6WpJP7TELw3W03z.lB91MTxgECrCYNbKhHdTpFtzuaLjvU33e6O15+7bgERyHCrZ+Xsuj7VZet6n.i7Y6zqnCfyLdOcoib3clZarDkeXmZuhycN1l.rfY7Mo8Phm3G1AbokXafssKuEAdktacQxjIJiv.aH.m5GKJd+pxiDJ.R2EBuWpZ19M3RE1G9z+OK9e05v+xe56m1uKUr7NJN1ZKsUpvRXlJWXS7.r3uJTNyv6AJJu0RTm5+qKQ88xaSUatJr58xANhX3xO2PUPaYImk8.jfsLA3svsDsyrfe+Twi2N2vH4VcsElaUWX9UcgEV0EVbUWXoUcgkW0EV4tWnHQgfGDHtmhPsZerx8t1rXKZoP+OFKWPAA
                  

                  zrg.gif

                  Screenshot 2025-11-02 at 12.38.22.png

                  Hise made me an F5 dude, browser just suffers...

                  1 Reply Last reply Reply Quote 0
                  • ustkU
                    ustk @Christoph Hart
                    last edited by

                    @Christoph-Hart Bump bump ☺
                    I’m stuck in current project development 😬

                    Hise made me an F5 dude, browser just suffers...

                    1 Reply Last reply Reply Quote 0
                    • ustkU
                      ustk @Christoph Hart
                      last edited by ustk

                      @Christoph-Hart So if I do the exact same thing inside a synthesiser it works, but crashes as soon as it is a master FX

                      Hise made me an F5 dude, browser just suffers...

                      Christoph HartC 1 Reply Last reply Reply Quote 0
                      • Christoph HartC
                        Christoph Hart @ustk
                        last edited by Christoph Hart

                        @ustk Ah this one, I realized I've fixed that locally on my Macbook already but forgot to push the commit. It's fixed now.

                        Just FYI, the fix was

                        if(voice == nullptr || voice...)
                        {
                            saveFirst = true;
                        }
                        

                        and not

                        if(voice != nullptr && voice...)
                        {
                            saveFirst = true;
                        }
                        

                        The latter would fix the crash but then the modulation wouldn't work - it needs to save the values when the first voice is rendered, not skip the save flag... AGI my ass...

                        ustkU 1 Reply Last reply Reply Quote 2
                        • ustkU
                          ustk @Christoph Hart
                          last edited by

                          @Christoph-Hart oh awesome! Thanks!

                          AGI my ass…

                          Lol very true 😆

                          Hise made me an F5 dude, browser just suffers...

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          20

                          Online

                          2.0k

                          Users

                          12.8k

                          Topics

                          111.0k

                          Posts