{
  "_class" : "org.jenkinsci.plugins.workflow.job.WorkflowRun",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "com.cloudbees.jenkins.GitHubPushCause",
          "shortDescription" : "Started by GitHub push by kayceesrk"
        }
      ]
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/trunk" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2951,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "6f9592cfafb6868a929058ef37f9888d95adf18f",
            "branch" : [
              {
                "SHA1" : "6f9592cfafb6868a929058ef37f9888d95adf18f",
                "name" : "origin/trunk"
              }
            ]
          },
          "revision" : {
            "SHA1" : "6f9592cfafb6868a929058ef37f9888d95adf18f",
            "branch" : [
              {
                "SHA1" : "6f9592cfafb6868a929058ef37f9888d95adf18f",
                "name" : "origin/trunk"
              }
            ]
          }
        },
        "refs/remotes/origin/trunk" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2398,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "e4b1eb03cb5c45d6cbd85425c626e145ea32a2f9",
            "branch" : [
              {
                "SHA1" : "e4b1eb03cb5c45d6cbd85425c626e145ea32a2f9",
                "name" : "refs/remotes/origin/trunk"
              }
            ]
          },
          "revision" : {
            "SHA1" : "e4b1eb03cb5c45d6cbd85425c626e145ea32a2f9",
            "branch" : [
              {
                "SHA1" : "e4b1eb03cb5c45d6cbd85425c626e145ea32a2f9",
                "name" : "refs/remotes/origin/trunk"
              }
            ]
          }
        },
        "origin/4.14" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2925,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "8899c05cfc9027e74dfe88c71cc78bac5102e771",
            "branch" : [
              {
                "SHA1" : "8899c05cfc9027e74dfe88c71cc78bac5102e771",
                "name" : "origin/4.14"
              }
            ]
          },
          "revision" : {
            "SHA1" : "8899c05cfc9027e74dfe88c71cc78bac5102e771",
            "branch" : [
              {
                "SHA1" : "8899c05cfc9027e74dfe88c71cc78bac5102e771",
                "name" : "origin/4.14"
              }
            ]
          }
        },
        "origin/5.2" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2885,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "da1cc7acd855ae1aaf309f2a11f0f91a953a4377",
            "branch" : [
              {
                "SHA1" : "da1cc7acd855ae1aaf309f2a11f0f91a953a4377",
                "name" : "origin/5.2"
              }
            ]
          },
          "revision" : {
            "SHA1" : "da1cc7acd855ae1aaf309f2a11f0f91a953a4377",
            "branch" : [
              {
                "SHA1" : "da1cc7acd855ae1aaf309f2a11f0f91a953a4377",
                "name" : "origin/5.2"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "6f9592cfafb6868a929058ef37f9888d95adf18f",
        "branch" : [
          {
            "SHA1" : "6f9592cfafb6868a929058ef37f9888d95adf18f",
            "name" : "origin/trunk"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/ocaml/ocaml/"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.workflow.libs.LibrariesAction"
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    },
    {
      "_class" : "org.jenkinsci.plugins.pipeline.modeldefinition.actions.RestartDeclarativePipelineAction"
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.workflow.job.views.FlowGraphAction"
    },
    {
      
    },
    {
      
    },
    {
      
    }
  ],
  "artifacts" : [
    
  ],
  "building" : True,
  "description" : None,
  "displayName" : "#2951",
  "duration" : 0,
  "estimatedDuration" : 182975,
  "executor" : {
    "_class" : "hudson.model.OneOffExecutor"
  },
  "fullDisplayName" : "step-by-step-build #2951",
  "id" : "2951",
  "keepLog" : False,
  "number" : 2951,
  "queueId" : 22831,
  "result" : None,
  "timestamp" : 1753088998561,
  "url" : "https://ci.inria.fr/ocaml/view/all/job/step-by-step-build/2951/",
  "changeSets" : [
    {
      "_class" : "hudson.plugins.git.GitChangeSetList",
      "items" : [
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "runtime/domain.c"
          ],
          "commitId" : "8f0d4f4b77215029fcc3f331cfc0cee3cdff051b",
          "timestamp" : 1753083967000,
          "author" : {
            "absoluteUrl" : "https://ci.inria.fr/ocaml/user/gabriel.scherer",
            "fullName" : "gabriel.scherer"
          },
          "authorEmail" : "gabriel.scherer@gmail.com",
          "comment" : "runtime: free the minor heap when leaving STW participants\u000a\u000aThe reserved address space for the minor heap area is a global\u000aresource shared by all domains; each domain owns a portion of it,\u000awithin which it commits a part for its minor heap. (Having contiguous\u000aaddress space allows for an efficient Is_young check.). When we need\u000amore reserved space because the user increased the minor heap size, we\u000ause a STW section to change the reservation: each domain in the STW\u000asection first decommits its minor heap, a single domain changes the\u000areserved area, and then each domain re-commits its minor heap.\u000a\u000aIf a domain does not participate to STW sections, the boundaries of\u000aits minor heap will change without the domain decommitting the\u000aprevious minor heap first. If the same domain structure is used for a\u000anewly spawned domain later on, it will start by decommitting its minor\u000aheap following the new boundaries, which is incorrect as it never\u000acommitted this adress range in the first place.\u000a\u000a(In practice calling `caml_mem_decommit` incorrectly in this way does\u000anot appear to crash the program. I think this is because `decommit`\u000ahas a fairly liberal behavior, it will happily do nothing if the\u000amemory range is not committed. The code remains logically wrong, and\u000acould become a hard failure if other parts of the runtime change in\u000areasonable ways later on.)\u000a\u000aThe present commit ensures that we systematically decommit the minor\u000aheap of each domain when it leaves the set of STW participants. This\u000away, only STW-active domains have their minor heap allocated, and\u000achanging the minor heap address space within STW section works as\u000aintended.\u000a\u000a(I tried to remove the new call to `free_minor_heap` in\u000a`domain_terminate`, and checked that the testsuite fails in debug mode\u000awhen the `allocate_minor_heap` call in `domain_create` later on\u000anotices an already-committed minor heap.)\u000a\u000aReviewed-by: KC Sivaramakrishnan <kc@kcsrk.info>\u000a",
          "date" : "2025-07-21 09:46:07 +0200",
          "id" : "8f0d4f4b77215029fcc3f331cfc0cee3cdff051b",
          "msg" : "runtime: free the minor heap when leaving STW participants",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "runtime/domain.c"
            }
          ]
        }
      ],
      "kind" : "git"
    }
  ],
  "culprits" : [
    {
      "absoluteUrl" : "https://ci.inria.fr/ocaml/user/gabriel.scherer",
      "fullName" : "gabriel.scherer"
    }
  ],
  "inProgress" : True,
  "nextBuild" : {
    "number" : 2952,
    "url" : "https://ci.inria.fr/ocaml/view/all/job/step-by-step-build/2952/"
  },
  "previousBuild" : {
    "number" : 2950,
    "url" : "https://ci.inria.fr/ocaml/view/all/job/step-by-step-build/2950/"
  }
}