An unexpected exception has been detected in nativ

The following pretty simple program blows up with an exception in the VM. All the code does is draw a cube and if you click in the window it opens another window with another cube.

Any idea how to get around this problem?

import java.awt.;
import java.awt.event.
;

import net.java.games.jogl.*;
import net.java.games.jogl.util.GLUT;

public class Cube {
public static void main(String[] args) {
Cube c = new Cube(0, 0);
}

  public Cube(int x, int y) {      
        Frame frame = new Frame("Cube Demo");      
        GLCanvas canvas = GLDrawableFactory.getFactory().createGLCanvas(new GLCapabilities());
        canvas.addGLEventListener(new CubeRenderer());
        frame.add(canvas);
        frame.setSize(300, 300);
        frame.setLocation(new Point(x,y));

        frame.addWindowListener(new WindowAdapter() {
              public void windowClosing(WindowEvent e) {
                System.exit(0);
              }
          });
        frame.show();
  }

static class CubeRenderer implements GLEventListener, MouseListener{
int x=0, y=0;
public void init(GLDrawable drawable) {
GL gl = drawable.getGL();
gl.glClearColor(0,0,0,0);

    drawable.addMouseListener(this);
  }
  
  public void reshape(GLDrawable drawable, int x, int y, int width, int height) {
        GLU glu = drawable.getGLU();
        GL gl = drawable.getGL();
        gl.glViewport(x, y, width, height);
        gl.glMatrixMode(GL.GL_PROJECTION);
        gl.glLoadIdentity();
        
        if(width>height)
              gl.glOrtho(-(double)width/height, (double)width/height, -1, 1, -1, 1);
        else
              gl.glOrtho(-1, 1, -(double)height/width, (double)height/width, -1, 1);

        gl.glMatrixMode(GL.GL_MODELVIEW);
  }

  public void display(GLDrawable drawable) {      
        GL gl = drawable.getGL();
        GLUT glut = new GLUT();
        gl.glClear(GL.GL_COLOR_BUFFER_BIT);
        gl.glColor3d(1, .25, .75);

        gl.glPushMatrix();
              glut.glutSolidCube(gl, 1);
        gl.glPopMatrix(); 
  }
  
  public void displayChanged(GLDrawable drawable, boolean modeChanged, boolean deviceChanged) {}
  
  public void mouseEntered(MouseEvent e) {}
  public void mouseExited(MouseEvent e) {}
  public void mousePressed(MouseEvent e) { }  
  public void mouseReleased(MouseEvent e) {} 
  public void mouseClicked(MouseEvent e) {new Cube(x+=100, y+=100);}

}
}

An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION (0xc0000005) occurred at PC=0x69350594
Function=DrvSetContext+0xF0874
Library=C:\WINDOWS\System32\atioglxx.dll

Current Java thread:
at net.java.games.jogl.impl.windows.WGL.wglCreateContext(Native Method)
at net.java.games.jogl.impl.windows.WindowsGLContext.choosePixelFormatAndCreateContext(WindowsGLContext.java:296)
at net.java.games.jogl.impl.windows.WindowsOnscreenGLContext.create(WindowsOnscreenGLContext.java:204)
at net.java.games.jogl.impl.windows.WindowsGLContext.makeCurrent(WindowsGLContext.java:117)
- locked <0x10058138> (a net.java.games.jogl.impl.windows.WindowsOnscreenGLContext)
at net.java.games.jogl.impl.windows.WindowsOnscreenGLContext.makeCurrent(WindowsOnscreenGLContext.java:110)
- locked <0x10058138> (a net.java.games.jogl.impl.windows.WindowsOnscreenGLContext)
at net.java.games.jogl.impl.GLContext.invokeGL(GLContext.java:162)
- locked <0x10058138> (a net.java.games.jogl.impl.windows.WindowsOnscreenGLContext)
at net.java.games.jogl.GLCanvas.reshape(GLCanvas.java:105)
at java.awt.Component.setBounds(Unknown Source)
at java.awt.BorderLayout.layoutContainer(Unknown Source)
- locked <0x1050de98> (a java.awt.Component$AWTTreeLock)
at java.awt.Container.layout(Unknown Source)
at java.awt.Container.doLayout(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validate(Unknown Source)
- locked <0x1050de98> (a java.awt.Component$AWTTreeLock)
at java.awt.Window.show(Unknown Source)
at JOGLstructuredArguments.Cube.(Cube.java:28)
at JOGLstructuredArguments.Cube$CubeRenderer.mouseClicked(Cube.java:73)
at java.awt.Component.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Dynamic libraries:
0x00400000 - 0x00407000 C:\Program Files\Java\j2re1.4.2\bin\javaw.exe
0x77F50000 - 0x77FF7000 C:\WINDOWS\System32\ntdll.dll
0x77E60000 - 0x77F46000 C:\WINDOWS\system32\kernel32.dll
0x77DD0000 - 0x77E5D000 C:\WINDOWS\system32\ADVAPI32.dll
0x78000000 - 0x78086000 C:\WINDOWS\system32\RPCRT4.dll
0x77D40000 - 0x77DC6000 C:\WINDOWS\system32\USER32.dll
0x77C70000 - 0x77CB0000 C:\WINDOWS\system32\GDI32.dll
0x77C10000 - 0x77C63000 C:\WINDOWS\system32\MSVCRT.dll
0x629C0000 - 0x629C8000 C:\WINDOWS\System32\LPK.DLL