Skip to content
The Jenkins Controller is preparing for shutdown. No new builds can be started.
Success

Changes

Summary

  1. TestSharedContextVBOES2NEWT5: Try harder having the objects destroyed and taken from the GLContextShareSet map (details)
  2. JAWTWindow.invalidateNative() and .detachSurfaceLayerImpl(): Pass copy of offscreenSurfaceLayer for pending off-thread operation and immediately zero reference marking its future destruction. (details)
  3. JAWTWindow.ctor: Initialize offscreenSurfaceLayer before use (details)
  4. MacOSXCGLContext.AttachGLLayerCmd: Allow DetachGLLayerCmd to revoke the attach command, essential if attach hasn't been done yet @ detach (details)
  5. OSXMisc.m: Show semantics: caLayer -> rootCALayer (details)
  6. MacOS: JAWTWindow.layoutSurfaceLayerImpl(): Perform OSXUtil.FixCALayerLayout() on main thread and hence fetch and validate getAttachedSurfaceLayer() when needed (details)
  7. MacOS: JAWTWindow's OffscreeLayer: Show semantics in argument names and complete null checks in detachSurfaceLayerImpl(), setSurfaceScale() (details)
  8. MacOS: JAWTWindow.invalidateNative(): Use copied references in off-thread operations and zero source references upfront. (details)
  9. MacOS: JAWTWindow: Complete MacOS 12+ SIGSEGV JAW Crash Fix; This: Destroy NSWindow on MacOS main-thread (details)
  10. Minor auto formatting: @Override, .. (details)
  11. Test MouseAdapter: Use volatile qualifier to avoid reading too old values (details)
  12. AWTRobot.getClickTimeout(): NEWT Case: Return maximum(AWT, NEWT), otherwise we see click-count 2 on MacOS 12 (details)
  13. scripts/tests*.sh: Put 'ulimit -c unlimited' in root script (details)
  14. Add scripts/run-test-until-crash.sh: Used to stress test one unit test (for sporadic crashes) (details)
  15. Workaround MacOS + SWT 4.26: java.lang.NullPointerException: Cannot invoke "org.eclipse.swt.internal.cocoa.NSGraphicsContext.saveGraphicsState()" because "context" is null (details)
  16. jogl's Debug.class: Add explicit debugNotAll(..) variant to skip debugAll() (details)
  17. MacOSXCGLContext: Enable DEBUG1398 explicitly w/o debugAll() (details)
  18. MacOSXCGLContext: Fix typo in DEBUG output (details)
  19. build-test.xml junit.run.swt.awt: Add missing 'jvmarg.generic' (details)
  20. SWTAccessor.invokeOnOSTKThread(): Fix comment .. (details)
  21. TestSharedContextVBOES2SWT3: Remove unused import (details)
Commit f71abdf19bdcf3ccfcc5455cb15aff4e93d468bb by Sven Gothel
TestSharedContextVBOES2NEWT5: Try harder having the objects destroyed and taken from the GLContextShareSet map

The objects were more sticky on my MacOS 12 x86_64 machine, this double GC w/ sleep 100ms resolved it.
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2NEWT5.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit 4009198e34b50bba9582be24f33eaf83b94a2cb8 by Sven Gothel
JAWTWindow.invalidateNative() and .detachSurfaceLayerImpl(): Pass copy of offscreenSurfaceLayer for pending off-thread operation and immediately zero reference marking its future destruction.
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/x11/X11JAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/windows/WindowsJAWTWindow.java (diff)
Commit 3c4cf1f37dc27d8d527804d195361a2287575147 by Sven Gothel
JAWTWindow.ctor: Initialize offscreenSurfaceLayer before use
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java (diff)
Commit d969f473fdc72c6ca95f1796ff5af3f0c8bd51b6 by Sven Gothel
MacOSXCGLContext.AttachGLLayerCmd: Allow DetachGLLayerCmd to revoke the attach command, essential if attach hasn't been done yet @ detach

Otherwise a pending attach would still pass through after DetachGLLayerCmd releases the sync-lock from AttachGLCmd.

DetachGLCmd also tests 0 != nsOpenGLLayer
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
Commit 81f395975c06a66183ad36cc43e8dc9bc7f4545b by Sven Gothel
OSXMisc.m: Show semantics: caLayer -> rootCALayer
The file was modifiedsrc/nativewindow/native/macosx/OSXmisc.m (diff)
Commit b8977465b2fb8452c2560a5d2561b2561472edf0 by Sven Gothel
MacOS: JAWTWindow.layoutSurfaceLayerImpl(): Perform OSXUtil.FixCALayerLayout() on main thread and hence fetch and validate getAttachedSurfaceLayer() when needed
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java (diff)
Commit 470a0ff3a2efbe43404d5f80a403efb38005598a by Sven Gothel
MacOS: JAWTWindow's OffscreeLayer: Show semantics in argument names and complete null checks in detachSurfaceLayerImpl(), setSurfaceScale()
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java (diff)
Commit 9829550f5bcb586f94f98f6d3c39f4d78fd78f3b by Sven Gothel
MacOS: JAWTWindow.invalidateNative(): Use copied references in off-thread operations and zero source references upfront.

Have user being aware of disposal then triggered and not later when performed on MacOS main-thread
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java (diff)
Commit 1711008b95534d1bf3c87570990253c0fa7cd9f6 by Sven Gothel
MacOS: JAWTWindow: Complete MacOS 12+ SIGSEGV JAW Crash Fix; This: Destroy NSWindow on MacOS main-thread

