I have an automated chicken farm that uses pistons to direct the flow of water into holding pools. When the chickens float past the pistons they get damaged and die - irrespective of if the piston is opened or closed. I've even tried having the piston only push a block but they still die when coming into contact with the block. Is this normal behavior or a bug? I'm on minecraft 1.12 FTB revelations.
This seems to be the bug MC-50367, which was fixed in a 1.14 snapshot. The eye position of baby chickens (what determines whether they should take suffocation damage in blocks) was above (outside of) their hitbox, so they could swim up to the bottom of the block and suffocate inside it.
Most likely the chickens are taking suffocation damage from getting into a solid block.
This can be piston related (pushed into walls), but can also be caused by collisions with other chickens (pushed into the walls or ceiling), or just chickens being chickens while floating in the water (floating into the ceiling).
Since no suffocation damage is taken inside transparent blocks, replacing the walls and ceilings at the critical points with glass might help the chickens survive.