{
  "_class" : "hudson.matrix.MatrixBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "org.jenkinsci.plugins.ghprb.GhprbCause",
          "shortDescription" : "GitHub pull request #3700 of commit c8ed45454745f27c663dd111735054cde5dd4de9, no merge conflicts."
        }
      ]
    },
    {
      "_class" : "org.jenkinsci.plugins.ghprb.GhprbParametersAction",
      "parameters" : [
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "sha1",
          "value" : "origin/pr/3700/merge"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbActualCommit",
          "value" : "c8ed45454745f27c663dd111735054cde5dd4de9"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbActualCommitAuthor",
          "value" : ""
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbActualCommitAuthorEmail",
          "value" : ""
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbAuthorRepoGitUrl",
          "value" : "https://github.com/eduardo-elizondo/bcc.git"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbTriggerAuthor",
          "value" : ""
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbTriggerAuthorEmail",
          "value" : ""
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbTriggerAuthorLogin",
          "value" : "yonghong-song"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbTriggerAuthorLoginMention",
          "value" : "@yonghong-song"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullId",
          "value" : "3700"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbTargetBranch",
          "value" : "master"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbSourceBranch",
          "value" : "add_strict_weak_ordering"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "GIT_BRANCH",
          "value" : "add_strict_weak_ordering"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullAuthorEmail",
          "value" : "eduardo.elizondorueda@gmail.com"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullAuthorLogin",
          "value" : "eduardo-elizondo"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullAuthorLoginMention",
          "value" : "@eduardo-elizondo"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullDescription",
          "value" : "GitHub pull request #3700 of commit c8ed45454745f27c663dd111735054cde5dd4de9, no merge conflicts."
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullTitle",
          "value" : "Guarantee strict weak order in Probe::finalize_locations"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullLink",
          "value" : "https://github.com/iovisor/bcc/pull/3700"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullLongDescription",
          "value" : "Currently, `Probe::finalize_locations` uses `std::sort` on its `locations_` via a custom defined lambda. The provided lambda though, does not guarantee [strict weak ordering](https://en.cppreference.com/w/cpp/concepts/strict_weak_order), and thus, violates one of the [requirements of the compare function](https://en.cppreference.com/w/cpp/named_req/Compare).\\r\\n\\r\\nThe comparison function `a.bin_path_ < b.bin_path_ || a.address_ < b.address_` fails the guarantee that `If comp(a,b)==true then comp(b,a)==false`. Quick example, let `a = (\\\"a\\\", 3)` and `b = (\\\"b\\\", 1)`. In this case, both `comp(a,b)==true and comp(b,a)==true`. Code sample: https://godbolt.org/z/vWbcazTvj\\r\\n\\r\\nIn practice, this undefined behavior might lead to weird behavior such as random segmentation faults which I managed to hit in some of my production binaries. i.e:\\r\\n```\\r\\n*** Signal 11 (SIGSEGV) received by PID X (code: -6), stack trace: ***\\r\\n    @ (unknown)\\r\\n    @ __memcmp_avx2_movbe\\r\\n    @ void std::__unguarded_linear_insert<__gnu_cxx::__normal_iterator<USDT::Location*, std::vector<USDT::Location, std::allocator<USDT::Location> > >, __gnu_cxx::__ops::_Val_comp_iter<USDT::Probe::finalize_locations()::{lambda(USDT::Location const&, USDT::Location const&)#1}> >(__gnu_cxx::__normal_iterator<USDT::Location*, std::vector<USDT::Location, std::allocator<USDT::Location> > >, __gnu_cxx::__ops::_Val_comp_iter<USDT::Probe::finalize_locations()::{lambda(USDT::Location const&, USDT::Location const&)#1}>)\\r\\n    @ USDT::Probe::finalize_locations()\\r\\n     ... user code ...\\r\\n```\\r\\n\\r\\nTo solve this, we just need to guarantee the strict weak order through the use of `std::tie`. This allows it to have a lexicographical comparison and hence, no more undefined behavior. Performance-wise, this just creates a tuple in place with no copies, so it shouldn't be a big regression."
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbCommentBody",
          "value" : "[buildbot, test this please]"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbGhRepository",
          "value" : "iovisor/bcc"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbCredentialsId",
          "value" : "6d3daf13-69b8-48b1-9c8f-ec5353264113"
        }
      ]
    },
    {
      
    },
    {
      "_class" : "jenkins.model.InterruptedBuildAction"
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : "<a title=\"Guarantee strict weak order in Probe::finalize_locations\" href=\"https://github.com/iovisor/bcc/pull/3700\">PR #3700</a>: Guarantee strict weak order...",
  "displayName" : "#1222",
  "duration" : 1156863,
  "estimatedDuration" : 7460664,
  "executor" : None,
  "fullDisplayName" : "bcc-pr #1222",
  "id" : "1222",
  "keepLog" : False,
  "number" : 1222,
  "queueId" : 9768,
  "result" : "ABORTED",
  "timestamp" : 1636996045032,
  "url" : "https://buildbot.iovisor.org/jenkins/user/yhs/my-views/view/all/job/bcc-pr/1222/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      
    ],
    "kind" : "git"
  },
  "culprits" : [
    
  ],
  "runs" : [
    {
      "number" : 1210,
      "url" : "https://buildbot.iovisor.org/jenkins/user/yhs/my-views/view/all/job/bcc-pr/label=fc25/1210/"
    },
    {
      "number" : 1210,
      "url" : "https://buildbot.iovisor.org/jenkins/user/yhs/my-views/view/all/job/bcc-pr/label=fc26/1210/"
    },
    {
      "number" : 1210,
      "url" : "https://buildbot.iovisor.org/jenkins/user/yhs/my-views/view/all/job/bcc-pr/label=fc27/1210/"
    },
    {
      "number" : 1210,
      "url" : "https://buildbot.iovisor.org/jenkins/user/yhs/my-views/view/all/job/bcc-pr/label=fc28/1210/"
    },
    {
      "number" : 1210,
      "url" : "https://buildbot.iovisor.org/jenkins/user/yhs/my-views/view/all/job/bcc-pr/label=ubuntu1604/1210/"
    },
    {
      "number" : 1210,
      "url" : "https://buildbot.iovisor.org/jenkins/user/yhs/my-views/view/all/job/bcc-pr/label=ubuntu1710/1210/"
    },
    {
      "number" : 1210,
      "url" : "https://buildbot.iovisor.org/jenkins/user/yhs/my-views/view/all/job/bcc-pr/label=ubuntu1804/1210/"
    }
  ]
}