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

Failed

com.jogamp.opengl.test.junit.newt.event.TestNewtEventModifiersNEWTWindowAWT.testSingleButtonClickAndDrag

Failing for the past 29 builds (Since Unstable#1018 )
Took 4 sec.

Error Message

java.lang.AssertionError: 

Stacktrace

java.lang.RuntimeException: java.lang.AssertionError: 
	at com.jogamp.opengl.test.junit.newt.event.BaseNewtEventModifiers.execOffThreadWithOnThreadEventDispatch(BaseNewtEventModifiers.java:359)
	at com.jogamp.opengl.test.junit.newt.event.BaseNewtEventModifiers.testSingleButtonClickAndDrag(BaseNewtEventModifiers.java:484)
Caused by: java.lang.AssertionError: 
	at com.jogamp.opengl.test.junit.newt.event.BaseNewtEventModifiers._checkFailures(BaseNewtEventModifiers.java:678)
	at com.jogamp.opengl.test.junit.newt.event.BaseNewtEventModifiers._doSingleButtonClickAndDrag(BaseNewtEventModifiers.java:619)
	at com.jogamp.opengl.test.junit.newt.event.BaseNewtEventModifiers.access$500(BaseNewtEventModifiers.java:51)
	at com.jogamp.opengl.test.junit.newt.event.BaseNewtEventModifiers$6.run(BaseNewtEventModifiers.java:487)
	at com.jogamp.common.util.RunnableTask.run(RunnableTask.java:95)
	at java.lang.Thread.run(Thread.java:680)

Standard Error

SLOCK [T main @ 1373461201355 ms III localhost/127.0.0.1:59999 - Wait for lock
Thread-7 - SISock: localhost/127.0.0.1:59999 - started
SLOCK [T main @ 1373461203360 ms +++ localhost/127.0.0.1:59999 - Locked within 2014 ms, 3 attempts
Thread[main-Display-.macosx_nil-1-EDT-1,5,main] RedSquareES2.init ...
RedSquareES2 init on Thread[main-Display-.macosx_nil-1-EDT-1,5,main]
Chosen GLCapabilities: GLCaps[rgba 8/8/8/8, opaque, accum-rgba 0/0/0/0, dp/st/ms 16/0/0, dbl, mono  , hw, GLProfile[GL2/GL2.hw], on-scr[.]]
INIT GL IS: jogamp.opengl.gl4.GL4bcImpl
Swap Interval  -1
GL Profile     GLProfile[GL2/GL2.hw]
GL Version     2.1 (hardware) - 2.1 NVIDIA-7.32.12 [GL 2.1.0, vendor 7.32.12 (NVIDIA-7.32.12)]
Quirks         [NoOffscreenBitmap]
Impl. class    jogamp.opengl.gl4.GL4bcImpl
GL_VENDOR      NVIDIA Corporation
GL_RENDERER    NVIDIA GeForce 320M OpenGL Engine
GL_VERSION     2.1 NVIDIA-7.32.12
GLSL           true, has-compiler-func: true, version: 1.20 / 1.20.0
GL FBO: basic true, full true
GL_EXTENSIONS  134
GLX_EXTENSIONS 0
-----------------------------------------------------------------------------------------------------
ShaderState: attachShaderProgram: -1 -> 1 (enable: true)
	null
	ShaderProgram[id=1, linked=false, inUse=false, program: 1,
   ShaderCode[id=1, type=VERTEX_SHADER, valid=true, shader:  2, source]
   ShaderCode[id=2, type=FRAGMENT_SHADER, valid=true, shader:  3, source]]
Thread[main-Display-.macosx_nil-1-EDT-1,5,main] RedSquareES2.init FIN
Thread[main-Display-.macosx_nil-1-EDT-1,5,main] RedSquareES2.reshape 0/0 400x400, swapInterval 1, drawable 0x7fa9d511a680
Thread[main-Display-.macosx_nil-1-EDT-1,5,main] RedSquareES2.reshape FIN
requestFocus: NEWT Component
centerMouse: robot pos: 300x300, onTitleBarIfWindow: false
MousePressed     1: MouseEvent[EVENT_MOUSE_PRESSED, [I@178aab40/[I@10f102d3, button 1, count 1, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461204056 d 8ms]]]
MouseReleased    2: MouseEvent[EVENT_MOUSE_RELEASED, [I@3ef07355/[I@1c23f1bb, button 1, count 1, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461204070 d 6ms]]]
MouseClicked      ignored: MouseEvent[EVENT_MOUSE_CLICKED, [I@7bd33a6b/[I@68a0864f, button 1, count 1, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461204070 d 6ms]]]
requestFocus: click, d: 301 ms
++++ UITestCase.setUp: com.jogamp.opengl.test.junit.newt.event.TestNewtEventModifiersNEWTWindowAWT - testSingleButtonPressAndRelease
WAIT-till-done: eventDispatch() #0

>>>> _doSingleButtonPressAndRelease
WAIT-till-done: eventDispatch() #1
*** pressing button 1
MousePressed     1: MouseEvent[EVENT_MOUSE_PRESSED, [I@19c8ef56/[I@56d90453, button 1, count 1, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461205742 d 3ms]]]
TestNewtEventModifiersNEWTWindowAWT.testSingleButtonPressAndRelease - mouse-press(1):  PASSED
*** releasing button 1
MouseReleased    1: MouseEvent[EVENT_MOUSE_RELEASED, [I@41ab11b0/[I@46165b7e, button 1, count 1, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461205793 d 8ms]]]
MouseClicked      ignored: MouseEvent[EVENT_MOUSE_CLICKED, [I@65d0d124/[I@7052c6b4, button 1, count 1, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461205793 d 8ms]]]
WAIT-till-done: eventDispatch() #2
TestNewtEventModifiersNEWTWindowAWT.testSingleButtonPressAndRelease - mouse-release(1):  PASSED
*** pressing button 2
MousePressed     1: MouseEvent[EVENT_MOUSE_PRESSED, [I@4a738d08/[I@68302e67, button 2, count 2, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button2], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461205845 d 10ms]]]
TestNewtEventModifiersNEWTWindowAWT.testSingleButtonPressAndRelease - mouse-press(2):  PASSED
*** releasing button 2
MouseReleased    1: MouseEvent[EVENT_MOUSE_RELEASED, [I@3336a1a1/[I@47ad6b4b, button 2, count 2, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button2], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461205896 d 3ms]]]
MouseClicked      ignored: MouseEvent[EVENT_MOUSE_CLICKED, [I@4a5f2db0/[I@2eb0a3f5, button 2, count 2, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button2], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461205896 d 4ms]]]
WAIT-till-done: eventDispatch() #3
TestNewtEventModifiersNEWTWindowAWT.testSingleButtonPressAndRelease - mouse-release(2):  PASSED
*** pressing button 3
MousePressed     1: MouseEvent[EVENT_MOUSE_PRESSED, [I@4edc41c5/[I@5e6214f5, button 3, count 3, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button3], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461205948 d 6ms]]]
TestNewtEventModifiersNEWTWindowAWT.testSingleButtonPressAndRelease - mouse-press(3):  PASSED
*** releasing button 3
MouseReleased    1: MouseEvent[EVENT_MOUSE_RELEASED, [I@794e113b/[I@744d76b4, button 3, count 3, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button3], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461205999 d 9ms]]]
MouseClicked      ignored: MouseEvent[EVENT_MOUSE_CLICKED, [I@9ac5f13/[I@1395dd5b, button 3, count 3, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button3], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461205999 d 10ms]]]
WAIT-till-done: eventDispatch() #4
TestNewtEventModifiersNEWTWindowAWT.testSingleButtonPressAndRelease - mouse-release(3):  PASSED
WAIT-till-done: eventDispatch() #5
WAIT-till-done: DONE
++++ UITestCase.tearDown: com.jogamp.opengl.test.junit.newt.event.TestNewtEventModifiersNEWTWindowAWT - testSingleButtonPressAndRelease
++++ UITestCase.setUp: com.jogamp.opengl.test.junit.newt.event.TestNewtEventModifiersNEWTWindowAWT - testSingleButtonPressAndReleaseWithShift
WAIT-till-done: eventDispatch() #0

