{
  "_class" : "hudson.matrix.MatrixRun",
  "actions" : [
    {
      
    },
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.model.Cause$UpstreamCause",
          "shortDescription" : "Started by upstream project \"main\" build number 4,842",
          "upstreamBuild" : 4842,
          "upstreamProject" : "main",
          "upstreamUrl" : "job/main/"
        }
      ]
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/trunk" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 4842,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "25b6cc979dee394b5fb7e1eac24c2ad33317907b",
            "branch" : [
              {
                "SHA1" : "25b6cc979dee394b5fb7e1eac24c2ad33317907b",
                "name" : "origin/trunk"
              }
            ]
          },
          "revision" : {
            "SHA1" : "25b6cc979dee394b5fb7e1eac24c2ad33317907b",
            "branch" : [
              {
                "SHA1" : "25b6cc979dee394b5fb7e1eac24c2ad33317907b",
                "name" : "origin/trunk"
              }
            ]
          }
        },
        "origin/4.14" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 4783,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "8899c05cfc9027e74dfe88c71cc78bac5102e771",
            "branch" : [
              {
                "SHA1" : "8899c05cfc9027e74dfe88c71cc78bac5102e771",
                "name" : "origin/4.14"
              }
            ]
          },
          "revision" : {
            "SHA1" : "8899c05cfc9027e74dfe88c71cc78bac5102e771",
            "branch" : [
              {
                "SHA1" : "8899c05cfc9027e74dfe88c71cc78bac5102e771",
                "name" : "origin/4.14"
              }
            ]
          }
        },
        "origin/5.4" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 4838,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "33f2c1acc1549b2d412564707621f5ac6fac1df3",
            "branch" : [
              {
                "SHA1" : "33f2c1acc1549b2d412564707621f5ac6fac1df3",
                "name" : "origin/5.4"
              }
            ]
          },
          "revision" : {
            "SHA1" : "33f2c1acc1549b2d412564707621f5ac6fac1df3",
            "branch" : [
              {
                "SHA1" : "33f2c1acc1549b2d412564707621f5ac6fac1df3",
                "name" : "origin/5.4"
              }
            ]
          }
        },
        "origin/5.3" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 4785,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "489ecba22f1b1b05b7569f8c6733e0ef14f0e9fc",
            "branch" : [
              {
                "SHA1" : "489ecba22f1b1b05b7569f8c6733e0ef14f0e9fc",
                "name" : "origin/5.3"
              }
            ]
          },
          "revision" : {
            "SHA1" : "489ecba22f1b1b05b7569f8c6733e0ef14f0e9fc",
            "branch" : [
              {
                "SHA1" : "489ecba22f1b1b05b7569f8c6733e0ef14f0e9fc",
                "name" : "origin/5.3"
              }
            ]
          }
        },
        "origin/5.2" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 4743,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "da1cc7acd855ae1aaf309f2a11f0f91a953a4377",
            "branch" : [
              {
                "SHA1" : "da1cc7acd855ae1aaf309f2a11f0f91a953a4377",
                "name" : "origin/5.2"
              }
            ]
          },
          "revision" : {
            "SHA1" : "da1cc7acd855ae1aaf309f2a11f0f91a953a4377",
            "branch" : [
              {
                "SHA1" : "da1cc7acd855ae1aaf309f2a11f0f91a953a4377",
                "name" : "origin/5.2"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "25b6cc979dee394b5fb7e1eac24c2ad33317907b",
        "branch" : [
          {
            "SHA1" : "25b6cc979dee394b5fb7e1eac24c2ad33317907b",
            "name" : "origin/trunk"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/ocaml/ocaml"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : True,
  "description" : None,
  "displayName" : "origin/trunk-#4842",
  "duration" : 0,
  "estimatedDuration" : 2085014,
  "executor" : {
    
  },
  "fullDisplayName" : "main » false,ocaml-omnios origin/trunk-#4842",
  "id" : "4842",
  "inProgress" : True,
  "keepLog" : False,
  "number" : 4842,
  "queueId" : 25173,
  "result" : None,
  "timestamp" : 1758641593294,
  "url" : "https://ci.inria.fr/ocaml/job/main/flambda=false,label=ocaml-omnios/4842/",
  "builtOn" : "ocaml-omnios",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "Changes",
          "runtime/tsan.c"
        ],
        "commitId" : "25b6cc979dee394b5fb7e1eac24c2ad33317907b",
        "timestamp" : 1758638894000,
        "author" : {
          "absoluteUrl" : "https://ci.inria.fr/ocaml/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Fix TSan shadow stack popping on some C stubs (#14213)\u000a\u000aUntil now, when an exception was raised from C and TSan was enabled, the\u000aruntime would unwind the (real) stack and pop on TSan's shadow stack at\u000aevery frame, until the stack pointer was at a higher address than the\u000ac_stack_link. This is incorrect: the correct condition is to stop when\u000athe stack pointer is no longer between the c_stack_link and the stack\u000apointer's value before unwinding. This is because unwinding beyond the\u000ac_stack_link means going back to an OCaml stack, which is on the heap,\u000aand may be stored at an arbitrary address, higher or lower than the C\u000astack.\u000a\u000aThis change also makes the code clearer by using a for loop and\u000aimproving comments.\u000a\u000aCo-authored-by: Gabriel Scherer <gabriel.scherer@gmail.com>\u000a",
        "date" : "2025-09-23 16:48:14 +0200",
        "id" : "25b6cc979dee394b5fb7e1eac24c2ad33317907b",
        "msg" : "Fix TSan shadow stack popping on some C stubs (#14213)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "Changes"
          },
          {
            "editType" : "edit",
            "file" : "runtime/tsan.c"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://ci.inria.fr/ocaml/user/noreply",
      "fullName" : "noreply"
    }
  ]
}