Grid of rectangles produces weird triangle pattern

I’m creating a grid of black rectangles on a white background and for some reason unknown to me, part of some rectangles are split and pushed up a pixel to make a weird triangle looking thing in the middle of the grid.

    private final int columns = 15;
    private final int rows = 15;
    private final int scale = 40;

    public void settings() {
        noSmooth();
        size(600,600);
    }

    public void setup() {
        frameRate(30);
    }

    public void draw() {
        background(255);
        noStroke();
        fill(0);

        for (int x = 0; x < columns; x++) {
            for (int y = 0; y < rows; y++) {
                rect((x*scale)+1, (y*scale)+1, scale-2, scale-2);
            }
        }
    }

You can see the effect starting in the upper right corner of this image. I have no idea what is causing this.

(Won’t allow me to put a second image in my post)

I put stroke back in and you can definitely see something is wrong. I even translated the grid over by 130 and the triangle shows up in the same exact spot.

Looks ok here; I’m curious why you use noSmooth().

I’ve done all smoothing, I just ended with noSmooth() because that was my final idea.

Also the things I’ve tried since I put this question up are:
Cleared my IDE’s cache
Reinstalled the processing library