>>>> _doSingleButtonPressAndRelease
WAIT-till-done: eventDispatch() #1
WAIT-till-done: eventDispatch() #2
*** pressing button 1
MousePressed     1: MouseEvent[EVENT_MOUSE_PRESSED, [I@58e41bc3/[I@67dacccc, button 1, count 1, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [shift, button1], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461208985 d 2ms]]]
TestNewtEventModifiersNEWTWindowAWT.testSingleButtonPressAndReleaseWithShift - mouse-press(1):  PASSED
*** releasing button 1
MouseReleased    1: MouseEvent[EVENT_MOUSE_RELEASED, [I@4dbb9a58/[I@57922f46, button 1, count 1, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [shift, button1], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461209037 d 3ms]]]
MouseClicked      ignored: MouseEvent[EVENT_MOUSE_CLICKED, [I@3e5dc994/[I@7f5d3388, button 1, count 1, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [shift, button1], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461209037 d 3ms]]]
WAIT-till-done: eventDispatch() #3
TestNewtEventModifiersNEWTWindowAWT.testSingleButtonPressAndReleaseWithShift - mouse-release(1):  PASSED
*** pressing button 2
MousePressed     1: MouseEvent[EVENT_MOUSE_PRESSED, [I@3fe2670b/[I@28db23f1, button 2, count 2, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [shift, button2], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461209088 d 7ms]]]
TestNewtEventModifiersNEWTWindowAWT.testSingleButtonPressAndReleaseWithShift - mouse-press(2):  PASSED
*** releasing button 2
MouseReleased    1: MouseEvent[EVENT_MOUSE_RELEASED, [I@4b14b82b/[I@3d47358f, button 2, count 2, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [shift, button2], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461209140 d 9ms]]]
MouseClicked      ignored: MouseEvent[EVENT_MOUSE_CLICKED, [I@e0d5eb7/[I@fc54796, button 2, count 2, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [shift, button2], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461209140 d 9ms]]]
WAIT-till-done: eventDispatch() #4
TestNewtEventModifiersNEWTWindowAWT.testSingleButtonPressAndReleaseWithShift - mouse-release(2):  PASSED
*** pressing button 3
MousePressed     1: MouseEvent[EVENT_MOUSE_PRESSED, [I@60ded0f0/[I@44676e3f, button 3, count 3, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [shift, button3], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461209191 d 3ms]]]
TestNewtEventModifiersNEWTWindowAWT.testSingleButtonPressAndReleaseWithShift - mouse-press(3):  PASSED
*** releasing button 3
MouseReleased    1: MouseEvent[EVENT_MOUSE_RELEASED, [I@76027982/[I@1c778255, button 3, count 3, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [shift, button3], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461209242 d 2ms]]]
MouseClicked      ignored: MouseEvent[EVENT_MOUSE_CLICKED, [I@6a0da90c/[I@26d58939, button 3, count 3, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [shift, button3], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461209242 d 2ms]]]
WAIT-till-done: eventDispatch() #5
TestNewtEventModifiersNEWTWindowAWT.testSingleButtonPressAndReleaseWithShift - mouse-release(3):  PASSED
WAIT-till-done: eventDispatch() #6
WAIT-till-done: eventDispatch() #7
WAIT-till-done: DONE
++++ UITestCase.tearDown: com.jogamp.opengl.test.junit.newt.event.TestNewtEventModifiersNEWTWindowAWT - testSingleButtonPressAndReleaseWithShift
++++ UITestCase.setUp: com.jogamp.opengl.test.junit.newt.event.TestNewtEventModifiersNEWTWindowAWT - testSingleButtonPressAndReleaseWithCtrl
WAIT-till-done: eventDispatch() #0

