We have an MST region, connecting to a rpvst switchblock. The rpvst distribution switches, consist of 2 3750's stacked together, each switch member has an uplink to a switch in the MST region. One of the ports is in the blocked state as expected, however ever so often we will se a root change between the two ports, and sometimes downstream switches even report the distribution switch as the new root bridge.
If I run a "show spanning-tree interface <int> detail | i age" on the uplink port, which is the root port, I can see that the message age is resetting itself every 2 seconds, again as expected. When running the same command on the uplink port, which is in the blocked state, sometimes it will reach 20 on the message age, and start counting down the forward delay counter. My guess is that whenever we see a root change, it is because the forward delay counters reaches 0, and the port is moved into forwarding.
When running "show spanning-tree interface <int> detail | i BPDU" on the MST boundary switch, I can see that it is sending BPDU's every 2 seconds.
Somehow the bpdu's are dropped along the way, or the 3750's are ignoring them.
The strangest part however, is that the blocked port is actively sending BPDU's to the MST boundary switch, even though the message age timers haven't even timed out. I have checked counters on the interfaces, and I'm not seeing any errors.
My understanding is that blocked ports should never send BPDU's. I have searched cisco bug toolkit, but haven't found any related bugs in the software (12.2(46)SE)
Anyone got any ideas?