Why is a 100% mix node not acting as the identity? If I Gaussian Blur white, I get white. No surprise.



If I then pipe this through a Mix node with any other color&mdash;say, yellow&mdash;the output is black.



I'm baffled. Why does this happen?

This is with the default scene settings, just switched to Cycles.

It also happens if I pass the blur through Separate RGBA and Combine RGBA first, but I've verified that each of the channels is at 1.000 (by sending them directly to the Composite node's image, which appears white).
It doesn't work if I swap out the Blur node for an RGB node with pure white.

It does not happen if I check the "include alpha of second input" box on the mix node; in that case, the base color is used and the blur input is ignored.

Reproduced on Mac 10.10.3 and Linux Mint 17.2.

Bug?
From this bug report:

When the input image file is not available, what happens is that the mix node will still try to use the resolution of the first input as the resolution of the output, which doesn't work well because the non-existent file specifies a (0,0) resolution - thus the black image (there are simply no pixels that would be mixed with the second input).
The mix node cannot detect cleanly whether the input buffer is valid, and the image node cannot guess a meaningful resolution ... It seems to work as expected if i choose a valid image file.
I would like to redesign the whole resolution handling in the compositor. Pixels are just not a very reliable and intuitive way of specifying size and transformation. When this happens we can hopefully avoid cases like this.

For context, this was reported while attempting to do this.
So essentially, the mix node (rather unexpectedly) doesn't know the size of the image it's getting from the blur node. As such, it treats it like the input from the blur node is completely transparent (or 0x0 pixels large).
One workaround is to provide a resolution, e.g. with a mask node: