Program: 11507
Project: 11507
Buggy source:
public static void showWithSwing(GlimpseLayoutProvider layoutProviderA,GlimpseLayoutProvider layoutProviderB) throws Exception {
  GLProfile glProfile=GLUtils.getDefaultGLProfile();
  GLDrawableFactory factory=GLDrawableFactory.getFactory(glProfile);
  GLCapabilities glCapabilities=new GLCapabilities(glProfile);
  final GLOffscreenAutoDrawable glDrawable=factory.createOffscreenAutoDrawable(null,glCapabilities,null,1,1);
  glDrawable.display();
  GLContext context=glDrawable.getContext();
  final NewtSwingGlimpseCanvas leftPanel=new NewtSwingGlimpseCanvas(context);
  leftPanel.addLayout(layoutProviderA.getLayout());
  final NewtSwingGlimpseCanvas rightPanel=new NewtSwingGlimpseCanvas(context);
  rightPanel.addLayout(layoutProviderB.getLayout());
  FPSAnimator animator=new FPSAnimator(120);
  animator.add(leftPanel.getGLDrawable());
  animator.add(rightPanel.getGLDrawable());
  animator.start();
  WindowAdapter disposeListener=new WindowAdapter(){
    @Override public void windowClosing(    WindowEvent e){
      glDrawable.destroy();
      leftPanel.dispose();
      rightPanel.dispose();
    }
  }
;
  final JFrame rightFrame=new JFrame("String_Node_Str");
  rightFrame.addWindowListener(disposeListener);
  final JFrame leftFrame=new JFrame("String_Node_Str");
  leftFrame.addWindowListener(disposeListener);
  rightFrame.setSize(800,800);
  rightFrame.setLocation(800,0);
  rightFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  rightFrame.setVisible(true);
  leftFrame.setSize(800,800);
  leftFrame.setLocation(0,0);
  leftFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  leftFrame.setVisible(true);
  SwingUtilities.invokeAndWait(new Runnable(){
    @Override public void run(){
      rightFrame.add(rightPanel);
      leftFrame.add(leftPanel);
      rightFrame.validate();
      leftFrame.validate();
    }
  }
);
  return;
}

Fixed version (ground truth):
public static void showWithSwing(GlimpseLayoutProvider layoutProviderA,GlimpseLayoutProvider layoutProviderB) throws Exception {
  GLProfile glProfile=GLUtils.getDefaultGLProfile();
  GLDrawableFactory factory=GLDrawableFactory.getFactory(glProfile);
  GLCapabilities glCapabilities=new GLCapabilities(glProfile);
  final GLOffscreenAutoDrawable glDrawable=factory.createOffscreenAutoDrawable(null,glCapabilities,null,1,1);
  glDrawable.display();
  GLContext context=glDrawable.getContext();
  final NewtSwingGlimpseCanvas leftPanel=new NewtSwingGlimpseCanvas(context);
  leftPanel.addLayout(layoutProviderA.getLayout());
  final NewtSwingGlimpseCanvas rightPanel=new NewtSwingGlimpseCanvas(context);
  rightPanel.addLayout(layoutProviderB.getLayout());
  FPSAnimator animator=new FPSAnimator(120);
  animator.add(leftPanel.getGLDrawable());
  animator.add(rightPanel.getGLDrawable());
  animator.start();
  WindowAdapter disposeListener=new WindowAdapter(){
    @Override public void windowClosing(    WindowEvent e){
      leftPanel.destroy();
      rightPanel.destroy();
      leftPanel.disposeAttached();
      rightPanel.disposeAttached();
    }
  }
;
  final JFrame rightFrame=new JFrame("String_Node_Str");
  rightFrame.addWindowListener(disposeListener);
  final JFrame leftFrame=new JFrame("String_Node_Str");
  leftFrame.addWindowListener(disposeListener);
  rightFrame.setSize(800,800);
  rightFrame.setLocation(800,0);
  rightFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  rightFrame.setVisible(true);
  leftFrame.setSize(800,800);
  leftFrame.setLocation(0,0);
  leftFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  leftFrame.setVisible(true);
  SwingUtilities.invokeAndWait(new Runnable(){
    @Override public void run(){
      rightFrame.add(rightPanel);
      leftFrame.add(leftPanel);
      rightFrame.validate();
      leftFrame.validate();
    }
  }
);
  return;
}