Bug 1415

Summary: MacOS 10.14.6 + OpenJDK11U occasional freezes having multiple Windows created on a ExclusiveContextThread
Product: [JogAmp] Jogl Reporter: Sven Gothel <sgothel>
Component: macosxAssignee: Sven Gothel <sgothel>
Status: RESOLVED WORKSFORME    
Severity: normal    
Priority: P4    
Version: 2.4.0   
Hardware: All   
OS: macosx   
Type: ANNOTATION SCM Refs:
dd8f6f0c884161eb1099ff1ab8af20383984771d 5e6f75991d885f1e48760668f86b305824bd972a
Workaround: ---

Description Sven Gothel 2019-12-08 07:33:29 CET
Unit tests based on ExclusiveContextBase00, i.e.
- com.jogamp.opengl.test.junit.jogl.acore.ect.TestExclusiveContext01VSyncAnimAWT
- com.jogamp.opengl.test.junit.jogl.acore.ect.TestExclusiveContext02FPSAnimAWT
- com.jogamp.opengl.test.junit.jogl.acore.ect.TestExclusiveContext01VSyncAnimNEWT
- com.jogamp.opengl.test.junit.jogl.acore.ect.TestExclusiveContext02FPSAnimNEWT

Unit tests based on ExclusiveContextBase10, i.e.
- com.jogamp.opengl.test.junit.jogl.acore.ect.TestExclusiveContext11VSyncAnimNEWT
- com.jogamp.opengl.test.junit.jogl.acore.ect.TestExclusiveContext12FPSAnimNEWT

Erratic behavior exposed on MacOS >= 10.14.6 - 10.15.6 using OpenJDK11U,
but not OpenJDK8.

Freeze occurs in case (*PostVis* or false==preVis):
- 4 windows were created, but not made visible (lazy pending native creation)
- moved ahead of native creation to their exclusive context thread (animator)
- then made visible and started rendering OpenGL content

Freeze does not occurs if (*PreVis* or true==preVis):
- 4 windows were opened, made visible and rendered OpenGL content ahead
- then moved to their exclusive context thread, i.e. animator

Freeze also does not occur if only one window is has been created,
regardless whether created and rendered pre or post exclusive context assignment.
Comment 1 Sven Gothel 2019-12-08 07:35:21 CET
*** Bug 1414 has been marked as a duplicate of this bug. ***
Comment 2 Sven Gothel 2019-12-08 07:41:48 CET
dd8f6f0c884161eb1099ff1ab8af20383984771d
ExclusiveContextBase00+10: Utilize one Animator per Window for clean ExclusiveContextThread
    
No, this does not resolve the issue - but is the proper test case.
ExclusiveContextBase10 also gets the preVis test.

+++

5e6f75991d885f1e48760668f86b305824bd972a

MacOS: Disable multiple Window creation on ExclusiveContextThread in test case