>>>> _doSingleButtonPressAndRelease
WAIT-till-done: eventDispatch() #1
WAIT-till-done: eventDispatch() #2
*** pressing button 1
MousePressed     1: MouseEvent[EVENT_MOUSE_PRESSED, [I@a0b1cd0/[I@5f90a0d6, button 1, count 1, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [ctrl, button1], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461212331 d 9ms]]]
TestNewtEventModifiersNEWTWindowAWT.testSingleButtonPressAndReleaseWithCtrl - mouse-press(1):  PASSED
*** releasing button 1
MouseReleased    1: MouseEvent[EVENT_MOUSE_RELEASED, [I@102f729e/[I@1b0deb5f, button 1, count 1, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [ctrl, button1], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461212382 d 1ms]]]
MouseClicked      ignored: MouseEvent[EVENT_MOUSE_CLICKED, [I@2ed7b7d9/[I@54671f95, button 1, count 1, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [ctrl, button1], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461212382 d 1ms]]]
WAIT-till-done: eventDispatch() #3
TestNewtEventModifiersNEWTWindowAWT.testSingleButtonPressAndReleaseWithCtrl - mouse-release(1):  PASSED
*** pressing button 2
MousePressed     1: MouseEvent[EVENT_MOUSE_PRESSED, [I@3e4a9a7d/[I@13e4a47e, button 2, count 2, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [ctrl, button2], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461212433 d 3ms]]]
TestNewtEventModifiersNEWTWindowAWT.testSingleButtonPressAndReleaseWithCtrl - mouse-press(2):  PASSED
*** releasing button 2
MouseReleased    1: MouseEvent[EVENT_MOUSE_RELEASED, [I@7eb5666/[I@6b754699, button 2, count 2, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [ctrl, button2], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461212484 d 7ms]]]
MouseClicked      ignored: MouseEvent[EVENT_MOUSE_CLICKED, [I@606e1dec/[I@5d6ea269, button 2, count 2, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [ctrl, button2], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461212484 d 7ms]]]
WAIT-till-done: eventDispatch() #4
TestNewtEventModifiersNEWTWindowAWT.testSingleButtonPressAndReleaseWithCtrl - mouse-release(2):  PASSED
*** pressing button 3
MousePressed     1: MouseEvent[EVENT_MOUSE_PRESSED, [I@a68cb6b/[I@6602e323, button 3, count 3, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [ctrl, button3], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461212535 d 9ms]]]
TestNewtEventModifiersNEWTWindowAWT.testSingleButtonPressAndReleaseWithCtrl - mouse-press(3):  PASSED
*** releasing button 3
MouseReleased    1: MouseEvent[EVENT_MOUSE_RELEASED, [I@478e4327/[I@4cdada24, button 3, count 3, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [ctrl, button3], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461212586 d 2ms]]]
MouseClicked      ignored: MouseEvent[EVENT_MOUSE_CLICKED, [I@342798e7/[I@13a78071, button 3, count 3, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [ctrl, button3], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461212586 d 2ms]]]
WAIT-till-done: eventDispatch() #5
TestNewtEventModifiersNEWTWindowAWT.testSingleButtonPressAndReleaseWithCtrl - mouse-release(3):  PASSED
WAIT-till-done: eventDispatch() #6
WAIT-till-done: eventDispatch() #7
WAIT-till-done: DONE
++++ UITestCase.tearDown: com.jogamp.opengl.test.junit.newt.event.TestNewtEventModifiersNEWTWindowAWT - testSingleButtonPressAndReleaseWithCtrl
++++ UITestCase.setUp: com.jogamp.opengl.test.junit.newt.event.TestNewtEventModifiersNEWTWindowAWT - testHoldOneButtonAndPressAnother
WAIT-till-done: eventDispatch() #0

