Why can't a macro cancel ice block and cast counterspell?

Why is this? This doesn’t seem to be the case for other abilities in general.

For example, arms warrior using a macro to apply sharpened blade self-buff (off GCD) and then using mortal strike will apply the sharpened blade debuff with that mortal strike.

So it’s clearly not due to buffs being snapshotted before the macro is executed, unless the snapshot only applies to buffs being removed.

So it seems like it’s either intentional, and limited to this specific skill (ice block) or unintentional, and a product of some other aspect of the ability (immunity?)

We can check if it’s due to immunity by testing the same with a hunter.

Is this true? If it is, it’s very surprising.

What’s the macro you’ve been using?

Casting Ice Block itself will trigger the GCD, so if you try to cancel it and cast Counterspell before the GCD is up, it will fail.

Counterspell is off the GCD
https://www.wowhead.com/spell=2139/counterspell

It doesn’t really matter what the macro is; you cannot write a macro or a script which does this. It’s trivial to test on any mage (class trial e.g.)

If you really need to see an example though:

/cancelaura Ice Block
/use Counterspell

Yep that definitely isn’t working.
Looks like it’s a race condition issue. The /cast Counterspell is triggering before the game’s registered that Ice Block has been removed so Ice Block’s during that time you cannot attack, move, or cast spells. is still in effect when you try.

Isn’t working?

I’m curious what happens though.

Does it remove the ice block?

If you press it twice, does it work then?

If you invert the two lines, does that change anything?

/regards

Correct. Yes. Yes. No.