From b66b068b5c1c238ea702ba7e8ea0c8a1c47cfcf1 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Tue, 5 Aug 2014 17:09:40 +0200 Subject: Bug 1028 - AMD Windows driver thread hinders JVM process to exit/end, caused by _not_ destroying the SharedResource context SharedResourceRunner stop() method is invoked by JMV shutdown hook and GLProfile/GLDrawableFactory.shutdown*(). It shall issue SharedResource.releaseSharedResource() for all implementations, e.g. X11/GLX and Windows/WGL. +++ Root cause is a GL driver thread keeping the process alive. +++ On X11/GLX we destroy the shared context and the shared drawable. On Windows/WGL we only destroy the shared drawable, knowing that destroying the shared context caused a driver bug in the past. Will enable the shared context destruction, which is the proper way. +++ Commiting this patch to see whether our jenkins builds won't crash due to previous experienced issues. --- .../classes/jogamp/opengl/windows/wgl/WindowsWGLDrawableFactory.java | 1 + 1 file changed, 1 insertion(+) (limited to 'src/jogl/classes') diff --git a/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawableFactory.java b/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawableFactory.java index 23974c3ce..fa052d784 100644 --- a/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawableFactory.java +++ b/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawableFactory.java @@ -386,6 +386,7 @@ public class WindowsWGLDrawableFactory extends GLDrawableFactoryImpl { if (null != sr.context) { // may cause JVM SIGSEGV: sharedContext.destroy(); + sr.context.destroy(); // will also pull the dummy MutableSurface sr.context = null; } -- cgit v1.2.3