>>>> _doHoldOneButtonAndPressAnother
WAIT-till-done: eventDispatch() #1
*** pressing button 1
MousePressed     1: MouseEvent[EVENT_MOUSE_PRESSED, [I@613043d2/[I@27b4c1d7, button 1, count 1, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461215573 d 5ms]]]
TestNewtEventModifiersNEWTWindowAWT.testHoldOneButtonAndPressAnother - mouse-press(1):  PASSED
*** pressing additional button 2
MousePressed     1: MouseEvent[EVENT_MOUSE_PRESSED, [I@4c221e9e/[I@54083e1e, button 2, count 2, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1, button2], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461215624 d 8ms]]]
WAIT-till-done: eventDispatch() #2
TestNewtEventModifiersNEWTWindowAWT.testHoldOneButtonAndPressAnother - mouse-press(1, 2):  PASSED
*** releasing additional button 2
MouseReleased    1: MouseEvent[EVENT_MOUSE_RELEASED, [I@69264eab/[I@51f6f27b, button 2, count 2, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1, button2], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461215675 d 11ms]]]
MouseClicked      ignored: MouseEvent[EVENT_MOUSE_CLICKED, [I@2ba99347/[I@a0430b6, button 2, count 2, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1, button2], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461215675 d 11ms]]]
TestNewtEventModifiersNEWTWindowAWT.testHoldOneButtonAndPressAnother - mouse-release(1, 2):  PASSED
*** pressing additional button 3
MousePressed     1: MouseEvent[EVENT_MOUSE_PRESSED, [I@191a01dd/[I@7a70610a, button 3, count 3, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1, button3], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461215727 d 3ms]]]
WAIT-till-done: eventDispatch() #3
TestNewtEventModifiersNEWTWindowAWT.testHoldOneButtonAndPressAnother - mouse-press(1, 3):  PASSED
*** releasing additional button 3
MouseReleased    1: MouseEvent[EVENT_MOUSE_RELEASED, [I@67f31652/[I@83e96cf, button 3, count 3, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1, button3], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461215778 d 5ms]]]
MouseClicked      ignored: MouseEvent[EVENT_MOUSE_CLICKED, [I@451ef443/[I@73367e28, button 3, count 3, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1, button3], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461215778 d 6ms]]]
TestNewtEventModifiersNEWTWindowAWT.testHoldOneButtonAndPressAnother - mouse-release(1, 3):  PASSED
*** releasing button 1
MouseReleased    1: MouseEvent[EVENT_MOUSE_RELEASED, [I@7e94af2f/[I@53797795, button 1, count 3, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461215830 d 8ms]]]
MouseClicked      ignored: MouseEvent[EVENT_MOUSE_CLICKED, [I@4b9a0203/[I@6bfa39bb, button 1, count 3, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461215830 d 8ms]]]
WAIT-till-done: eventDispatch() #4
TestNewtEventModifiersNEWTWindowAWT.testHoldOneButtonAndPressAnother - mouse-release(1):  PASSED
*** pressing button 2
MousePressed     1: MouseEvent[EVENT_MOUSE_PRESSED, [I@78e45b5e/[I@582ab653, button 2, count 4, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button2], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461215881 d 11ms]]]
TestNewtEventModifiersNEWTWindowAWT.testHoldOneButtonAndPressAnother - mouse-press(2):  PASSED
*** pressing additional button 1
MousePressed     1: MouseEvent[EVENT_MOUSE_PRESSED, [I@5c28305d/[I@527f58ef, button 1, count 5, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1, button2], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461215933 d 3ms]]]
WAIT-till-done: eventDispatch() #5
TestNewtEventModifiersNEWTWindowAWT.testHoldOneButtonAndPressAnother - mouse-press(2, 1):  PASSED
*** releasing additional button 1
MouseReleased    1: MouseEvent[EVENT_MOUSE_RELEASED, [I@26a7dd39/[I@56acdd02, button 1, count 5, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1, button2], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461215984 d 6ms]]]
MouseClicked      ignored: MouseEvent[EVENT_MOUSE_CLICKED, [I@6ee1dac2/[I@2de12f6d, button 1, count 5, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1, button2], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461215984 d 6ms]]]
TestNewtEventModifiersNEWTWindowAWT.testHoldOneButtonAndPressAnother - mouse-release(2, 1):  PASSED
*** pressing additional button 3
MousePressed     1: MouseEvent[EVENT_MOUSE_PRESSED, [I@1af0b4a3/[I@30e34726, button 3, count 6, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button2, button3], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461216035 d 11ms]]]
WAIT-till-done: eventDispatch() #6
TestNewtEventModifiersNEWTWindowAWT.testHoldOneButtonAndPressAnother - mouse-press(2, 3):  PASSED
*** releasing additional button 3
MouseReleased    1: MouseEvent[EVENT_MOUSE_RELEASED, [I@195428dd/[I@6446d228, button 3, count 6, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button2, button3], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461216087 d 3ms]]]
MouseClicked      ignored: MouseEvent[EVENT_MOUSE_CLICKED, [I@658f7386/[I@2ce99681, button 3, count 6, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button2, button3], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461216087 d 3ms]]]
TestNewtEventModifiersNEWTWindowAWT.testHoldOneButtonAndPressAnother - mouse-release(2, 3):  PASSED
*** releasing button 2
MouseReleased    1: MouseEvent[EVENT_MOUSE_RELEASED, [I@1b980630/[I@19be4777, button 2, count 6, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button2], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461216138 d 7ms]]]
MouseClicked      ignored: MouseEvent[EVENT_MOUSE_CLICKED, [I@1b45e2d5/[I@92f1bf0, button 2, count 6, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button2], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461216138 d 7ms]]]
WAIT-till-done: eventDispatch() #7
TestNewtEventModifiersNEWTWindowAWT.testHoldOneButtonAndPressAnother - mouse-release(2):  PASSED
*** pressing button 3
MousePressed     1: MouseEvent[EVENT_MOUSE_PRESSED, [I@73d32e45/[I@2d82ef6b, button 3, count 7, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button3], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461216190 d 10ms]]]
TestNewtEventModifiersNEWTWindowAWT.testHoldOneButtonAndPressAnother - mouse-press(3):  PASSED
*** pressing additional button 1
MousePressed     1: MouseEvent[EVENT_MOUSE_PRESSED, [I@6f347124/[I@5bf02b85, button 1, count 8, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1, button3], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461216241 d 3ms]]]
WAIT-till-done: eventDispatch() #8
TestNewtEventModifiersNEWTWindowAWT.testHoldOneButtonAndPressAnother - mouse-press(3, 1):  PASSED
*** releasing additional button 1
MouseReleased    1: MouseEvent[EVENT_MOUSE_RELEASED, [I@74b957ea/[I@343aff84, button 1, count 8, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1, button3], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461216293 d 5ms]]]
MouseClicked      ignored: MouseEvent[EVENT_MOUSE_CLICKED, [I@d5d4de6/[I@68a53de4, button 1, count 8, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1, button3], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461216293 d 5ms]]]
TestNewtEventModifiersNEWTWindowAWT.testHoldOneButtonAndPressAnother - mouse-release(3, 1):  PASSED
*** pressing additional button 2
MousePressed     1: MouseEvent[EVENT_MOUSE_PRESSED, [I@38827968/[I@7df0b7d3, button 2, count 9, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button2, button3], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461216344 d 8ms]]]
WAIT-till-done: eventDispatch() #9
TestNewtEventModifiersNEWTWindowAWT.testHoldOneButtonAndPressAnother - mouse-press(3, 2):  PASSED
*** releasing additional button 2
MouseReleased    1: MouseEvent[EVENT_MOUSE_RELEASED, [I@46b4be3d/[I@435bb0f, button 2, count 9, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button2, button3], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461216395 d 11ms]]]
MouseClicked      ignored: MouseEvent[EVENT_MOUSE_CLICKED, [I@638bd7f1/[I@720e4245, button 2, count 9, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button2, button3], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461216395 d 11ms]]]
TestNewtEventModifiersNEWTWindowAWT.testHoldOneButtonAndPressAnother - mouse-release(3, 2):  PASSED
*** releasing button 3
MouseReleased    1: MouseEvent[EVENT_MOUSE_RELEASED, [I@620fa83/[I@5f1eb199, button 3, count 9, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button3], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461216446 d 3ms]]]
MouseClicked      ignored: MouseEvent[EVENT_MOUSE_CLICKED, [I@581de498/[I@128ae45a, button 3, count 9, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button3], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461216446 d 3ms]]]
WAIT-till-done: eventDispatch() #10
TestNewtEventModifiersNEWTWindowAWT.testHoldOneButtonAndPressAnother - mouse-release(3):  PASSED
WAIT-till-done: eventDispatch() #11
WAIT-till-done: DONE
++++ UITestCase.tearDown: com.jogamp.opengl.test.junit.newt.event.TestNewtEventModifiersNEWTWindowAWT - testHoldOneButtonAndPressAnother
++++ UITestCase.setUp: com.jogamp.opengl.test.junit.newt.event.TestNewtEventModifiersNEWTWindowAWT - testPressAllButtonsInSequence
WAIT-till-done: eventDispatch() #0

