{
  "_class" : "hudson.matrix.MatrixRun",
  "actions" : [
    {
      
    },
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.model.Cause$UpstreamCause",
          "shortDescription" : "Started by upstream project \"jogl\" build number 1,322",
          "upstreamBuild" : 1322,
          "upstreamProject" : "jogl",
          "upstreamUrl" : "job/jogl/"
        }
      ]
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1322,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "60f397da5fd27e2140a0c1b3a102bba0e67c9f19",
            "branch" : [
              {
                "SHA1" : "60f397da5fd27e2140a0c1b3a102bba0e67c9f19",
                "name" : "origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "60f397da5fd27e2140a0c1b3a102bba0e67c9f19",
            "branch" : [
              {
                "SHA1" : "60f397da5fd27e2140a0c1b3a102bba0e67c9f19",
                "name" : "origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "60f397da5fd27e2140a0c1b3a102bba0e67c9f19",
        "branch" : [
          {
            "SHA1" : "60f397da5fd27e2140a0c1b3a102bba0e67c9f19",
            "name" : "origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "git://jogamp.org/srv/scm/jogl.git"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.GitTagAction"
    },
    {
      
    },
    {
      "_class" : "hudson.tasks.junit.TestResultAction",
      "failCount" : 7,
      "skipCount" : 0,
      "totalCount" : 960,
      "urlName" : "testReport"
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#1322",
  "duration" : 6206589,
  "estimatedDuration" : 3583845,
  "executor" : None,
  "fullDisplayName" : "jogl » macos-x86_64 #1322",
  "id" : "2014-07-31_07-32-44",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 1322,
  "queueId" : -1,
  "result" : "UNSTABLE",
  "timestamp" : 1406784764000,
  "url" : "https://jogamp.org/chuck/job/jogl/label=macos-x86_64/1322/",
  "builtOn" : "macosx64-NV320M-10_6-jogamp-x64-sgothel-012",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/javax/media/opengl/awt/GLJPanel.java",
          "src/jogl/classes/javax/media/opengl/GLDrawable.java",
          "src/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java",
          "src/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java",
          "src/jogl/classes/javax/media/opengl/awt/GLCanvas.java",
          "src/jogl/classes/jogamp/opengl/GLDrawableImpl.java"
        ],
        "commitId" : "a8ccbdf228727d8eef7e6684b738a118610b5744",
        "timestamp" : 1406753320000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLDrawable: Expose getRequestedGLCapabilities() (Include to public API)\u000a\u000aIn certain cases, it is required to read the user requested capabilities\u000afrom places other than the user code.\u000a\u000aHence adding public method to GLDrawable interface.\u000a\u000aThis removes the need to cast to private GLDrawableImpl,\u000awhich included such method.\u000a",
        "date" : "2014-07-30T22:48:40+0200",
        "id" : "a8ccbdf228727d8eef7e6684b738a118610b5744",
        "msg" : "GLDrawable: Expose getRequestedGLCapabilities() (Include to public API)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/awt/GLCanvas.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLDrawableImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/awt/GLJPanel.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/GLDrawable.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/util/GLDrawableUtil.java",
          "src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java",
          "src/jogl/classes/javax/media/opengl/awt/GLJPanel.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/glels/GLContextDrawableSwitchBase0.java",
          "src/jogl/classes/javax/media/opengl/awt/GLCanvas.java"
        ],
        "commitId" : "2e1484f4c25605c6dc0307f12f3e4e434c429a37",
        "timestamp" : 1406753664000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Bug 830 - Refine Heuristics for to query whether GLDrawableUtil.swapGLContextAndAllGLEventListener is safe: Add Accumulator Buffer bits\u000a",
        "date" : "2014-07-30T22:54:24+0200",
        "id" : "2e1484f4c25605c6dc0307f12f3e4e434c429a37",
        "msg" : "Bug 830 - Refine Heuristics for to query whether",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/awt/GLJPanel.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLDrawableUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/awt/GLCanvas.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/glels/GLContextDrawableSwitchBase0.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLException01NEWT.java",
          "src/jogl/classes/javax/media/opengl/GLException.java",
          "src/jogl/classes/jogamp/opengl/GLDrawableHelper.java",
          "src/jogl/classes/javax/media/opengl/awt/GLJPanel.java",
          "src/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java",
          "make/scripts/tests.sh",
          "src/jogl/classes/jogamp/opengl/GLFBODrawableImpl.java",
          "src/jogl/classes/javax/media/opengl/awt/GLCanvas.java"
        ],
        "commitId" : "ba1ffe66697c3175b423cb7ab9b686d73959708d",
        "timestamp" : 1406760159000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Bug 1039 - Specify behavior of GLEventListener Exceptions occurring while GLAutoDrawable processing [part-1]\u000a\u000aImplements Specification as described on 'Bug 1039 Comment 1'\u000a  <https://jogamp.org/bugzilla/show_bug.cgi?id=1039#c1>\u000a\u000aTODO:\u000a  - Offthread exception handler\u000a\u000a++++\u000a\u000aGLDrawableHelper is used in all GLAutoDrawable implementations\u000aand for most operations.\u000a\u000aGLAutoDrawable/GLDrawableHelper invoke(..) method:\u000a\u000a- invoke(..) forwards a caught exception\u000a  - if blocking, it forwards an exception\u000a    happening within the passed GLRunnable(s).\u000a    Here the exception is caught, printed\u000a    and then thrown by invoke itself.\u000a\u000a  - if non-blocking, an exception\u000a    happening within the passed GLRunnable(s)\u000a    will be thrown in the thread issuing it's execution,\u000a    i.e. display() call.\u000a    Here the exception is not caught and simply thrown\u000a    by the GLRunnable.\u000a\u000aGLAutoDrawable.destroy() -> GLDrawableHelper.disposeGL(..) method:\u000a\u000a- disposeAllGLEventListener() being invoked by disposeGL(..),\u000a  catches exception thrown by GLEventListener.dispose(..)\u000a  and prints them to stderr.\u000a  The first caught exception is re-thrown at the end as an GLException.\u000a\u000a- disposeGL() catches re-thrown GLException by disposeAllGLEventListener()\u000a  for GLEventListener.dispose(..)\u000a  and re-throws it when operation is complete.\u000a\u000a- disposeGL() catches an exception thrown at context destruction or release\u000a  and re-throws it when operation is complete.\u000a  An early exception at context.makeCurrent() is _not_ caught,\u000a  since it is the first operation which simply shall unwind the stack.\u000a\u000aGLAutoDrawable.display() -> GLDrawableHelper.invokeGLImpl(..) method:\u000a\u000a- invokeGLImpl(..) for display() follows disposeGL() mechanism, i.e.\u000a  it catches exception thrown at\u000a  GLEventListener's init(..), reshape(..) and display(..) methods\u000a  and re-throws it when operation is complete.\u000a\u000a  It also catches an exception thrown at context release\u000a  and re-throws it when operation is complete.\u000a  An early exception at context.makeCurrent() is _not_ caught,\u000a  since it is the first operation which simply shall unwind the stack.\u000a\u000a++++\u000a\u000aNone of the above thrown exception shall be caught and suppressed\u000aon the caller side.\u000a\u000aIf an operation must be completed while an exception is caught,\u000ait shall be cached and re-thrown after the operations.\u000a\u000aIn case multiple exception at multiple places are caught within\u000aan operation, they all shall be cached and the first one\u000ashall be re-thrown.\u000a\u000aIn case of multiple exception from the same place,\u000ai.e. a loop through all GLEventListener,\u000athe first shall be cached and re-thrown after operation is completed.\u000a\u000aIt has to be determined, whether we like to dump the exceptions,\u000aespecially the ones who get suppressed in case of multiple exceptions.\u000a",
        "date" : "2014-07-31T00:42:39+0200",
        "id" : "ba1ffe66697c3175b423cb7ab9b686d73959708d",
        "msg" : "Bug 1039 - Specify behavior of GLEventListener Exceptions occurring",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/GLException.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLDrawableHelper.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/awt/GLJPanel.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLFBODrawableImpl.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLException01NEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/awt/GLCanvas.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java"
        ],
        "commitId" : "60f397da5fd27e2140a0c1b3a102bba0e67c9f19",
        "timestamp" : 1406777528000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix NPE regression of commit ba1ffe66697c3175b423cb7ab9b686d73959708d\u000a",
        "date" : "2014-07-31T05:32:08+0200",
        "id" : "60f397da5fd27e2140a0c1b3a102bba0e67c9f19",
        "msg" : "Fix NPE regression of commit ba1ffe66697c3175b423cb7ab9b686d73959708d",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://jogamp.org/chuck/user/code",
      "fullName" : "code"
    },
    {
      "absoluteUrl" : "https://jogamp.org/chuck/user/sgothel",
      "fullName" : "Sven Gothel"
    }
  ]
}