{
  "_class" : "hudson.matrix.MatrixRun",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.model.Cause$UpstreamCause",
          "shortDescription" : "Started by upstream project \"jogl\" build number 814",
          "upstreamBuild" : 814,
          "upstreamProject" : "jogl",
          "upstreamUrl" : "job/jogl/"
        }
      ]
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 814,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "285bd9b718621a70f180dff6dfea73092c2b75cc",
            "branch" : [
              {
                "SHA1" : "285bd9b718621a70f180dff6dfea73092c2b75cc",
                "name" : "origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "285bd9b718621a70f180dff6dfea73092c2b75cc",
            "branch" : [
              {
                "SHA1" : "285bd9b718621a70f180dff6dfea73092c2b75cc",
                "name" : "origin/master"
              }
            ]
          }
        },
        "origin2/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 544,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "bc826eb2e216ce82a5e6bc61403e4eff2f338380",
            "branch" : [
              {
                "SHA1" : "bc826eb2e216ce82a5e6bc61403e4eff2f338380",
                "name" : "origin/master"
              },
              {
                "SHA1" : "bc826eb2e216ce82a5e6bc61403e4eff2f338380",
                "name" : "origin2/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "bc826eb2e216ce82a5e6bc61403e4eff2f338380",
            "branch" : [
              {
                "SHA1" : "bc826eb2e216ce82a5e6bc61403e4eff2f338380",
                "name" : "origin/master"
              },
              {
                "SHA1" : "bc826eb2e216ce82a5e6bc61403e4eff2f338380",
                "name" : "origin2/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "285bd9b718621a70f180dff6dfea73092c2b75cc",
        "branch" : [
          {
            "SHA1" : "285bd9b718621a70f180dff6dfea73092c2b75cc",
            "name" : "origin/master"
          }
        ]
      },
      "remoteUrls" : [
        
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.GitTagAction"
    },
    {
      
    },
    {
      "_class" : "hudson.tasks.junit.TestResultAction",
      "failCount" : 14,
      "skipCount" : 0,
      "totalCount" : 676,
      "urlName" : "testReport"
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : None,
  "displayName" : "macos-x86_64",
  "duration" : 1913404,
  "estimatedDuration" : 3583845,
  "executor" : None,
  "fullDisplayName" : "jogl » macos-x86_64 macos-x86_64",
  "id" : "2012-09-27_18-28-17",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 814,
  "queueId" : -1,
  "result" : "UNSTABLE",
  "timestamp" : 1348763297000,
  "url" : "https://jogamp.org/chuck/job/jogl/label=macos-x86_64/814/",
  "builtOn" : "macosx64-NV320M-10_6-jogamp-x64-sgothel-012",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/classes/com/jogamp/newt/NewtFactory.java",
          "src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java",
          "src/newt/classes/com/jogamp/newt/Display.java",
          "src/newt/classes/jogamp/newt/driver/macosx/DisplayDriver.java",
          "src/jogl/classes/jogamp/opengl/egl/EGLDisplayUtil.java",
          "src/newt/native/X11Display.c",
          "make/scripts/tests.sh",
          "src/newt/classes/jogamp/newt/driver/x11/WindowDriver.java",
          "src/nativewindow/classes/com/jogamp/nativewindow/x11/X11GraphicsScreen.java",
          "src/nativewindow/classes/jogamp/nativewindow/x11/X11ToolkitLock.java",
          "src/newt/classes/com/jogamp/newt/Screen.java",
          "src/newt/classes/jogamp/newt/WindowImpl.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestInitConcurrent02NEWT.java",
          "src/nativewindow/classes/jogamp/nativewindow/x11/awt/X11AWTGraphicsConfigurationFactory.java",
          "src/newt/classes/jogamp/newt/driver/bcm/egl/DisplayDriver.java",
          "src/nativewindow/classes/jogamp/nativewindow/x11/X11Util.java",
          "src/nativewindow/classes/javax/media/nativewindow/ToolkitLock.java",
          "src/newt/classes/jogamp/newt/driver/windows/DisplayDriver.java",
          "src/newt/classes/jogamp/newt/driver/x11/DisplayDriver.java",
          "src/nativewindow/classes/jogamp/nativewindow/jawt/x11/X11JAWTWindow.java",
          "src/newt/classes/jogamp/newt/driver/awt/DisplayDriver.java",
          "src/nativewindow/classes/jogamp/nativewindow/NullToolkitLock.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/InitConcurrentBaseNEWT.java",
          "src/nativewindow/native/x11/Xmisc.c",
          "src/nativewindow/classes/javax/media/nativewindow/AbstractGraphicsDevice.java",
          "src/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java",
          "src/newt/classes/jogamp/newt/driver/x11/ScreenDriver.java",
          "src/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java",
          "src/nativewindow/classes/com/jogamp/nativewindow/x11/X11GraphicsDevice.java",
          "src/newt/native/X11Common.h",
          "src/newt/classes/jogamp/newt/DisplayImpl.java",
          "src/nativewindow/classes/jogamp/nativewindow/ResourceToolkitLock.java",
          "src/nativewindow/classes/jogamp/nativewindow/jawt/x11/X11JAWTToolkitLock.java",
          "src/nativewindow/classes/jogamp/nativewindow/SharedResourceToolkitLock.java",
          "src/newt/native/X11Window.c",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestInitConcurrent01NEWT.java",
          "src/newt/classes/jogamp/newt/ScreenImpl.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestInitConcurrentNEWT.java",
          "src/nativewindow/classes/javax/media/nativewindow/DefaultGraphicsDevice.java",
          "src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTUtil.java",
          "src/newt/classes/jogamp/newt/driver/intel/gdl/DisplayDriver.java"
        ],
        "commitId" : "fbe331f013608eb31ff0d8675f4e4c9881c9c48b",
        "timestamp" : 1348752819000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix Bug 616: X11: Remove XInitThreads() dependency while cleaning up device locking, resulting in a native-lock-free impl.\u000a\u000aThe X11 implementation details of NativeWindow and NEWT used the X11 implicit locking facility\u000aXLockDisplay/XUnlockDisplay, enabled via XInitThreads().\u000aThe latter useage is complicated within an unsure environment where the initialization point of JOGL\u000ais unknown, but XInitThreads() requires to be called once and before any other X11 calls.\u000a\u000aThe solution is simple and thorough, replace native X11 locking w/ 'application level' locking.\u000aFollowing this pattern actually cleans up a pretty messy part of X11 NativeWindow and NEWT,\u000asince the generalization of platform independent locking simplifies code.\u000aSimply using our RecursiveLock also speeds up locking, since it doesn't require JNI calls down to X11 anymore.\u000aIt allows us to get rid of X11ToolkitLock and X11JAWTToolkitLock.\u000a\u000aUsing the RecursiveLock also allows us to remove the shortcut of explicitly createing\u000aa NullToolkitLocked device for 'private' display connections.\u000aAll devices use proper locking as claimed in their toolkit util 'requiresToolkitLock()' in X11Util, OSXUtil, ..\u000a\u000aFurther more a bug has been fixed of X11ErrorHandler usage, i.e. we need to keep our handler alive at all times\u000adue to async X11 messaging behavior. This allows to remove the redundant code in X11/NEWT.\u000a\u000aThe AbstractGraphicsDevice lifecycle has been fixed as well, i.e. called when closing NEWT's Display\u000afor all driver implementations.\u000a\u000aOn the NEWT side the Display's AbstractGraphicsDevice semantics has been clarified,\u000ai.e. it's usage for EDT and lifecycle operations.\u000aHence the X11 Display 2nd device for rendering operations has been moved to X11 Window\u000awhere it belongs - and the X11 Display's default device used for EDT/lifecycle-ops as it should be.\u000aThis allows running X11/NEWT properly with the default usage, where the Display instance\u000aand hence the EDT thread is shared with many Screen and Window.\u000aRendering using NEWT Window is decoupled from it's shared Display lock\u000avia it's own native X11 display.\u000a\u000aLock free AbstractGraphicsDevice impl. (Windows, OSX, ..) don't require any attention in this regard\u000asince they use NullToolkitLock.\u000a\u000aTests:\u000a======\u000aThis implementation has been tested manually with Mesa3d (soft, Intel), ATI and Nvidia\u000aon X11, Windows and OSX w/o any regressions found in any unit test.\u000a\u000aIssues on ATI:\u000a==============\u000aOnly on ATI w/o a composite renderer the unit tests expose a driver or WM bug where XCB\u000aclaims a lack of locking. Setting env. var 'LIBXCB_ALLOW_SLOPPY_LOCK=true' is one workaround\u000aif users refuse to enable compositing. We may investigate this issue in more detail later on.\u000a",
        "date" : "2012-09-27T15:33:39+0200",
        "id" : "fbe331f013608eb31ff0d8675f4e4c9881c9c48b",
        "msg" : "Fix Bug 616: X11: Remove XInitThreads() dependency while cleaning up",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/macosx/DisplayDriver.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/javax/media/nativewindow/ToolkitLock.java"
          },
          {
            "editType" : "add",
            "file" : "src/nativewindow/classes/jogamp/nativewindow/ResourceToolkitLock.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/windows/DisplayDriver.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/native/X11Common.h"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestInitConcurrent01NEWT.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/InitConcurrentBaseNEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/com/jogamp/nativewindow/x11/X11GraphicsScreen.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/NewtFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/ScreenImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/egl/EGLDisplayUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/x11/DisplayDriver.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/native/X11Window.c"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/jogamp/nativewindow/x11/awt/X11AWTGraphicsConfigurationFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/jogamp/nativewindow/x11/X11Util.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/intel/gdl/DisplayDriver.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java"
          },
          {
            "editType" : "add",
            "file" : "src/nativewindow/classes/jogamp/nativewindow/SharedResourceToolkitLock.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/x11/WindowDriver.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestInitConcurrentNEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/jogamp/nativewindow/NullToolkitLock.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/javax/media/nativewindow/AbstractGraphicsDevice.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/Display.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/DisplayImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/com/jogamp/nativewindow/x11/X11GraphicsDevice.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/jogamp/nativewindow/jawt/x11/X11JAWTWindow.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/awt/DisplayDriver.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/native/x11/Xmisc.c"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/WindowImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/native/X11Display.c"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/bcm/egl/DisplayDriver.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestInitConcurrent02NEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/Screen.java"
          },
          {
            "editType" : "delete",
            "file" : "src/nativewindow/classes/jogamp/nativewindow/jawt/x11/X11JAWTToolkitLock.java"
          },
          {
            "editType" : "delete",
            "file" : "src/nativewindow/classes/jogamp/nativewindow/x11/X11ToolkitLock.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/javax/media/nativewindow/DefaultGraphicsDevice.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/x11/ScreenDriver.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/scripts/tests.sh",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/FBOMix2DemosES2.java",
          "src/jogl/classes/com/jogamp/opengl/FBObject.java",
          "src/jogl/classes/jogamp/opengl/GLFBODrawableImpl.java"
        ],
        "commitId" : "285bd9b718621a70f180dff6dfea73092c2b75cc",
        "timestamp" : 1348753081000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "FBObject: Clarify reset(..), resetSamplingSink(..) ; Rename syncFramebuffer(..) -> syncSamplingSink(..)\u000a\u000a- reset(..) adds a new argument, boolean resetSamplingSink, allowing to trigger a reset\u000aon the samplink sink as well. Use cases are documented.\u000a\u000a- made public: resetSamplingSink()\u000a\u000a- Rename syncFramebuffer(..) -> syncSamplingSink(..) to clarify semantics\u000a",
        "date" : "2012-09-27T15:38:01+0200",
        "id" : "285bd9b718621a70f180dff6dfea73092c2b75cc",
        "msg" : "FBObject: Clarify reset(..), resetSamplingSink(..) ; Rename",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/FBOMix2DemosES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/FBObject.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLFBODrawableImpl.java"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
      "fullName" : "Sven Gothel"
    },
    {
      "absoluteUrl" : "https://jogamp.org/chuck/user/xerxes",
      "fullName" : "xerxes"
    }
  ]
}