>>>> _doPressAllButtonsInSequence
WAIT-till-done: eventDispatch() #1
*** pressing button 1
MousePressed     1: MouseEvent[EVENT_MOUSE_PRESSED, [I@79226a77/[I@427be8c2, button 1, count 1, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461219319 d 3ms]]]
TestNewtEventModifiersNEWTWindowAWT.testPressAllButtonsInSequence - mouse-press(1):  PASSED
*** pressing button 2
MousePressed     1: MouseEvent[EVENT_MOUSE_PRESSED, [I@54ee3aa7/[I@644cd580, button 2, count 2, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1, button2], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461219370 d 6ms]]]
WAIT-till-done: eventDispatch() #2
TestNewtEventModifiersNEWTWindowAWT.testPressAllButtonsInSequence - mouse-press(2):  PASSED
*** pressing button 3
MousePressed     1: MouseEvent[EVENT_MOUSE_PRESSED, [I@7054f9f1/[I@5ae576d4, button 3, count 3, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1, button2, button3], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461219421 d 8ms]]]
TestNewtEventModifiersNEWTWindowAWT.testPressAllButtonsInSequence - mouse-press(3):  PASSED
*** releasing button 3
MouseReleased    1: MouseEvent[EVENT_MOUSE_RELEASED, [I@edc86eb/[I@301db5ec, button 3, count 3, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1, button2, button3], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461219473 d 10ms]]]
MouseClicked      ignored: MouseEvent[EVENT_MOUSE_CLICKED, [I@6e92b1a1/[I@60cbf9bd, button 3, count 3, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1, button2, button3], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461219473 d 10ms]]]
WAIT-till-done: eventDispatch() #3
TestNewtEventModifiersNEWTWindowAWT.testPressAllButtonsInSequence - mouse-release(3):  PASSED
*** releasing button 2
MouseReleased    1: MouseEvent[EVENT_MOUSE_RELEASED, [I@6f7918f0/[I@77546dbc, button 2, count 3, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1, button2], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461219524 d 3ms]]]
MouseClicked      ignored: MouseEvent[EVENT_MOUSE_CLICKED, [I@47f08ed8/[I@2322bce, button 2, count 3, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1, button2], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461219524 d 3ms]]]
TestNewtEventModifiersNEWTWindowAWT.testPressAllButtonsInSequence - mouse-release(2):  PASSED
*** releasing button 1
MouseReleased    1: MouseEvent[EVENT_MOUSE_RELEASED, [I@2bd9e282/[I@6da5db4b, button 1, count 3, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461219576 d 5ms]]]
MouseClicked      ignored: MouseEvent[EVENT_MOUSE_CLICKED, [I@23e0512a/[I@5bf0aecc, button 1, count 3, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461219576 d 5ms]]]
WAIT-till-done: eventDispatch() #4
TestNewtEventModifiersNEWTWindowAWT.testPressAllButtonsInSequence - mouse-release(1):  PASSED
WAIT-till-done: eventDispatch() #5
WAIT-till-done: DONE
++++ UITestCase.tearDown: com.jogamp.opengl.test.junit.newt.event.TestNewtEventModifiersNEWTWindowAWT - testPressAllButtonsInSequence
++++ UITestCase.setUp: com.jogamp.opengl.test.junit.newt.event.TestNewtEventModifiersNEWTWindowAWT - testSingleButtonClickAndDrag
WAIT-till-done: eventDispatch() #0

