Not calling void in another script? c#

Ok i want my script to run a void on another script but its not calling, i even put Debug.Log(“Test”) to even see if it was reaching that point.

Here is part of script:

public GM_Copy end;

void Update (){        
            if (curHealth <= 0)
        {
            Time.timeScale = 0; //ignore this
            end.showGM(); //not working 
            Destroy(gameObject); //ignore this
            disable.OnDisable(); // ignore this but this one works
             }
}

Notes:

It is a public void (ShowGM)

It had worked before but i changed other code but idk how that would affect

I didnt do GetComponent before and it worked so i dont think that is the problem if you are going to suggest that

public GM_Copy end;

void Update ()
{
if (curHealth <= 0)

     {
        end.showGM(); //not working 
         Destroy(gameObject); //ignore this
         disable.OnDisable(); // ignore this but this one works
          Time.timeScale = 0; //ignore this
          }

}