You can see from the source code that
glfwCreateWindow returns a null pointer in only a few circumstances (as of this writing).
- GLFW is not initialized at all (
_GLFW_REQUIRE_INIT_OR_RETURN(NULL); on line 137).
- The width or height you specify for the window is zero or negative.
- The context configuration (controlled by you via the window hints, checked via
_glfwIsValidContextConfig on line 184) is invalid.
- Platform-level window creation fails (
_glfwPlatformCreateWindow on line 216).
- Refreshing the GL context to get the actual requested context attributes fails (
_glfwRefreshContextAttribs on line 226).
- The refreshed context doesn't match the requested context properties (
_glfwIsValidContext on line 234).
Since you don't get an error handler callback invoked, you can probably discard the second reason (it's the only one that might fire an error handler call, and it should be pretty easy to verify on your end anyway).
This means the likely options are that you didn't initialize GLFW correctly or correctly check the return value of the initialization (you don't provide your source, so it's impossible to say) or your ask for invalid context options via the window hints system.