>>>> _doSingleButtonClickAndDrag
WAIT-till-done: eventDispatch() #1
*** pressing button 1
MousePressed     1: MouseEvent[EVENT_MOUSE_PRESSED, [I@45cbda0a/[I@4a57ea52, button 1, count 1, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 200/200, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461222458 d 3ms]]]
TestNewtEventModifiersNEWTWindowAWT.testSingleButtonClickAndDrag - mouse-press(1):  PASSED
*** moving mouse
MouseEntered      ignored: MouseEvent[EVENT_MOUSE_ENTERED, [I@51d8d39f/[I@722d95b3, button 0, count 0, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 208/208, p[0.0/1.0=0.0]], InputEvent[modifiers: [], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461222509 d 4ms]]]
MouseMoved        ignored: MouseEvent[EVENT_MOUSE_MOVED, [I@ebf5555/[I@337b4703, button 1, count 0, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 208/208, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461222509 d 4ms]]]
WAIT-till-done: eventDispatch() #2
WAIT-till-done: eventDispatch() #3
WAIT-till-done: eventDispatch() #4
WAIT-till-done: eventDispatch() #5
WAIT-till-done: eventDispatch() #6
WAIT-till-done: eventDispatch() #7
WAIT-till-done: eventDispatch() #8
WAIT-till-done: eventDispatch() #9
WAIT-till-done: eventDispatch() #10
WAIT-till-done: eventDispatch() #11
WAIT-till-done: eventDispatch() #12
WAIT-till-done: eventDispatch() #13
WAIT-till-done: eventDispatch() #14
**** No Event. Waited 20 * 50ms, eventCount 0
TestNewtEventModifiersNEWTWindowAWT.testSingleButtonClickAndDrag - mouse-move(308, 308):  FAILED
         no event delivery
