)]}'
{
  "commit": "3c468bb2d1418915136f9e36f044ac6672914836",
  "tree": "a4258665b4d92fb532ad3a92a977390494ee5ad9",
  "parents": [
    "acddda48f7cd6c8a5e18ceba7fac3eae77d604ae"
  ],
  "author": {
    "name": "Nicolas Hillegeer",
    "email": "aktau@google.com",
    "time": "Mon Dec 09 08:57:01 2024 -0800"
  },
  "committer": {
    "name": "Gopher Robot",
    "email": "gobot@golang.org",
    "time": "Tue Dec 10 15:53:05 2024 +0000"
  },
  "message": "internal/gocore: find new names of runtime._type and runtime.itab\n\nThis change makes (e.g.) `viewcore histogram` run without crashing cores\nproduced by current toolchains again. The output is still partially\nwrong, in the sense that it outputs a mixture of named and unnamed\ntypes:\n\n    runtime.g size\u003d448\n    []*runtime.moduledata size\u003d24\n    [1+1?]*runtime.moduledata size\u003d16\n    [10+6?]uint8 size\u003d16\n    [1+3?]uint32 size\u003d16\n\nStill it\u0027s an improvement over the status quo.\n\nIn Go 1.21, runtime._type was converted from its own type into an alias\nof internal/abi.Type. In the process, its fields became public too. For\nan overview of the history:\n\n - https://go.dev/cl/462995 (internal/abi: refactor (basic) type struct into one definition)\n - https://go.dev/cl/484856 (internal/reflectlite, runtime: move more constants and types into internal/abi)\n - https://go.dev/cl/488435 (runtime: redefine _type to abi.Type; add rtype for methods)\n\nIn https://go.dev/cl/608475 (internal/gocore: support Go 1.22 allocation\nheaders), this was partially reflected in viewcore, but only just enough\nto get basic tests for the current toolchain working.\n\nThere were still references to the old `runtime._type` and\n`runtime.itab` (renamed `abi.ITab`), causing crashes for certain\noperations, like `viewcore histogram` as well as the nascent dominator\ntree code:\n\n    panic: can\u0027t find type runtime._type [recovered]\n            panic: can\u0027t find type runtime._type\n\n    golang.org/x/debug/internal/gocore.(*Process).findType(...)\n            /home/aktau/go/debug/internal/gocore/process.go:112\n    golang.org/x/debug/internal/gocore.(*Process).runtimeType2Type(0xc00026a000, 0x46d8a0, 0x4ee3a8)\n            /home/aktau/go/debug/internal/gocore/type.go:153 +0x14d9\n    golang.org/x/debug/internal/gocore.(*Process).typeObject(0xc00026a000, 0x4ee3a0, 0xc000392460, {0x7b9e40, 0xc0001f4000}, 0xc00052d960)\n            /home/aktau/go/debug/internal/gocore/type.go:636 +0xd45\n    golang.org/x/debug/internal/gocore.(*Process).typeHeap.func1.2(0xc000582a08?)\n            /home/aktau/go/debug/internal/gocore/type.go:514 +0x79\n    golang.org/x/debug/internal/gocore.(*Process).ForEachRoot(0xc00026a000, 0xc00052db20)\n            /home/aktau/go/debug/internal/gocore/object.go:220 +0x6a\n    golang.org/x/debug/internal/gocore.(*Process).typeHeap.func1()\n            /home/aktau/go/debug/internal/gocore/type.go:509 +0x179\n    sync.(*Once).doSlow(0x6fe760?, 0xc00026a000?)\n            /usr/lib/google-golang/src/sync/once.go:76 +0xb4\n    sync.(*Once).Do(...)\n            /usr/lib/google-golang/src/sync/once.go:67\n    golang.org/x/debug/internal/gocore.(*Process).typeHeap(0x3?)\n            /home/aktau/go/debug/internal/gocore/type.go:383 +0x3b\n    golang.org/x/debug/internal/gocore.runLT(0xc00026a000)\n            /home/aktau/go/debug/internal/gocore/dominator.go:89 +0x58\n    golang.org/x/debug/internal/gocore.TestVersions.func2.1(0xc00012c680)\n            /home/aktau/go/debug/internal/gocore/gocore_test.go:513 +0x5e\n\nChange-Id: I8559c86f03d52b114f92756caf4487df75237983\nReviewed-on: https://go-review.googlesource.com/c/debug/+/634755\nAuto-Submit: Nicolas Hillegeer \u003caktau@google.com\u003e\nLUCI-TryBot-Result: Go LUCI \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Michael Knyszek \u003cmknyszek@google.com\u003e\nCommit-Queue: Nicolas Hillegeer \u003caktau@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c716e8e9b2b835e98557d9032d0359864fd4620d",
      "old_mode": 33188,
      "old_path": "internal/gocore/gocore_test.go",
      "new_id": "ec60ad9d312da70aeb9b91bcb1d50d5b703be044",
      "new_mode": 33188,
      "new_path": "internal/gocore/gocore_test.go"
    },
    {
      "type": "modify",
      "old_id": "9f0b0eacb4dae18a95702651cbc8fd238402a1b5",
      "old_mode": 33188,
      "old_path": "internal/gocore/type.go",
      "new_id": "b3a4b276cea32ee98ca9a413e92745a81ca09453",
      "new_mode": 33188,
      "new_path": "internal/gocore/type.go"
    }
  ]
}