Destroy NSWindow on MacOS main-thread, avoiding spurious more rare SIGSEGV on MacOS 13/aarch64

This closes the MacOS 12+ SIGSEGV JAWT (CALayer) crash fix, see commits:
- 4009198e34b50bba9582be24f33eaf83b94a2cb8
- 3c4cf1f37dc27d8d527804d195361a2287575147
- d969f473fdc72c6ca95f1796ff5af3f0c8bd51b6
- 81f395975c06a66183ad36cc43e8dc9bc7f4545b
- b8977465b2fb8452c2560a5d2561b2561472edf0
- 470a0ff3a2efbe43404d5f80a403efb38005598a
- 9829550f5bcb586f94f98f6d3c39f4d78fd78f3b
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java (diff)
Commit 06b1563dc84125ab1c589499f30034162ddca0c8 by Sven Gothel
Minor auto formatting: @Override, ..
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/AWTMouseAdapter.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/NEWTMouseAdapter.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestParentingFocus02SwingAWTRobot.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextWithJTabbedPaneAWT.java (diff)
Commit b0ac7056205ed423eab9a04417d2e9e6387cc5a0 by Sven Gothel
Test MouseAdapter: Use volatile qualifier to avoid reading too old values
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/AWTMouseAdapter.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/NEWTMouseAdapter.java (diff)
Commit d509a3d435e8357a6148617d7792f164dbd0b529 by Sven Gothel
AWTRobot.getClickTimeout(): NEWT Case: Return maximum(AWT, NEWT), otherwise we see click-count 2 on MacOS 12
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestParentingFocus02SwingAWTRobot.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/AWTRobotUtil.java (diff)
Commit 5b8f42a801de10c6b324edae0dacfbbdd2742467 by Sven Gothel
scripts/tests*.sh: Put 'ulimit -c unlimited' in root script
The file was modifiedmake/scripts/tests-osx-x64.sh (diff)
The file was modifiedmake/scripts/tests-osx-aarch64.sh (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit ae21ab3e418cb80de10dd1fd265b67bec7d2d31e by Sven Gothel
Add scripts/run-test-until-crash.sh: Used to stress test one unit test (for sporadic crashes)
The file was addedmake/scripts/run-test-until-crash.sh (diff)
Commit 7a352d3747233be44edb4333da108228ca75f0f3 by Sven Gothel
Workaround MacOS + SWT 4.26: java.lang.NullPointerException: Cannot invoke "org.eclipse.swt.internal.cocoa.NSGraphicsContext.saveGraphicsState()" because "context" is null

On MacOS 12+ and SWT 4.26 while not using AWT (-Djava.awt.headless=true, -XstartOnFirstThread),
we recently get the following Exception from SWT (suppressed):

java.lang.NullPointerException: Cannot invoke "org.eclipse.swt.internal.cocoa.NSGraphicsContext.saveGraphicsState()" because "context" is null
        at org.eclipse.swt.widgets.Widget.drawRect(Widget.java:764)
        at org.eclipse.swt.widgets.Canvas.drawRect(Canvas.java:170)
        at org.eclipse.swt.widgets.Display.windowProc(Display.java:6287)
        at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
        at org.eclipse.swt.widgets.Display.applicationNextEventMatchingMask(Display.java:5565)
        at org.eclipse.swt.widgets.Display.applicationProc(Display.java:5965)
        at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
        at org.eclipse.swt.internal.cocoa.NSApplication.nextEventMatchingMask(NSApplication.java:92)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3983)
        at com.jogamp.opengl.test.junit.util.SWTTestUtil$WaitAction$1.run(SWTTestUtil.java:52)
        at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183)
        at org.eclipse.swt.widgets.Display.syncExec(Display.java:5250)
        at com.jogamp.opengl.test.junit.util.SWTTestUtil$WaitAction.run(SWTTestUtil.java:63)
        at com.jogamp.opengl.test.junit.jogl.acore.TestSharedContextVBOES2SWT3.test02AsyncEachAnimator(TestSharedContextVBOES2SWT3.java:376)

This is not observed if running using AWT (-Djava.awt.headless=false).
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/swt/TestGearsES2SWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/SWTTestUtil.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2SWT3.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/GLTestUtil.java (diff)
Commit 9e9dc6d407baa893234e2f1e4a938cef27848eaa by Sven Gothel
jogl's Debug.class: Add explicit debugNotAll(..) variant to skip debugAll()
The file was modifiedsrc/jogl/classes/jogamp/opengl/Debug.java (diff)
Commit f91bd273d59eef08d8ae2d8b2a86e8ba2c8f17ac by Sven Gothel
MacOSXCGLContext: Enable DEBUG1398 explicitly w/o debugAll()
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
Commit f8a932f932bad986c649e287fd042210341cdcbf by Sven Gothel
MacOSXCGLContext: Fix typo in DEBUG output
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
Commit 766b2507ddaf792e9345076e69666032d008b0bd by Sven Gothel
build-test.xml junit.run.swt.awt: Add missing 'jvmarg.generic'
The file was modifiedmake/build-test.xml (diff)
Commit f8db4cf0d7133f938b74a0c88047f8db2734e5f5 by Sven Gothel
SWTAccessor.invokeOnOSTKThread(): Fix comment ..
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/swt/SWTAccessor.java (diff)
Commit be4fa1f3fc1a97ad712b8d907e611a99c2bd4c83 by Sven Gothel
TestSharedContextVBOES2SWT3: Remove unused import
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2SWT3.java (diff)