Program: 96915
Project: 96915
Buggy source:
/** 
 * A private method to handle the creation of GLFW windows. Takes care of creating the window with windowing hints, a size, a title, fullscreen or not, parent window to share the context, and whether initially visible or not.
 * @param width     The width of the window
 * @param height    The height of the window
 * @param title     The title of the window
 * @param monitor   The monitor to create the window on
 * @param parent    The parent window, if the context needs to be shared
 * @param visible   Is the window visible upon creation?
 * @param resizable Is the window resizable?
 * @return A window handle. (GLFWWindow* as in C++, but this is Java, so a long)
 */
private static Window createWindow(int width,int height,String title,Monitor monitor,Window parent,boolean visible,boolean resizable){
  if (Game.getBatcher() != null)   Game.getBatcher().dispose();
  Window.setHint(GLFW_SAMPLES,4);
  if (System.getProperty("String_Node_Str").toLowerCase().contains("String_Node_Str")) {
    Window.setHint(GLFW_CONTEXT_VERSION_MAJOR,3);
    Window.setHint(GLFW_CONTEXT_VERSION_MINOR,2);
  }
 else {
    Window.setHint(GLFW_CONTEXT_VERSION_MAJOR,3);
    Window.setHint(GLFW_CONTEXT_VERSION_MINOR,3);
  }
  Window.setHint(GLFW_OPENGL_FORWARD_COMPAT,true);
  Window.setHint(GLFW_OPENGL_PROFILE,GLFW_OPENGL_CORE_PROFILE);
  Window.setHint(GLFW_VISIBLE,visible);
  Window.setHint(GLFW_RESIZABLE,resizable);
  if (Game.development) {
    System.setProperty("String_Node_Str","String_Node_Str");
    Window.setHint(GLFW_OPENGL_DEBUG_CONTEXT,true);
  }
  Window window=new Window(width,height,title,monitor,parent);
  window.makeCurrent();
  glfwSwapInterval(vSync ? 1 : 0);
  Game.setBatcher(new Batcher());
  window.setSizeCallback((win,w,h) -> {
    Display.width=w;
    Display.height=h;
    resized=true;
  }
);
  window.setKeyCallback(Keyboard::glfwKeyCallback);
  window.setPositionCallback((win,xPos,yPos) -> {
    Display.posX=xPos;
    Display.posY=yPos;
  }
);
  window.setCursorPositionCallback(Mouse::glfwCursorCallback);
  window.setScrollCallback(Mouse::glfwScrollCallback);
  window.setMouseButtonCallback(Mouse::glfwMouseButtonCallback);
  Display.dirty=true;
  Window.setDefaultHints();
  return window;
}

Fixed version (ground truth):
/** 
 * A private method to handle the creation of GLFW windows. Takes care of creating the window with windowing hints, a size, a title, fullscreen or not, parent window to share the context, and whether initially visible or not.
 * @param width     The width of the window
 * @param height    The height of the window
 * @param title     The title of the window
 * @param monitor   The monitor to create the window on
 * @param parent    The parent window, if the context needs to be shared
 * @param visible   Is the window visible upon creation?
 * @param resizable Is the window resizable?
 * @return A window handle. (GLFWWindow* as in C++, but this is Java, so a long)
 */
private static Window createWindow(int width,int height,String title,Monitor monitor,Window parent,boolean visible,boolean resizable){
  if (Game.getBatcher() != null)   Game.getBatcher().dispose();
  Window.setHint(GLFW_SAMPLES,4);
  if (System.getProperty("String_Node_Str").toLowerCase().contains("String_Node_Str")) {
    Window.setHint(GLFW_CONTEXT_VERSION_MAJOR,3);
    Window.setHint(GLFW_CONTEXT_VERSION_MINOR,2);
  }
 else {
    Window.setHint(GLFW_CONTEXT_VERSION_MAJOR,3);
    Window.setHint(GLFW_CONTEXT_VERSION_MINOR,3);
  }
  Window.setHint(GLFW_OPENGL_FORWARD_COMPAT,true);
  Window.setHint(GLFW_OPENGL_PROFILE,GLFW_OPENGL_CORE_PROFILE);
  Window.setHint(GLFW_VISIBLE,visible);
  Window.setHint(GLFW_RESIZABLE,resizable);
  width=MathUtils.clamp(width,2,Integer.MAX_VALUE);
  height=MathUtils.clamp(height,2,Integer.MAX_VALUE);
  if (Game.development) {
    System.setProperty("String_Node_Str","String_Node_Str");
    Window.setHint(GLFW_OPENGL_DEBUG_CONTEXT,true);
  }
  Window window=new Window(width,height,title,monitor,parent);
  window.makeCurrent();
  glfwSwapInterval(vSync ? 1 : 0);
  Game.setBatcher(new Batcher());
  window.setSizeCallback((win,w,h) -> {
    Display.width=w;
    Display.height=h;
    resized=true;
  }
);
  window.setKeyCallback(Keyboard::glfwKeyCallback);
  window.setPositionCallback((win,xPos,yPos) -> {
    Display.posX=xPos;
    Display.posY=yPos;
  }
);
  window.setCursorPositionCallback(Mouse::glfwCursorCallback);
  window.setScrollCallback(Mouse::glfwScrollCallback);
  window.setMouseButtonCallback(Mouse::glfwMouseButtonCallback);
  Display.dirty=true;
  Window.setDefaultHints();
  return window;
}