Semi-transparent textures rendering as... purple?

Having a very weird and frustrating problem. I’ve done quite a bit of googling but I can’t seem to find anyone with a similar problem. I’m trying to render water in a Minecraft-like game engine. I’m using AlphaTestEffect and loading this texture:

Water is being mapped to the blue tile near the bottom right. The code that does that mapping is here.

The water looks fine in every respect except for the fact that it’s… purple. Screenshot:

Ice is rendered the same way and looks fine:

This problem seems to only be affecting Linux. I have reports from Windows users that they do not experience this problem.

This is driving me nuts. I have no idea what’s happening here. The full source code is available on Github, any help is very welcome: