I have two GPIO pins defined as A=B&!C&!D E=B&!C&!D.
Most of the time these function correctly, but I have found multiple times them getting stuck in the state where B is high, C and D are both low, but A and E are also low. (B, C, & D are also GPIO pins).
Once in this state they continue to behave this way until the IC is reset.
I don't know how to trigger this behavior, but this has happened often enough that I have been able to connect the USB Interface Adapter and us the "GPIO pins peek/poke" window to verify this incorrect behavior.
Is there some way to make this work reliably? Is there a way to detect and recover from this state using the I2C without resetting the IC?