we have png corruption! After struggling with png encoder libraries, I finally got loadpng working, which has great error reporting as well as settings to turn off important checks that the decoding algorithm does to allow for more corruption. Randomly changing some bytes somewhere only works some of the time, you can see the errors the decoder is throwing in the console. Corrupting the png itself is quite error prone to just break the file, but with some checks turned off it works pretty well. According to some info I found which I found (which I'll post in #the-library ) png corruption becomes more powerful when you corrupt the data in-between one of the stages of encoding the png instead of just at the end. &badpaint