{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":146842101,"defaultBranch":"master","name":"bpftrace","ownerLogin":"bpftrace","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2018-08-31T04:34:44.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/157605399?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1711481153.0","currentOid":""},"activityList":{"items":[{"before":"5e2650fe5ad168def6a14833cd0638dcbead6b5f","after":"c8fd334f55e6b04a7eb3fc9a06822fc6b2a6344b","ref":"refs/heads/master","pushedAt":"2024-04-30T10:28:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jordalgo","name":"Jordan Rome","path":"/jordalgo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1537292?s=80&v=4"},"commit":{"message":"Update log messages (#3105)\n\n- `DEBUG`: log info to the user regardless of log level\r\n(like using stdout and comes with file and line number).\r\nNo prefix.\r\n- `V1`: log info to the user only if verbose logging is\r\nenabled (bt_verbose or -v) Note: -vv will be deleted as\r\nit's only used in two places in one file. No prefix.\r\n- `WARNING`: log info that might affect bpftrace behavior\r\nor output but allows the run to continue (like using\r\nstderr). Prefix: \"WARNING:\"\r\n- `ERROR`: log info to indicate that the user did\r\nsomething invalid which will (eventually) cause bpftrace\r\nto exit (via `exit(1)` or `LOG(FATAL)`). This should get\r\nused if there a multiple errors that need to get logged\r\nto the user otherwise use `FATAL`. Prefix: \"ERROR:\"\r\n- `FATAL`: abort run and log info to indicate that the\r\nuser did something invalid which caused bpftrace to exit.\r\nPrefix: \"ERROR:\"\r\n- `BUG`: abort run and log info to indicate that there\r\nis an internal/unexpected issue (not caused by invalid\r\nuser program code or CLI use). Prefix: \"BUG:\"\r\n\r\nAlso update many sites in accordance with the above\r\nschema.\r\n\r\nHowever, there are still many places that utilize\r\nLOG(ERROR) that could be switched to LOG(FATAL) or\r\nLOG(WARNING) but some changes seemed beyond this PR.\r\n\r\nCo-authored-by: Jordan Rome ","shortMessageHtmlLink":"Update log messages (#3105)"}},{"before":"75f75b2c4432458830ec6763832c2a47632c8f51","after":"5e2650fe5ad168def6a14833cd0638dcbead6b5f","ref":"refs/heads/master","pushedAt":"2024-04-26T05:42:07.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"viktormalik","name":"Viktor Malík","path":"/viktormalik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7603704?s=80&v=4"},"commit":{"message":"Re-enable iterator probe runtime tests\n\nRuntime tests for iter:XXX probes use \"iter:XXX\" in the REQUIRES_FEATURE\nfield while `bpftrace --info` only uses \"iter\". This means that the\ntests were never run.\n\nFix the required feature field and change the tests to make more sense\nand actually print some meaningful value from the iterator context.","shortMessageHtmlLink":"Re-enable iterator probe runtime tests"}},{"before":"599dab8bbcce5d7cc38fda2800fdd647b617651b","after":"75f75b2c4432458830ec6763832c2a47632c8f51","ref":"refs/heads/master","pushedAt":"2024-04-26T05:41:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"viktormalik","name":"Viktor Malík","path":"/viktormalik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7603704?s=80&v=4"},"commit":{"message":"Fix listing for type definitions and scripts\n\nCommit e8bbee4 (\"[#3058] fix bpftrace -l test.bt (#3111)\") broke listing\nof struct definitions:\n\n # bpftrace -l 'struct task_struct'\n ERROR: failed to open file 'struct task_struct': No such file or directory\n\nThis fixes the above problem by clearing up how bpftrace distinguishes\ndifferents kinds of listing:\n- if the search entry is an existing file, it is interpreted as such,\n- if the search entry starts with \"struct \", \"union \", or \"enum \"\n (notice the trailing spaces), it is interpreted as a type name,\n- otherwise the search entry is interpreted as a probe. In this case,\n when the search entry contains a dot ('.') and does not contain a\n wildcard ('*') or a colon (':'), a warning is shown that such a file\n does not exist.\n\nAlso introduce a runtime test for type listing to avoid future breakage.","shortMessageHtmlLink":"Fix listing for type definitions and scripts"}},{"before":"9abda83fac91e4ce1fa058ae3a8139256b161e08","after":"599dab8bbcce5d7cc38fda2800fdd647b617651b","ref":"refs/heads/master","pushedAt":"2024-04-24T16:31:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ajor","name":"Alastair Robertson","path":"/ajor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1007446?s=80&v=4"},"commit":{"message":"ast.cpp: Include required header\n\nstd::transform is defined in and the build was failing on\nsome platforms because it was not included.\n\nAlso remove while I'm here, as it hasn't been required in\nthis file for a long time.","shortMessageHtmlLink":"ast.cpp: Include required header"}},{"before":"584de45758df70a8e9084dcfe600a8b967115368","after":"9abda83fac91e4ce1fa058ae3a8139256b161e08","ref":"refs/heads/master","pushedAt":"2024-04-23T10:23:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"viktormalik","name":"Viktor Malík","path":"/viktormalik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7603704?s=80&v=4"},"commit":{"message":"Update PR template to warn against outdated change\n\nRecently, we've been receiving a lot of PRs which fix bugs occurring\nonly on older versions of bpftrace (e.g. changing args.xxx to args->xxx\nin the one-liners tutorial).\n\nAdd a warning to the GitHub PR template that warns people to check that\nthey implement and test the change against the last version of bpftrace.","shortMessageHtmlLink":"Update PR template to warn against outdated change"}},{"before":"1ccc7a719cd2b18b85aabfdf2255ebbc1b146860","after":"584de45758df70a8e9084dcfe600a8b967115368","ref":"refs/heads/master","pushedAt":"2024-04-23T10:23:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"viktormalik","name":"Viktor Malík","path":"/viktormalik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7603704?s=80&v=4"},"commit":{"message":"One-liner tutorial: add note on args access change\n\nPR #2578 changed the way args fields are accessed. Since then, it is\nrecommended to use `args.xxx` instead of `args->xxx` which is also\nreflected in the one-liner tutorial.\n\nAs many distros still have older versions of bpftrace, people keep\nstumbling on one-liner tutorial commands throwing errors about\n`args.xxx` not being a correct expression. Add a note to the one-liner\ntutorial which highlights this change and warns people to use\n`args->xxx` for older versions of bpftrace.","shortMessageHtmlLink":"One-liner tutorial: add note on args access change"}},{"before":"b830c209e687ab303fa6da8cf6b7e94a56424d2c","after":"1ccc7a719cd2b18b85aabfdf2255ebbc1b146860","ref":"refs/heads/master","pushedAt":"2024-04-23T10:22:47.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"viktormalik","name":"Viktor Malík","path":"/viktormalik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7603704?s=80&v=4"},"commit":{"message":"Refactor creating Probe objects\n\nBPFtrace::add_probe contains a number of places where a Probe object is\ncreated from ast::AttachPoint and ast::Probe. Most of the fields of\nProbe are set in the same way in all places so unify everything into a\nnew method BPFtrace::generate_probe(ast::AttachPoint &, ast::Probe &).","shortMessageHtmlLink":"Refactor creating Probe objects"}},{"before":"6c6b9807fd60a4598960c16f0033c03e461cf171","after":"b830c209e687ab303fa6da8cf6b7e94a56424d2c","ref":"refs/heads/master","pushedAt":"2024-04-22T17:51:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ajor","name":"Alastair Robertson","path":"/ajor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1007446?s=80&v=4"},"commit":{"message":"include explicitly in files that use it\n\nA few files use methods defined in , such\nas std::sort and std::all_of. Instead of relying on these\nbeing included transitively, include explicitly.","shortMessageHtmlLink":"include <algorithm> explicitly in files that use it"}},{"before":"1f6157c673af03b1bbfd19c806a5fdbcb486d119","after":"6c6b9807fd60a4598960c16f0033c03e461cf171","ref":"refs/heads/master","pushedAt":"2024-04-22T16:01:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jordalgo","name":"Jordan Rome","path":"/jordalgo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1537292?s=80&v=4"},"commit":{"message":"createFunctionDebugInfo: only pass one param (#3133)\n\nAs reported here: https://github.com/bpftrace/bpftrace/issues/3131\r\n\r\ncreateParameterVariable accepts params starting at 1;\r\nadditionally we don't need to pass the return type\r\nto this function.\r\n\r\nCo-authored-by: Jordan Rome ","shortMessageHtmlLink":"createFunctionDebugInfo: only pass one param (#3133)"}},{"before":"2716fb7719bef83bf704cee125b42bfb37819ab0","after":"1f6157c673af03b1bbfd19c806a5fdbcb486d119","ref":"refs/heads/master","pushedAt":"2024-04-19T10:37:08.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"ajor","name":"Alastair Robertson","path":"/ajor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1007446?s=80&v=4"},"commit":{"message":"Unit tests: Validate [ku]probe multi attach function lists","shortMessageHtmlLink":"Unit tests: Validate [ku]probe multi attach function lists"}},{"before":"b5db2533385bf6ea6274218b9be92dcbf0cf4f53","after":"2716fb7719bef83bf704cee125b42bfb37819ab0","ref":"refs/heads/master","pushedAt":"2024-04-18T16:53:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ajor","name":"Alastair Robertson","path":"/ajor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1007446?s=80&v=4"},"commit":{"message":"transform codegen test \"struct_semicolon\" into a Parser unit test","shortMessageHtmlLink":"transform codegen test \"struct_semicolon\" into a Parser unit test"}},{"before":"842fa60fd41cadf9d2c469ed0e8e03160fff70fd","after":"b5db2533385bf6ea6274218b9be92dcbf0cf4f53","ref":"refs/heads/master","pushedAt":"2024-04-18T14:34:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jordalgo","name":"Jordan Rome","path":"/jordalgo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1537292?s=80&v=4"},"commit":{"message":"Add nr_stack_frames to stack key (#3113)\n\nThis will decrease the chances of collision because even\r\nif two stacks of different sizes hash to the same id, if\r\nthey are of different sizes the stack key will be different.\r\nSo now two stacks of the same size will have have to hash\r\nto the same id for there to be a collision.\r\n\r\nThis also has the small benefit of being able to use the this\r\nnumber when iterating over the stack in userspace.\r\n\r\nCo-authored-by: Jordan Rome ","shortMessageHtmlLink":"Add nr_stack_frames to stack key (#3113)"}},{"before":"b3a6d9a28f63ec0146d49fe4f68d6d5c2b5d96fe","after":"842fa60fd41cadf9d2c469ed0e8e03160fff70fd","ref":"refs/heads/master","pushedAt":"2024-04-18T13:48:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jordalgo","name":"Jordan Rome","path":"/jordalgo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1537292?s=80&v=4"},"commit":{"message":"Allow more than one call to len() (#3120)\n\nSpecifically from different probes.\r\nThe issue here is the duplicated, unused subprog\r\nin the probe text section.\r\n\r\nIssue: https://github.com/bpftrace/bpftrace/issues/3021\r\n\r\nThis is a temporary fix just for len().\r\n\r\nCo-authored-by: Jordan Rome ","shortMessageHtmlLink":"Allow more than one call to len() (#3120)"}},{"before":"5eed62904ece27dbf35aeb1614f2fbb1510a17c3","after":"b3a6d9a28f63ec0146d49fe4f68d6d5c2b5d96fe","ref":"refs/heads/master","pushedAt":"2024-04-16T14:41:22.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"ajor","name":"Alastair Robertson","path":"/ajor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1007446?s=80&v=4"},"commit":{"message":"Fix func builtin in kretprobes and uretprobes\n\nFor ret probes, the IP register will not be pointing to the function we\nwant to trace. It may point to a kernel trampoline, or it may point to\nthe caller of the traced function, as it fires after the \"ret\"\ninstruction has executed.\n\nSwitch to using the get_func_ip BPF helper in [ku]retprobes.\n\nDisable func in [ku]retprobes when this helper is not available, as it\npreviously returned incorrect results.","shortMessageHtmlLink":"Fix func builtin in kretprobes and uretprobes"}},{"before":"45b8c8c2e401197509063dfbec2655136298e2dd","after":"5eed62904ece27dbf35aeb1614f2fbb1510a17c3","ref":"refs/heads/master","pushedAt":"2024-04-16T13:51:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ajor","name":"Alastair Robertson","path":"/ajor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1007446?s=80&v=4"},"commit":{"message":"Runtime tests: Allow multiline PROGs and EXPECTs\n\nThe previous options had some downsides:\n- Define the program/expected results in an external file:\n Out-of-line definitions add barriers to quickly understanding tests and to\n adding new tests\n- Use EXPECT_REGEX:\n Hard to read due to escape characters and being squashed onto a single line\n- Use multiple EXPECTs:\n Do not enforce ordering of output lines","shortMessageHtmlLink":"Runtime tests: Allow multiline PROGs and EXPECTs"}},{"before":"d49a77db4a936a6e0a2a7aeae9e48615574d6e51","after":"45b8c8c2e401197509063dfbec2655136298e2dd","ref":"refs/heads/master","pushedAt":"2024-04-16T11:14:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jordalgo","name":"Jordan Rome","path":"/jordalgo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1537292?s=80&v=4"},"commit":{"message":"probe listing: fix help and adoc (#3119)\n\nSpecify that the positional param can be\r\na search or a filename.\r\n\r\nCo-authored-by: Jordan Rome ","shortMessageHtmlLink":"probe listing: fix help and adoc (#3119)"}},{"before":"e8bbee4d4319ea6bc3ce2cc633b15591459ad45b","after":"d49a77db4a936a6e0a2a7aeae9e48615574d6e51","ref":"refs/heads/master","pushedAt":"2024-04-16T11:04:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"viktormalik","name":"Viktor Malík","path":"/viktormalik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7603704?s=80&v=4"},"commit":{"message":"Cleanup: Don't call probetypeName() explicitly\n\nIt is only used for logging, where operator<< is also available for\nformatting ProbeType. Better to standardise on one formatting method\nrather than splitting the codebase across two.\n\nNo functional change.","shortMessageHtmlLink":"Cleanup: Don't call probetypeName() explicitly"}},{"before":"bcbb6a4a0ec04ec4ba8b58e66860d5fa0ec7c1dd","after":"e8bbee4d4319ea6bc3ce2cc633b15591459ad45b","ref":"refs/heads/master","pushedAt":"2024-04-14T10:39:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jordalgo","name":"Jordan Rome","path":"/jordalgo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1537292?s=80&v=4"},"commit":{"message":"[#3058] fix bpftrace -l test.bt (#3111)\n\n* [#3058] fix bpftrace -l test.bt\r\n\r\n* tests\r\n\r\n* removing 'errors on invalid character in search expression' test per @ajor's comment","shortMessageHtmlLink":"[#3058] fix bpftrace -l test.bt (#3111)"}},{"before":"8ac0a49fe9481221260147aa722b8e150f8560e6","after":"bcbb6a4a0ec04ec4ba8b58e66860d5fa0ec7c1dd","ref":"refs/heads/master","pushedAt":"2024-04-12T19:19:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ajor","name":"Alastair Robertson","path":"/ajor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1007446?s=80&v=4"},"commit":{"message":"Codegen: Fix variable scoping in for-loops\n\nVariable scoping is not just a semantics-issue with for-loops: since\nthey are implemented as BPF subprograms, it is essential that each\nfor-loop gets its own allocations for variables of the same name.\n\n BEGIN {\n @map[0] = 1;\n for ($kv : @map) { $var = 1; }\n for ($kv : @map) { $var = 1; }\n }\n\nPreviously, $var in the second for-loop would try to re-use the stack\nallocation of $var from the first, due to a lack of proper scoping. This\nmeant that the subprogram for the second loop ended up with no valid\nstack space in which to put $var, resulting in LLVM generating invalid\nIR and marking it as unreachable.\n\nWe should be able to get rid of this code once scoping is fixed (#3017).","shortMessageHtmlLink":"Codegen: Fix variable scoping in for-loops"}},{"before":"3b2cda69d4aeb0eb370225e8456f864a60ac9a1b","after":"8ac0a49fe9481221260147aa722b8e150f8560e6","ref":"refs/heads/master","pushedAt":"2024-04-12T10:37:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ajor","name":"Alastair Robertson","path":"/ajor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1007446?s=80&v=4"},"commit":{"message":"Semantic Analyser: Don't analyse for-loop's body when map is not defined\n\nThis script would previously crash bpftrace with a floating point exception:\n BEGIN { for ($kv : @map) { @map[$kv.0] } @map[0] = 1; }\n\nOn the first pass:\n- @map is undefined and so $kv.0 has type \"none\".\n- @map's key type is recorded as \"none\" in the loop body\n- @map's value type is then recorded as \"int\" outside the loop\n\nOn the second pass:\n- @map is defined, $kv's type will be set to \"(none, int)\"\n- Creating a tuple containing a \"none\" type results in arithmetic\n problems attempting to calculate padding\n\nResolve the issue by simply not analysing a loop's body until the map is\nfully defined. This slightly changes the ordering of some error\nmessages, but results in no other changes.\n\nWith the plans to split type propagation out of SemanticAnalyser, the\nfuture logic will be similar to this new behaviour, in that we won't\nanalyse code until types are fully defined.","shortMessageHtmlLink":"Semantic Analyser: Don't analyse for-loop's body when map is not defined"}},{"before":"fb1dd3acba2b1f1bb1f33ab375839efde556cdcb","after":"3b2cda69d4aeb0eb370225e8456f864a60ac9a1b","ref":"refs/heads/master","pushedAt":"2024-04-08T15:01:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jordalgo","name":"Jordan Rome","path":"/jordalgo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1537292?s=80&v=4"},"commit":{"message":"Replace 'bpf_get_stackid' (#3060)\n\nThe native `bpf_get_stackid` function is broken by design.\r\n\r\nFirst, stacks can suffer from hash collisions and we can lose stacks.\r\nWe receive collision errors in userspace b/c we do not set\r\nBPF_F_REUSE_STACKID.\r\n\r\nSecond, there is not a great way to reduce the frequency of collision\r\n(other than increasing map size) b/c multiple probes can be sharing\r\nthe same stack (remember they are hashed). As a result, we cannot\r\ndelete entries in this map b/c we don't know when all the sharers\r\nare gone.\r\n\r\nThis diff implements our own get_stack_id function utilizing the\r\nquick hash function murmurhash2:\r\nhttps://github.com/aappleby/smhasher/blob/92cf3702fcfaadc84eb7bef59825a23e0cd84f56/src/MurmurHash2.cpp\r\n\r\nThis involves:\r\n- creating a scratch map (the stack is too large as a stack var)\r\n- calling `bpf_get_stack` to populate the stack\r\n- calling `murmur_hash_2_func_` to get the stack id\r\n- storing the stackid and stack as a key/value in a hash map\r\n\r\nMore details:\r\nhttps://github.com/bpftrace/bpftrace/issues/2962\r\n\r\nCo-authored-by: Jordan Rome ","shortMessageHtmlLink":"Replace 'bpf_get_stackid' (#3060)"}},{"before":"7a9884b96d49b3cb9af28803bc534f21547b4f1f","after":"fb1dd3acba2b1f1bb1f33ab375839efde556cdcb","ref":"refs/heads/master","pushedAt":"2024-04-08T12:23:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ajor","name":"Alastair Robertson","path":"/ajor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1007446?s=80&v=4"},"commit":{"message":"Report correct helper for error messages\n\nPreviously, the first helper in a script would always be reported as the\nissue, even if it was not the cause of the verifier error.\n\nThe logic has been wrapped in a function (maybe_throw_helper_verifier_error)\nto allow it to be reused for other helper errors in the future.","shortMessageHtmlLink":"Report correct helper for error messages"}},{"before":"9ef8cb42a941a97e1277f38aad5fad93a42404bd","after":"7a9884b96d49b3cb9af28803bc534f21547b4f1f","ref":"refs/heads/master","pushedAt":"2024-04-05T16:36:39.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ajor","name":"Alastair Robertson","path":"/ajor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1007446?s=80&v=4"},"commit":{"message":"Docs: Refer to \"threads\" and \"processes\" instead of \"tasks\"","shortMessageHtmlLink":"Docs: Refer to \"threads\" and \"processes\" instead of \"tasks\""}},{"before":"51a934a594814ed63590ac5ad3613b117f1bf050","after":"9ef8cb42a941a97e1277f38aad5fad93a42404bd","ref":"refs/heads/master","pushedAt":"2024-04-04T15:54:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"danobi","name":"Daniel Xu","path":"/danobi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/824615?s=80&v=4"},"commit":{"message":"tests: runtime: Fix ustack tests probing k:do_nanosleep\n\nk:do_nanosleep may not always have an associated userspace task.\nMake tests more reliable by probing an existing userspace task.","shortMessageHtmlLink":"tests: runtime: Fix ustack tests probing k:do_nanosleep"}},{"before":"9a1d2d4a82b465c6487d6cdca5d5e548308befdc","after":"51a934a594814ed63590ac5ad3613b117f1bf050","ref":"refs/heads/master","pushedAt":"2024-04-03T14:38:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ajor","name":"Alastair Robertson","path":"/ajor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1007446?s=80&v=4"},"commit":{"message":"Parse DebugInfo with LLDB","shortMessageHtmlLink":"Parse DebugInfo with LLDB"}},{"before":"483b038be9becb29fee92cb61e622fc6c72839b8","after":"9a1d2d4a82b465c6487d6cdca5d5e548308befdc","ref":"refs/heads/master","pushedAt":"2024-04-02T12:03:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"viktormalik","name":"Viktor Malík","path":"/viktormalik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7603704?s=80&v=4"},"commit":{"message":"Replace std::runtime_error with LOG(FATAL)\n\nThere are still some cases where std::runtime_errors\nare thrown but I didn't change them because either:\n- the linter got angry because the function wasn't\nreturning a value\n- the throw/catching behavior wasn't obvious enough\nthat I felt comfortable changing it here (e.g. child.cpp)","shortMessageHtmlLink":"Replace std::runtime_error with LOG(FATAL)"}},{"before":"cf404154a06709efcd98171ed5700e3103555136","after":"483b038be9becb29fee92cb61e622fc6c72839b8","ref":"refs/heads/master","pushedAt":"2024-04-01T17:30:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"danobi","name":"Daniel Xu","path":"/danobi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/824615?s=80&v=4"},"commit":{"message":"Reproducible Builds: Do not store timestamps in gzip header (#3096)\n\nWhen trying to reproduce the binary package from source on [reproducible.archlinux.org](https://reproducible.archlinux.org/) we noticed the man pages record the current time, causing a mismatch:\r\n\r\n```\r\n--- /tmp/rebuilderdInk8BR/inputs/bpftrace-0.20.3-1-x86_64.pkg.tar.zst\r\n+++ /tmp/rebuilderdInk8BR/out/bpftrace-0.20.3-1-x86_64.pkg.tar.zst\r\n├── bpftrace-0.20.3-1-x86_64.pkg.tar\r\n│ ├── .MTREE\r\n│ │ ├── .MTREE-content\r\n│ │ │ @@ -96,15 +96,15 @@\r\n│ │ │ ./usr/share/man time=1711510112.0 mode=755 type=dir\r\n│ │ │ ./usr/share/man/man8 time=1711510112.0 mode=755 type=dir\r\n│ │ │ ./usr/share/man/man8/bashreadline.bt.8.gz time=1711510112.0 size=771 sha256digest=a6755205892df70430168305067df14278219769a9afa4ba79dbaab5f76b3741\r\n│ │ │ ./usr/share/man/man8/biolatency.bt.8.gz time=1711510112.0 size=1091 sha256digest=785de0d46eebf4c5bec10772de135b027aa7b34831e6823c09b817ec605d50c0\r\n│ │ │ ./usr/share/man/man8/biosnoop.bt.8.gz time=1711510112.0 size=970 sha256digest=2e1d8d039a5e3a9c04f34575f2286a0fe66c59f92ad13e610939c0b6bc67cb49\r\n│ │ │ ./usr/share/man/man8/biostacks.bt.8.gz time=1711510112.0 size=1091 sha256digest=e917f8fe907c0f1463f58e55b39ac55977214fff04faa20c700c84e763e8d05c\r\n│ │ │ ./usr/share/man/man8/bitesize.bt.8.gz time=1711510112.0 size=862 sha256digest=fe9b9eb34f1b9f77fa7ff519a4b535ad951ca0929496eaf754fba8c46c90b707\r\n│ │ │ -./usr/share/man/man8/bpftrace.8.gz time=1711510112.0 size=24699 sha256digest=d42120da7b61ec927d74de80c275146c32fb8fa9004a910811f8088b4bdabb97\r\n│ │ │ +./usr/share/man/man8/bpftrace.8.gz time=1711510112.0 size=24699 sha256digest=a9cbf0fc1ed14ee922828323aca662d829e1dbf43e2a9bc42e11c8c2dadc0b4f\r\n│ │ │ ./usr/share/man/man8/capable.bt.8.gz time=1711510112.0 size=821 sha256digest=9c8af79b2a6e8cdb2548c84be12a50518409af27216faaa0bfab3b33d1c401c6\r\n│ │ │ ./usr/share/man/man8/cpuwalk.bt.8.gz time=1711510112.0 size=754 sha256digest=d47b9d9e0c54d5eec3e541d4514aec8413bbc92f2e7174f0aa87b246443c0bec\r\n│ │ │ ./usr/share/man/man8/dcsnoop.bt.8.gz time=1711510112.0 size=1110 sha256digest=391d73dab99f8ea6dfe80a24914c148b299d5e6e6c52ed1867e9cf915af8a679\r\n│ │ │ ./usr/share/man/man8/execsnoop.bt.8.gz time=1711510112.0 size=1036 sha256digest=8c4b84d4d36d95b67d9649a456518823451751f2d7f0c0b743ed787fc84f9910\r\n│ │ │ ./usr/share/man/man8/gethostlatency.bt.8.gz time=1711510112.0 size=938 sha256digest=74d33fc1aac56a1f462e1b4a576c32d2ac767be5adda2c1ab41e5a264b32a763\r\n│ │ │ ./usr/share/man/man8/killsnoop.bt.8.gz time=1711510112.0 size=909 sha256digest=4861a81e58e396bc56a6f1a3e78173ab104a28a6c6549a7e1bf7119a2cc23569\r\n│ │ │ ./usr/share/man/man8/loads.bt.8.gz time=1711510112.0 size=1102 sha256digest=aecbb1d61177de9deca7bb4e59e753831069c6589cf1e4905f5f1f7976d29c00\r\n│ ├── usr/share/man/man8/bpftrace.8.gz\r\n│ │ ├── filetype from file(1)\r\n│ │ │ @@ -1 +1 @@\r\n│ │ │ -gzip compressed data, was \"bpftrace.8\", last modified: Wed Mar 27 03:29:32 2024, from Unix\r\n│ │ │ +gzip compressed data, was \"bpftrace.8\", last modified: Wed Mar 27 03:37:03 2024, from Unix\r\n```\r\n\r\nUsing the `gzip -n` switch disables this feature, making the man pages reproducible.","shortMessageHtmlLink":"Reproducible Builds: Do not store timestamps in gzip header (#3096)"}},{"before":"e02e8fdbd270fd5dd8c592bf6408e88ff974fc93","after":"cf404154a06709efcd98171ed5700e3103555136","ref":"refs/heads/master","pushedAt":"2024-03-28T16:26:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"danobi","name":"Daniel Xu","path":"/danobi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/824615?s=80&v=4"},"commit":{"message":"Remove some dead functions\n\n'extract_func_symbols_from_path' isn't being called\nand by extension neither is 'add_symbol'","shortMessageHtmlLink":"Remove some dead functions"}},{"before":"7770669d1d44df9f2373ac720ee7e299d500abd8","after":"e02e8fdbd270fd5dd8c592bf6408e88ff974fc93","ref":"refs/heads/master","pushedAt":"2024-03-28T05:44:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"viktormalik","name":"Viktor Malík","path":"/viktormalik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7603704?s=80&v=4"},"commit":{"message":"vagrant: Delete vagrant build\n\nAs discussed in #3087, there is not much value left in supporting\nvagrant. At least at time of writing, vagrant doesn't work on macbooks\nanymore which was the original intended use case.","shortMessageHtmlLink":"vagrant: Delete vagrant build"}},{"before":"7cc0022455b075905ca57b85e407bd3cfcb93959","after":null,"ref":"refs/heads/v0.17.1_release","pushedAt":"2024-03-26T19:25:53.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"danobi","name":"Daniel Xu","path":"/danobi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/824615?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEPeCuYAA","startCursor":null,"endCursor":null}},"title":"Activity · bpftrace/bpftrace"}