My point light is illuminating only half of the scene on my small 3D renderer. It happens on every scene I've tried (conference room, cornell box, etc). How do I go about debugging this? What could be wrong? I feel like I've tried everything but nothing helps.

Here's the shaders. I'm not doing anything out of the ordinary.
//
// VERT SHADER
//
#version 410 core
uniform mat4 M;
uniform mat4 V;
uniform mat4 P;
layout (location = 0) in vec3 position;
layout (location = 1) in vec3 normal;
layout (location = 2) in vec3 color;
layout (location = 3) in vec2 …