Excellent. I followed your steps, added a 16ms delay and fullscreened boing. Now I too see a crawling tearline, thanks. That’s enough for me to bisect what is happening.
EDIT: new users aren’t allowed to reply > 3 times, so this is my followup:
I fixed the problem and found the line that causes it, but not the underlying cause. glfwWindowHint(GLFW_DOUBLEBUFFER, GL_FALSE) prevents the buffer from tearing. Removing it (and adding glfwSwapBuffers) creates tearing, as desired. I assume this is caused by Windows. The GLFW line that uses double-buffering seems fine to me: https://github.com/glfw/glfw/blob/master/src/wgl_context.c#L385.