Program: 96994
Project: 96994
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 long createWindow(int width,int height,String title,long monitor,long parent,boolean visible,boolean resizable){
  glfwWindowHint(GLFW_SAMPLES,4);
  glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR,3);
  glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR,2);
  glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT,GL_TRUE);
  glfwWindowHint(GLFW_OPENGL_PROFILE,GLFW_OPENGL_CORE_PROFILE);
  glfwWindowHint(GLFW_VISIBLE,visible ? GL_TRUE : GL_FALSE);
  glfwWindowHint(GLFW_RESIZABLE,resizable ? GL_TRUE : GL_FALSE);
  long window=glfwCreateWindow(width,height,title,monitor,parent);
  if (window == NULL)   throw new SilenceException("String_Node_Str");
  glfwMakeContextCurrent(window);
  glfwSwapInterval(1);
  GLContext.createFromCurrent();
  GL3Context.enable(GL_BLEND);
  GL3Context.blendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
  GL3Context.enable(GL_DEPTH_TEST);
  GL3Context.viewport(0,0,width,height);
  if (Game.getBatcher() == null)   Game.setBatcher(new Batcher());
  if (Program.DEFAULT == null)   Program.loadDefaultProgram();
  if (Texture.EMPTY == null)   Texture.loadNullTexture();
  if (winSizeCallback != null)   winSizeCallback.release();
  if (winKeyCallback != null)   winKeyCallback.release();
  if (winPosCallback != null)   winPosCallback.release();
  if (winCurPosCallback != null)   winCurPosCallback.release();
  glfwSetWindowSizeCallback(window,winSizeCallback=GLFWWindowSizeCallback((win,w,h) -> {
    Display.width=w;
    Display.height=h;
    resized=true;
  }
));
  glfwSetKeyCallback(window,winKeyCallback=GLFWKeyCallback((win,key,scanCode,action,mods) -> Keyboard.setKey(key,action != GLFW_RELEASE)));
  glfwSetWindowPosCallback(window,winPosCallback=GLFWWindowPosCallback((win,xPos,yPos) -> {
    Display.posX=xPos;
    Display.posY=yPos;
  }
));
  glfwSetCursorPosCallback(window,winCurPosCallback=GLFWCursorPosCallback((win,xPos,yPos) -> {
    mouseDX=(int)xPos - mouseX;
    mouseDY=(int)yPos - mouseY;
    mouseX=(int)xPos;
    mouseY=(int)yPos;
  }
));
  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 long createWindow(int width,int height,String title,long monitor,long parent,boolean visible,boolean resizable){
  glfwWindowHint(GLFW_SAMPLES,4);
  glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR,3);
  glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR,2);
  glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT,GL_TRUE);
  glfwWindowHint(GLFW_OPENGL_PROFILE,GLFW_OPENGL_CORE_PROFILE);
  glfwWindowHint(GLFW_VISIBLE,visible ? GL_TRUE : GL_FALSE);
  glfwWindowHint(GLFW_RESIZABLE,resizable ? GL_TRUE : GL_FALSE);
  long window=glfwCreateWindow(width,height,title,monitor,parent);
  if (window == NULL)   throw new SilenceException("String_Node_Str");
  glfwMakeContextCurrent(window);
  glfwSwapInterval(1);
  GLContext.createFromCurrent();
  GL3Context.enable(GL_BLEND);
  GL3Context.blendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
  GL3Context.viewport(0,0,width,height);
  if (Game.getBatcher() == null)   Game.setBatcher(new Batcher());
  if (Program.DEFAULT == null)   Program.loadDefaultProgram();
  if (Texture.EMPTY == null)   Texture.loadNullTexture();
  if (winSizeCallback != null)   winSizeCallback.release();
  if (winKeyCallback != null)   winKeyCallback.release();
  if (winPosCallback != null)   winPosCallback.release();
  if (winCurPosCallback != null)   winCurPosCallback.release();
  glfwSetWindowSizeCallback(window,winSizeCallback=GLFWWindowSizeCallback((win,w,h) -> {
    Display.width=w;
    Display.height=h;
    resized=true;
  }
));
  glfwSetKeyCallback(window,winKeyCallback=GLFWKeyCallback((win,key,scanCode,action,mods) -> Keyboard.setKey(key,action != GLFW_RELEASE)));
  glfwSetWindowPosCallback(window,winPosCallback=GLFWWindowPosCallback((win,xPos,yPos) -> {
    Display.posX=xPos;
    Display.posY=yPos;
  }
));
  glfwSetCursorPosCallback(window,winCurPosCallback=GLFWCursorPosCallback((win,xPos,yPos) -> {
    mouseDX=(int)xPos - mouseX;
    mouseDY=(int)yPos - mouseY;
    mouseX=(int)xPos;
    mouseY=(int)yPos;
  }
));
  return window;
}