RunnableTask.run(): A catched exception occured on thread Test-Thread: RunnableTask[executed false, tTotal 1 ms, tExec 0 ms, tQueue 1 ms, attachment null, throwable java.lang.AssertionError: ]
java.lang.AssertionError: 
	at org.junit.Assert.fail(Assert.java:91)
	at org.junit.Assert.assertTrue(Assert.java:43)
	at org.junit.Assert.assertTrue(Assert.java:54)
	at com.jogamp.opengl.test.junit.newt.event.BaseNewtEventModifiers._checkFailures(BaseNewtEventModifiers.java:678)
	at com.jogamp.opengl.test.junit.newt.event.BaseNewtEventModifiers._doSingleButtonClickAndDrag(BaseNewtEventModifiers.java:619)
	at com.jogamp.opengl.test.junit.newt.event.BaseNewtEventModifiers.access$500(BaseNewtEventModifiers.java:51)
	at com.jogamp.opengl.test.junit.newt.event.BaseNewtEventModifiers$6.run(BaseNewtEventModifiers.java:487)
	at com.jogamp.common.util.RunnableTask.run(RunnableTask.java:95)
	at java.lang.Thread.run(Thread.java:680)
WAIT-till-done: DONE
MouseReleased    1: MouseEvent[EVENT_MOUSE_RELEASED, [I@14718242/[I@281ec58a, button 1, count 0, rotation [0.0, 0.0, 0.0] * 1.0, pointer<1>[0/Mouse: 208/208, p[0.0/1.0=0.0]], InputEvent[modifiers: [button1], NEWTEvent[source:jogamp.newt.driver.macosx.WindowDriver, consumed false, when:1373461224076 d 10ms]]]
++++ UITestCase.tearDown: com.jogamp.opengl.test.junit.newt.event.TestNewtEventModifiersNEWTWindowAWT - testSingleButtonClickAndDrag
Thread[main-Display-.macosx_nil-1-EDT-1,5,main] RedSquareES2.dispose ... 
Thread[main-Display-.macosx_nil-1-EDT-1,5,main] RedSquareES2.dispose FIN
SLOCK [T main @ 1373461225270 ms --- localhost/127.0.0.1:59999 - Unlock ok within 4 ms