{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":109330128,"defaultBranch":"master","name":"goleak","ownerLogin":"uber-go","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-11-02T23:39:06.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/19262598?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1712979870.0","currentOid":""},"activityList":{"items":[{"before":"c87aef957520694ddb6f13f472978e4dbe46f8b7","after":"517bace7cc29e7f4b64b25e071708224707b6226","ref":"refs/heads/master","pushedAt":"2024-04-29T20:53:33.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"JacobOaks","name":"Jacob Oaks","path":"/JacobOaks","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11602410?s=80&v=4"},"commit":{"message":"CI: Upgrade to codecov 4 & use token. (#122)\n\nThis upgrades codecov CI action to version 4,\r\nand uses the codecov token when uploading,\r\nsince tokenless uploading is no longer supported for some cases.","shortMessageHtmlLink":"CI: Upgrade to codecov 4 & use token. (#122)"}},{"before":"ababdaf052d4132f96366835492c102c4eab56bc","after":null,"ref":"refs/heads/prashant/fix-test-1.20","pushedAt":"2024-04-13T04:07:22.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"prashantv","name":"Prashant Varanasi","path":"/prashantv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/140159?s=80&v=4"}},{"before":"b62053be54d7ad632e413adc0947f535f087b0e1","after":"c87aef957520694ddb6f13f472978e4dbe46f8b7","ref":"refs/heads/master","pushedAt":"2024-04-13T04:07:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"prashantv","name":"Prashant Varanasi","path":"/prashantv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/140159?s=80&v=4"},"commit":{"message":"Fix lint and upgrade versions to 1.21/1.22 (#121)\n\nFollow-up to #120, I accidentally merged the PR without waiting for all\r\ntests to run, and missed that 1.20 tests are failing.\r\n\r\nLint is failing because of how we skip golangci-lint run in the action\r\nand use the Makefile. Use the same logic as zap to skip lint.\r\n\r\nTests are failing on 1.20 as stack elision doesn't kick in for the test.\r\nFrom 1.21 onwards, it does kick in. Rather than try to make the test\r\ntrigger stack elision on 1.20, let's bump the versions to 1.21 / 1.22.","shortMessageHtmlLink":"Fix lint and upgrade versions to 1.21/1.22 (#121)"}},{"before":"c89b649a1373b5f043bc956ea4715b678bd7fc66","after":"ababdaf052d4132f96366835492c102c4eab56bc","ref":"refs/heads/prashant/fix-test-1.20","pushedAt":"2024-04-13T03:51:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"prashantv","name":"Prashant Varanasi","path":"/prashantv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/140159?s=80&v=4"},"commit":{"message":"Bump go version to 1.21 / 1.22","shortMessageHtmlLink":"Bump go version to 1.21 / 1.22"}},{"before":null,"after":"c89b649a1373b5f043bc956ea4715b678bd7fc66","ref":"refs/heads/prashant/fix-test-1.20","pushedAt":"2024-04-13T03:44:30.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"prashantv","name":"Prashant Varanasi","path":"/prashantv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/140159?s=80&v=4"},"commit":{"message":"Fix lint","shortMessageHtmlLink":"Fix lint"}},{"before":"31095c657c34bba405a8d480db27989aa5f60b9c","after":"b62053be54d7ad632e413adc0947f535f087b0e1","ref":"refs/heads/master","pushedAt":"2024-04-13T03:08:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"prashantv","name":"Prashant Varanasi","path":"/prashantv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/140159?s=80&v=4"},"commit":{"message":"gracefully handle elided frames (#120)\n\nWhen parsing stacks we frequently encounter elided frames. The actual\r\nstack line looks something like `...23 frames elided...`, which is\r\npassed to `parseFuncName`, which of course is not parsable as a function\r\nname. As a result, whenever this happens we get a useless panic like the\r\nfollowing:\r\n\r\n```\r\npanic: Failed to parse stack trace: parse function: no function found: \"...23 frames elided...\"\r\ngoroutine 1 [running]:\r\ngo.uber.org/goleak/internal/stack.getStackBuffer(0x1)\r\n\t/home/runner/go/pkg/mod/go.uber.org/goleak@v1.3.0/internal/stack/stacks.go:240 +0x65\r\ngo.uber.org/goleak/internal/stack.getStacks(0x1)\r\n\t/home/runner/go/pkg/mod/go.uber.org/goleak@v1.3.0/internal/stack/stacks.go:84 +0x3b\r\ngo.uber.org/goleak/internal/stack.All(...)\r\n\t/home/runner/go/pkg/mod/go.uber.org/goleak@v1.3.0/internal/stack/stacks.go:229\r\ngo.uber.org/goleak.Find({0xc0003ae880, 0x4, 0x4})\r\n\t/home/runner/go/pkg/mod/go.uber.org/goleak@v1.3.0/leaks.go:65 +0x1ea\r\n```\r\n\r\nThis PR gracefully handles elided frames to prevent the panic.","shortMessageHtmlLink":"gracefully handle elided frames (#120)"}},{"before":"2baf435142aeacd02a51c6b96993fe7e3c8d82c7","after":null,"ref":"refs/heads/mway/release/1.3.0","pushedAt":"2023-10-24T16:28:04.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mway","name":"Matt Way","path":"/mway","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61755?s=80&v=4"}},{"before":"5643445eeef62283311d3a89541d609ae40bc757","after":"31095c657c34bba405a8d480db27989aa5f60b9c","ref":"refs/heads/master","pushedAt":"2023-10-24T16:28:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mway","name":"Matt Way","path":"/mway","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61755?s=80&v=4"},"commit":{"message":"Release v1.3.0 (#115)\n\n### Fixed\r\n- Built-in ignores now match function names more accurately.\r\n They will no longer ignore stacks because of file names\r\n that look similar to function names. (#112)\r\n### Added\r\n- Add an `IgnoreAnyFunction` option to ignore stack traces\r\n that have the provided function anywhere in the stack. (#113)\r\n- Ignore `testing.runFuzzing` and `testing.runFuzzTests` alongside\r\n other already-ignored test functions (`testing.RunTests`, etc). (#105)\r\n\r\n### Changed\r\n- Miscellaneous CI-related fixes. (#103, #108, #114)\r\n\r\n---------\r\n\r\nCo-authored-by: Abhinav Gupta ","shortMessageHtmlLink":"Release v1.3.0 (#115)"}},{"before":"968a5d160a883449370197b582502d38d3b2dc6f","after":"2baf435142aeacd02a51c6b96993fe7e3c8d82c7","ref":"refs/heads/mway/release/1.3.0","pushedAt":"2023-10-24T16:24:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"abhinav","name":"Abhinav Gupta","path":"/abhinav","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41730?s=80&v=4"},"commit":{"message":"Update CHANGELOG.md","shortMessageHtmlLink":"Update CHANGELOG.md"}},{"before":"72f16424bb78f43c0447e597d698376fae15519f","after":"968a5d160a883449370197b582502d38d3b2dc6f","ref":"refs/heads/mway/release/1.3.0","pushedAt":"2023-10-24T16:15:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"mway","name":"Matt Way","path":"/mway","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61755?s=80&v=4"},"commit":{"message":"Release v1.3.0","shortMessageHtmlLink":"Release v1.3.0"}},{"before":"7b4998fbaa50c54bbb8516b02e0870175cee73b1","after":"5643445eeef62283311d3a89541d609ae40bc757","ref":"refs/heads/master","pushedAt":"2023-10-24T16:00:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"sywhang","name":"Sung Yoon Whang","path":"/sywhang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30421794?s=80&v=4"},"commit":{"message":"Revert \"Make maxSleep and maxRetires configurable when building options (#94)\" (#116)\n\nThis reverts commit 751da596f6f726bcc02401452bacb0fda8fc7b7b.\r\n\r\nPer discussion in #93, we don't want to release this change as-is.","shortMessageHtmlLink":"Revert \"Make maxSleep and maxRetires configurable when building optio…"}},{"before":null,"after":"72f16424bb78f43c0447e597d698376fae15519f","ref":"refs/heads/mway/release/1.3.0","pushedAt":"2023-10-24T14:49:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mway","name":"Matt Way","path":"/mway","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61755?s=80&v=4"},"commit":{"message":"Release v1.3.0","shortMessageHtmlLink":"Release v1.3.0"}},{"before":"fe4c85512a5ae1aa9ca77359fa9a5279fc8a86cc","after":null,"ref":"refs/heads/ignore-any","pushedAt":"2023-10-23T14:52:12.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"abhinav","name":"Abhinav Gupta","path":"/abhinav","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41730?s=80&v=4"}},{"before":"66916c2a65fe0b2b9c0a07e3ac8415d111a58551","after":"7b4998fbaa50c54bbb8516b02e0870175cee73b1","ref":"refs/heads/master","pushedAt":"2023-10-23T14:52:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"abhinav","name":"Abhinav Gupta","path":"/abhinav","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41730?s=80&v=4"},"commit":{"message":"options: Add IgnoreAnyFunction (#113)\n\nAdds a new IgnoreAnyFunction option to ignore stacks\r\nthat have the provided function anywhere in the stack,\r\nnot just the top.\r\n\r\nTo test this better, the helper blockedG.run function\r\nwas split into two.\r\n\r\nSupersedes #80\r\nDepends on #111","shortMessageHtmlLink":"options: Add IgnoreAnyFunction (#113)"}},{"before":"25c5bdc26222ea920f6fce8279f260635843feab","after":null,"ref":"refs/heads/readme-badge","pushedAt":"2023-10-23T13:48:51.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"abhinav","name":"Abhinav Gupta","path":"/abhinav","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41730?s=80&v=4"}},{"before":"ecabcf9fed27e23ccaccd816471dd97d1e6452b0","after":"66916c2a65fe0b2b9c0a07e3ac8415d111a58551","ref":"refs/heads/master","pushedAt":"2023-10-23T13:48:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"abhinav","name":"Abhinav Gupta","path":"/abhinav","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41730?s=80&v=4"},"commit":{"message":"README: Fix build status badge (#114)\n\nThe CI job was renamed to ci.yml in #108\r\nbut the README.md was not updated.\r\n\r\nFix the badge URL in the README.","shortMessageHtmlLink":"README: Fix build status badge (#114)"}},{"before":null,"after":"25c5bdc26222ea920f6fce8279f260635843feab","ref":"refs/heads/readme-badge","pushedAt":"2023-10-23T12:17:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"abhinav","name":"Abhinav Gupta","path":"/abhinav","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41730?s=80&v=4"},"commit":{"message":"README: Fix build status badge\n\nThe CI job was renamed to ci.yml in #108\nbut the README.md was not updated.\n\nFix the badge URL in the README.","shortMessageHtmlLink":"README: Fix build status badge"}},{"before":"8398ff3d86a58a55dc0ef618a40a2af3d437b407","after":"fe4c85512a5ae1aa9ca77359fa9a5279fc8a86cc","ref":"refs/heads/ignore-any","pushedAt":"2023-10-23T04:21:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"abhinav","name":"Abhinav Gupta","path":"/abhinav","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41730?s=80&v=4"},"commit":{"message":"test: IgnoreAnyFunction does not ignore \"created by\"","shortMessageHtmlLink":"test: IgnoreAnyFunction does not ignore \"created by\""}},{"before":"cf210201be69501320833ed49391677f398a949e","after":"8398ff3d86a58a55dc0ef618a40a2af3d437b407","ref":"refs/heads/ignore-any","pushedAt":"2023-10-23T04:18:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"abhinav","name":"Abhinav Gupta","path":"/abhinav","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41730?s=80&v=4"},"commit":{"message":"options: Add IgnoreAnyFunction\n\nAdds a new IgnoreAnyFunction option to ignore stacks\nthat have the provided function anywhere in the stack,\nnot just the top.\n\nTo test this better, the helper blockedG.run function\nwas split into two.\n\nSupersedes #80","shortMessageHtmlLink":"options: Add IgnoreAnyFunction"}},{"before":"78c501752c37ce7443cb76b9aa56ab6622bef057","after":null,"ref":"refs/heads/strings-contains","pushedAt":"2023-10-23T04:18:35.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"abhinav","name":"Abhinav Gupta","path":"/abhinav","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41730?s=80&v=4"}},{"before":"91de685688cf4c932e998dbba47a678c051a7d1d","after":"ecabcf9fed27e23ccaccd816471dd97d1e6452b0","ref":"refs/heads/master","pushedAt":"2023-10-23T04:18:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"abhinav","name":"Abhinav Gupta","path":"/abhinav","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41730?s=80&v=4"},"commit":{"message":"ignores: Don't use strings.Contains (#112)\n\nInstead of matching for built-in functions with strings.Contains,\r\nuse the parsed stack information to match function names exactly.\r\n\r\nFollowing this change, the only remaining strings.Contains are\r\nto match on the goroutine state:\r\n\r\n```\r\n% rg strings.Contains\r\nutils_test.go\r\n84: if strings.Contains(s.State(), \"run\") {\r\n\r\ninternal/stack/stacks_test.go\r\n249: if strings.Contains(s.State(), \"run\") {\r\n```\r\n\r\nResolves #41\r\nDepends on #111","shortMessageHtmlLink":"ignores: Don't use strings.Contains (#112)"}},{"before":"bff05adb4a1140677bededf3440d99857824092e","after":"cf210201be69501320833ed49391677f398a949e","ref":"refs/heads/ignore-any","pushedAt":"2023-10-23T04:17:38.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"abhinav","name":"Abhinav Gupta","path":"/abhinav","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41730?s=80&v=4"},"commit":{"message":"options: Add IgnoreAnyFunction\n\nAdds a new IgnoreAnyFunction option to ignore stacks\nthat have the provided function anywhere in the stack,\nnot just the top.\n\nTo test this better, the helper blockedG.run function\nwas split into two.\n\nSupersedes #80","shortMessageHtmlLink":"options: Add IgnoreAnyFunction"}},{"before":"25172dd27088f3698ee3cfe1255762d43af1228a","after":"78c501752c37ce7443cb76b9aa56ab6622bef057","ref":"refs/heads/strings-contains","pushedAt":"2023-10-23T04:17:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"abhinav","name":"Abhinav Gupta","path":"/abhinav","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41730?s=80&v=4"},"commit":{"message":"ignores: Don't use strings.Contains\n\nInstead of matching for built-in functions with strings.Contains,\nuse the parsed stack information to match function names exactly.\n\nFollowing this change, the only remaining strings.Contains are\nto match on the goroutine state:\n\n```\n% rg strings.Contains\nutils_test.go\n84: if strings.Contains(s.State(), \"run\") {\n\ninternal/stack/stacks_test.go\n249: if strings.Contains(s.State(), \"run\") {\n```\n\nResolves #41","shortMessageHtmlLink":"ignores: Don't use strings.Contains"}},{"before":"5b4de071abf88b8394ec7a9b6674ea3c28aefc07","after":null,"ref":"refs/heads/parse-stack","pushedAt":"2023-10-23T04:16:54.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"abhinav","name":"Abhinav Gupta","path":"/abhinav","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41730?s=80&v=4"}},{"before":"25cbb67949a29168fe22878d215ad49bce416fb1","after":"91de685688cf4c932e998dbba47a678c051a7d1d","ref":"refs/heads/master","pushedAt":"2023-10-23T04:16:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"abhinav","name":"Abhinav Gupta","path":"/abhinav","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41730?s=80&v=4"},"commit":{"message":"stack: Parse all functions (#111)\n\nAdds support to the stack parser for reading the full list of functions\r\nfor a stack trace.\r\n\r\nNOTE:\r\nThe function that created the goroutine\r\nis NOT considered part of the stack.\r\n\r\nWe don't maintain the order of the functions\r\nsince that's not something we need at this time.\r\nThe functions are all placed in a set.\r\n\r\nThis unblocks #41 and allows implementing an\r\nIgnoreAnyFunction option (similar to the stalled #80 PR).\r\n\r\nDepends on #110","shortMessageHtmlLink":"stack: Parse all functions (#111)"}},{"before":"b4e742140eda43a1faa832b2ff74e4c509754e14","after":"5b4de071abf88b8394ec7a9b6674ea3c28aefc07","ref":"refs/heads/parse-stack","pushedAt":"2023-10-23T04:14:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"abhinav","name":"Abhinav Gupta","path":"/abhinav","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41730?s=80&v=4"},"commit":{"message":"parseStack: unit test for corner cases","shortMessageHtmlLink":"parseStack: unit test for corner cases"}},{"before":"f82c00b8e068a80f1126004b9ede363fe3820f69","after":"bff05adb4a1140677bededf3440d99857824092e","ref":"refs/heads/ignore-any","pushedAt":"2023-10-22T23:24:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"abhinav","name":"Abhinav Gupta","path":"/abhinav","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41730?s=80&v=4"},"commit":{"message":"options: Add IgnoreAnyFunction\n\nAdds a new IgnoreAnyFunction option to ignore stacks\nthat have the provided function anywhere in the stack,\nnot just the top.\n\nTo test this better, the helper blockedG.run function\nwas split into two.\n\nSupersedes #80","shortMessageHtmlLink":"options: Add IgnoreAnyFunction"}},{"before":"7bdc2743e1cd649bb6b7ff5172fa10c2beb6df34","after":"b4e742140eda43a1faa832b2ff74e4c509754e14","ref":"refs/heads/parse-stack","pushedAt":"2023-10-22T23:22:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"abhinav","name":"Abhinav Gupta","path":"/abhinav","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41730?s=80&v=4"},"commit":{"message":"test: Add real stack traces\n\nTo verify the stacktrace parsing logic,\ngenerate real stack traces under the following conditions:\n\n- Go 1.21\n- Go 1.20 installed with gimme\n- Go 1.21 with tracebackancestors=10 set\n\nThe test verifies that the parsed stack traces\ndo not include functions that we did not expect to see\nin a goroutine's trace.","shortMessageHtmlLink":"test: Add real stack traces"}},{"before":"f901fec95bae58d69eb0b3367e9a3c70efb2090a","after":"25172dd27088f3698ee3cfe1255762d43af1228a","ref":"refs/heads/strings-contains","pushedAt":"2023-10-22T18:16:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"abhinav","name":"Abhinav Gupta","path":"/abhinav","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41730?s=80&v=4"},"commit":{"message":"ignores: Don't use strings.Contains\n\nInstead of matching for built-in functions with strings.Contains,\nuse the parsed stack information to match function names exactly.\n\nFollowing this change, the only remaining strings.Contains are\nto match on the goroutine state:\n\n```\n% rg strings.Contains\nutils_test.go\n84: if strings.Contains(s.State(), \"run\") {\n\ninternal/stack/stacks_test.go\n249: if strings.Contains(s.State(), \"run\") {\n```\n\nResolves #41","shortMessageHtmlLink":"ignores: Don't use strings.Contains"}},{"before":"5f03f7140469c21f861cfb62b57bf19906db1202","after":"f82c00b8e068a80f1126004b9ede363fe3820f69","ref":"refs/heads/ignore-any","pushedAt":"2023-10-22T18:16:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"abhinav","name":"Abhinav Gupta","path":"/abhinav","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41730?s=80&v=4"},"commit":{"message":"options: Add IgnoreAnyFunction\n\nAdds a new IgnoreAnyFunction option to ignore stacks\nthat have the provided function anywhere in the stack,\nnot just the top.\n\nTo test this better, the helper blockedG.run function\nwas split into two.\n\nSupersedes #80","shortMessageHtmlLink":"options: Add IgnoreAnyFunction"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEPWHKJgA","startCursor":null,"endCursor":null}},"title":"Activity · uber-go/goleak"}