{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":453002319,"defaultBranch":"master","name":"rr","ownerLogin":"theIDinside","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2022-01-28T09:05:13.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/25328813?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1721518628.0","currentOid":""},"activityList":{"items":[{"before":"367101291e50c157b21181b8fa30cbd98c18495f","after":"ed7474f0a4593d5437442b4d7257142f1a389518","ref":"refs/heads/pcp-rebase-2024/06/20-squashed","pushedAt":"2024-08-03T22:24:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Fixed signed overflow","shortMessageHtmlLink":"Fixed signed overflow"}},{"before":"4adec90409b634ab26a0c1b387e0b7274a42b0e2","after":"367101291e50c157b21181b8fa30cbd98c18495f","ref":"refs/heads/pcp-rebase-2024/06/20-squashed","pushedAt":"2024-08-03T22:14:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Fixed pread-related bug\n\npread may or may not read the requested size. This was not\ntaken into account for. If the data is large,\nwe probably can't read it, in one go.","shortMessageHtmlLink":"Fixed pread-related bug"}},{"before":null,"after":"c841941d2036020de5ffee267a2fce2c529ccc45","ref":"refs/heads/save-as","pushedAt":"2024-07-20T23:37:08.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Add `--save-as` param to record\n\n`--save-as` specifies the trace dir name (basename?), not the full path.\n\nMerged `output_trace_dir` in RecordFlags with `name` into new type `TraceOutputPath`.\n\nChanged all usage of `output_trace_dir` string to use this type instead.\n\nThis PR is backwards compatible, in the sense that the old usage\nof the `-o` flag remains the same, if `--save-as` is not provided, i.e.,\nwill error out, if dir exists etc. If `--save-as` is provided together\nwith `-o` the new behavior will happen instead, where the output dir\nwill be the \"root dir\", thus, the user can save many traces there.\n\nIf only `--save-as` is provided, record uses normal behavior, of setting\nthe trace root dir to $RR_TRACE_DIR (or it's user provided env var).\n\nNaming of user provided dirs, follows old behavior, i.e. appending -0,\n-1, -2 etc to the trace dir. I think this is preferable - if some\nautomated thing is recording something with a specific name provided,\nthis makes it so the end user don't have to manage the file system (i.e.\nchecking if that name is \"taken\" and having to do clean up before\nrecording, etc.)\n\nAdded test cases","shortMessageHtmlLink":"Add --save-as param to record"}},{"before":"7bc19b36fe593fdf65e739db1ff7dc901f58edbf","after":"00efaa3e7f84e8e68948fbbb841759cac134c779","ref":"refs/heads/name-recordings","pushedAt":"2024-07-20T23:29:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Add `--save-as` param to record\n\n`--save-as` specifies the trace dir name (basename?), not the full path.\n\nMerged `output_trace_dir` in RecordFlags with `name` into new type `TraceOutputPath`.\n\nChanged all usage of `output_trace_dir` string to use this type instead.\n\nThis PR is backwards compatible, in the sense that the old usage\nof the `-o` flag remains the same, if `--save-as` is not provided, i.e.,\nwill error out, if dir exists etc. If `--save-as` is provided together\nwith `-o` the new behavior will happen instead, where the output dir\nwill be the \"root dir\", thus, the user can save many traces there.\n\nIf only `--save-as` is provided, record uses normal behavior, of setting\nthe trace root dir to $RR_TRACE_DIR (or it's user provided env var).\n\nNaming of user provided dirs, follows old behavior, i.e. appending -0,\n-1, -2 etc to the trace dir. I think this is preferable - if some\nautomated thing is recording something with a specific name provided,\nthis makes it so the end user don't have to manage the file system (i.e.\nchecking if that name is \"taken\" and having to do clean up before\nrecording, etc.)","shortMessageHtmlLink":"Add --save-as param to record"}},{"before":"00efaa3e7f84e8e68948fbbb841759cac134c779","after":"7bc19b36fe593fdf65e739db1ff7dc901f58edbf","ref":"refs/heads/name-recordings","pushedAt":"2024-07-20T22:25:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Added test cases","shortMessageHtmlLink":"Added test cases"}},{"before":null,"after":"7bc19b36fe593fdf65e739db1ff7dc901f58edbf","ref":"refs/heads/name-recordings-update","pushedAt":"2024-07-20T22:23:57.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Added test cases","shortMessageHtmlLink":"Added test cases"}},{"before":null,"after":"00efaa3e7f84e8e68948fbbb841759cac134c779","ref":"refs/heads/name-recordings-rebased","pushedAt":"2024-07-20T22:15:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Add `--save-as` param to record\n\n`--save-as` specifies the trace dir name (basename?), not the full path.\n\nMerged `output_trace_dir` in RecordFlags with `name` into new type `TraceOutputPath`.\n\nChanged all usage of `output_trace_dir` string to use this type instead.\n\nThis PR is backwards compatible, in the sense that the old usage\nof the `-o` flag remains the same, if `--save-as` is not provided, i.e.,\nwill error out, if dir exists etc. If `--save-as` is provided together\nwith `-o` the new behavior will happen instead, where the output dir\nwill be the \"root dir\", thus, the user can save many traces there.\n\nIf only `--save-as` is provided, record uses normal behavior, of setting\nthe trace root dir to $RR_TRACE_DIR (or it's user provided env var).\n\nNaming of user provided dirs, follows old behavior, i.e. appending -0,\n-1, -2 etc to the trace dir. I think this is preferable - if some\nautomated thing is recording something with a specific name provided,\nthis makes it so the end user don't have to manage the file system (i.e.\nchecking if that name is \"taken\" and having to do clean up before\nrecording, etc.)","shortMessageHtmlLink":"Add --save-as param to record"}},{"before":null,"after":"7bc19b36fe593fdf65e739db1ff7dc901f58edbf","ref":"refs/heads/name-recordings-rebase-2024-07-20","pushedAt":"2024-07-20T22:09:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Added test cases","shortMessageHtmlLink":"Added test cases"}},{"before":"162817514404197bf859e84ed9f5882b5436fdef","after":"556551e4f69830fd99db475f8d20a9ae5bd5b2c4","ref":"refs/heads/master","pushedAt":"2024-07-20T21:08:45.000Z","pushType":"push","commitsCount":18,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Test return value of `write` to avoid errors/warnings","shortMessageHtmlLink":"Test return value of write to avoid errors/warnings"}},{"before":"56cc86cc63e2997c840b6bd09c679122d98b1248","after":"b19491828d13178ec5e2b2cf42b0bda8d82fdcfa","ref":"refs/heads/dynamic-target-descriptions","pushedAt":"2024-07-15T17:33:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Fix formatting issues","shortMessageHtmlLink":"Fix formatting issues"}},{"before":"c276f0e1a6b1e679d904351d4cf8aa66f1b6eb70","after":"56cc86cc63e2997c840b6bd09c679122d98b1248","ref":"refs/heads/dynamic-target-descriptions","pushedAt":"2024-07-11T17:38:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Actually provide aarch64-fpu.xml to gdb\n\nI don't even know how we have sent this before or why this hasn't been a bug prior to this.","shortMessageHtmlLink":"Actually provide aarch64-fpu.xml to gdb"}},{"before":"a571187f94b4bab39666fc3f7085e86268b52849","after":"c276f0e1a6b1e679d904351d4cf8aa66f1b6eb70","ref":"refs/heads/dynamic-target-descriptions","pushedAt":"2024-07-11T12:04:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Added dynamic `TargetDescription`\n\nTargetDescription dynamically generates the \"master\" target description\ncontents (target.xml), so that we only have to manage the individual\nconcrete CPU features (like foo-sse.xml, for instance). TargetDescription\nwill generate the xml contents that includes the used features.\n\nRemoved combinatorial target.xml files\n\nThese are now handled by `TargetDescription` instead.\n\nThis unblocks the #3776 PR (AVX512 support) from getting pulled in,\nthough that PR will need to take this PR into account.","shortMessageHtmlLink":"Added dynamic TargetDescription"}},{"before":null,"after":"a571187f94b4bab39666fc3f7085e86268b52849","ref":"refs/heads/dynamic-target-descriptions","pushedAt":"2024-07-11T11:52:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Added dynamic `TargetDescription`\n\nTargetDescription dynamically generates the \"master\" target description\ncontents (target.xml), so that we only have to manage the individual\nconcrete CPU features (like foo-sse.xml, for instance). TargetDescription\nwill generate the xml contents that includes the used features.\n\nRemoved combinatorial target.xml files\n\nThese are now handled by `TargetDescription` instead.\n\nThis unblocks the #3776 PR (AVX512 support) from getting pulled in,\nthough that PR will need to take this PR into account.","shortMessageHtmlLink":"Added dynamic TargetDescription"}},{"before":"e55907c78a1ce1b0c055032f98e76a32e477e4f8","after":"23fcaef6e97a15775db643210c9fda42fe8ab23d","ref":"refs/heads/avx512-patch-pr","pushedAt":"2024-07-03T15:11:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Bug fix\n\nAVX512F support always returned true due to using -mavx512f as flag instead of -march=native to `try_compile`","shortMessageHtmlLink":"Bug fix"}},{"before":null,"after":"e55907c78a1ce1b0c055032f98e76a32e477e4f8","ref":"refs/heads/avx512-patch-pr","pushedAt":"2024-07-03T14:57:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Initial AVX512 Support\n\nCMake Changes:\nAdded the AVX512F_SUPPORT flag to CMake. Set by checking\nif system supports AVX512F. If it doesn't it will not build (and therefore run) any of the AVX512 tests\n\nAdded the target descriptions. Assumed that PKRU support also implies AVX512 support as I could find no information that said otherwise.\n\nAdded gdb_avx512 test - sets 3 ZMM registers and reads them back in a gdb session of a replay to verify the contents.\n\nWe place mask registers K0-K7 after ZMM31H internally, because this simplifies the logic that parses the XSAVE area. The target description we provide, takes this into account (and also places them last) so they come after the ZMM registers in the 'g' packet. GDB doesn't care so long as we do what we say in the target desc\n\nChanged test harness util.sh to also export TESTNAME variable as we may (I do at least) want to query from the python script what mode we are running in (64-bit/32-bit). See gdb_avx512.py for further info.","shortMessageHtmlLink":"Initial AVX512 Support"}},{"before":"2477f5501e8e7769c647fd97533184149466f606","after":"08c113f5fa25352f723f407fa8d2a42ab4e0d5b0","ref":"refs/heads/avx512-patch","pushedAt":"2024-07-02T08:51:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Provide AVX512 target description\n\nWIP","shortMessageHtmlLink":"Provide AVX512 target description"}},{"before":"c50b9b6c1db1cc6e179ba6d9cc8f4d995a866135","after":"2477f5501e8e7769c647fd97533184149466f606","ref":"refs/heads/avx512-patch","pushedAt":"2024-07-01T11:20:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Provide AVX512 target description\n\nWIP","shortMessageHtmlLink":"Provide AVX512 target description"}},{"before":"c7324bd207b49dfec8d5cf5cee18e7c9e849b891","after":"c50b9b6c1db1cc6e179ba6d9cc8f4d995a866135","ref":"refs/heads/avx512-patch","pushedAt":"2024-06-28T12:42:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Provide AVX512 target description","shortMessageHtmlLink":"Provide AVX512 target description"}},{"before":"3a097438dcfac19c65f457350828a75edba26930","after":"c7324bd207b49dfec8d5cf5cee18e7c9e849b891","ref":"refs/heads/avx512-patch","pushedAt":"2024-06-28T11:42:01.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Provide AVX512 target description","shortMessageHtmlLink":"Provide AVX512 target description"}},{"before":"ea97783aae10f7646aacea71fa090b71c72f94f3","after":"3a097438dcfac19c65f457350828a75edba26930","ref":"refs/heads/avx512-patch","pushedAt":"2024-06-28T11:23:40.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Provide AVX512 target description","shortMessageHtmlLink":"Provide AVX512 target description"}},{"before":"025a20a1e21908a9d81817900de68aa42d56dc2b","after":"ea97783aae10f7646aacea71fa090b71c72f94f3","ref":"refs/heads/avx512-patch","pushedAt":"2024-06-28T11:22:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Provide AVX512 target description","shortMessageHtmlLink":"Provide AVX512 target description"}},{"before":null,"after":"025a20a1e21908a9d81817900de68aa42d56dc2b","ref":"refs/heads/avx512-patch","pushedAt":"2024-06-28T11:15:18.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Provide AVX512 target description","shortMessageHtmlLink":"Provide AVX512 target description"}},{"before":null,"after":"4adec90409b634ab26a0c1b387e0b7274a42b0e2","ref":"refs/heads/pcp-rebase-2024/06/20-squashed","pushedAt":"2024-06-21T12:34:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Functionality that will be shared, moved from TraceStream.cc\n\n- Moved into util.cc\n- Added forward_to to skip trace data to some arbitrary point in time\n\nGetters required to expose data\n\nWe need to be able to expose this data so it can\nbe serialized.\n\nFind original exe for ReplayTask\n\nDigs out original executable image that this task was forked\nfrom, or in the case of exec, exec'd on.\n\nThis is required for persistent checkpointing, so that the names in the\nproc fs corresponds to a correct name at replay time (i.e. has the same\nbehavior/looks the same in proc fs as a normal replay). The thread name is\nnot what should be showing up in /proc/tid/comm, but the actual\nexecutable. So we need to be able to find this \"original exe\" of the\ntask.\n\nCheck if Event is checkpointable\n\nRequired for the create checkpoints command, etc. to determine what\nevents in the trace are checkpointable, when not having a live session.\n\nIn future commits/PRs, remove the static function in ReplaySession.cc`\nthat does the same thing and use this member function on Event instead.\n\nAdditional proc fs query paths\n\nGets additional proc fs paths for a task, in this case\n/mem. Required for persistent checkpointing to figure out\non how to handle mappings and what to serialize (and what not to\nserialize).\n\nLifted CloneCompletion out of Session\n\nThe function extract_name will also be required for setting up syscall\nbuffer stuff in coming commits.\n\nGetters/setters required for PCP\n\nNeed to be able to set this data when restoring an address space.\n\nPersistent checkpointing\n\nAdded persistent checkpoint schema for capnproto rr_pcp.capnp,\nas well a compile command for it in CMakeLists.txt, that works like\nthe other one (rr_trace.capnp)\n\nCheckpointInfo and MarkData types works as intermediaries between a\nserialized checkpoint and a deserialized \"live\" one. MarkData is used for\ncopying the contents of Mark, InternalMark, ProtoMark and it's various\ndata into, for serialization as well when deserializing, to reconstruct\nthose types.\n\nThe reasoning for adding MarkData is to not intrude in Mark/InternalMark/ProtoMark\ninterface and possibly break some guarantees or invariants they provide.\nIf something goes wrong now, it's constrained only to persistent\ncheckpointing not reconstituting a session properly.\n\nGDB spawned by RR now has 2 additional commands, write-checkpoints, which\nserializes any checkpoints set by the `checkpoint` command and\nload-checkpoints.\n\nAdded the rr create-checkpoints command which create persistent checkpoints\non a specified interval, which it attempts to honor as closely as possible.\n\nRerunCommand and ReplayCommand are now aware of PCPs.\n\nReplay sessions get spawned from persistent checkpoints if they\nexist on disk when using `-g ` or when using `-f ` and that\n\"task\" was created some time after a persistent checkpoint.\n\nAdded the --ignore-pcp flag to these commands, which ignores pcps\nand spawns sessions normally.\n\nfixup for can_checkpoint_at\n\nRestored comments, that existed in static function in ReplaySession.cc\nChange all use of this to Event::can_checkpoint_at\nRemoved static can_checkpoint_at in ReplaySession.cc\n\nFix preferred include & unnecessary check for partial init\n\nSince checkpoints are partially initialized, checking that they are is pointless.\n\nAdded cmake command looping over trace files per request by @khuey\n\nremove init check of member variables.\n\nMove extract_name from Session into util.h.\n\nRemoved stream_util, moved contents to util.h\n\nmake ignore-pcp not take up '-i'\n\nMoved responsibility of de/ser into FdTable and FileMonitor\n\nDeserializing and serializing an FdTable is now performed by the class itself instead of in a free function\n\nFileMonitor has a public member function that is used for serialization.\nEach derived type that requires special/additional logic, extends\nthe virtual member function serialize_type.\n\nRemove skipMonitoringMappedFd\n\nnot necessary for serialization, as FdTable is separately restored.\n\nRefactor task OS-name setting\n\nTask::copy_state sets the OS name of a task in the same fashion that\npersistent checkpointing sets name. Refactored this functionality into\nTask::set_name.\n\nAlso removed the unnecessary `update_prname` from Task::copy_state.\n\nupdate_prname is not a \"write to tracee\"-operation but a \"read from tracee\"-operation; and since\nwe already know what name we want to set Task::prname to, we skip this reading from the tracee\nin Task::copy_state and just set it to the parameter passed in to Task::set_name\n\nAdd const qualifier\n\nFixes #3678\n\nRefactor so that marks_with_checkpoints is just changed in one place, not arbitrarily access it. Ref counts had the same changes in a previous commit.\n\nFixes a bug for loaded persistent checkpoints where the re-created checkpoints did not get their reference counting correct.\n\nThis closes #3678\n\nChanges required to rebase","shortMessageHtmlLink":"Functionality that will be shared, moved from TraceStream.cc"}},{"before":"c52e2395b116b6e53e308d81cacde931594d332a","after":"162817514404197bf859e84ed9f5882b5436fdef","ref":"refs/heads/master","pushedAt":"2024-06-18T11:46:53.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Don't crash on invalid checkpoint numbers\n\nResolves #3764","shortMessageHtmlLink":"Don't crash on invalid checkpoint numbers"}},{"before":null,"after":"1a12ee23c7ff14d343f929564db77099762f858e","ref":"refs/heads/impl-thread-events","pushedAt":"2024-06-09T09:57:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"wip","shortMessageHtmlLink":"wip"}},{"before":"785d92659a820b97d0976b6c3771d90f14f86686","after":"c52e2395b116b6e53e308d81cacde931594d332a","ref":"refs/heads/master","pushedAt":"2024-06-07T19:18:06.000Z","pushType":"push","commitsCount":185,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Rename `gdb_(un)escape` to `hex_(un)escape`","shortMessageHtmlLink":"Rename gdb_(un)escape to hex_(un)escape"}},{"before":"b29ff5784922516d64d3a5ab3aff5cb65d8a6678","after":"f1d5e900e6d5da39452c387a0a00ef73af894aff","ref":"refs/heads/pcp-pr","pushedAt":"2024-01-15T10:11:35.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Fixes #3678\n\nRefactor so that marks_with_checkpoints is just changed in one place, not arbitrarily access it. Ref counts had the same changes in a previous commit.\n\nFixes a bug for loaded persistent checkpoints where the re-created checkpoints did not get their reference counting correct.\n\nThis closes #3678","shortMessageHtmlLink":"Fixes rr-debugger#3678"}},{"before":"a35157318ba7b05621f1f85c0892b0ddd0764853","after":"785d92659a820b97d0976b6c3771d90f14f86686","ref":"refs/heads/master","pushedAt":"2024-01-10T11:02:23.000Z","pushType":"push","commitsCount":44,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Check for competed mprotect records correctly\n\nThe key issue is that we were checking `i` against `completed_count`; the latter includes any skipped records, but `i` did not.\n\nResolves #3675","shortMessageHtmlLink":"Check for competed mprotect records correctly"}},{"before":"625eb27d37d8e3080cbf38ef17e6418f238543ca","after":"a35157318ba7b05621f1f85c0892b0ddd0764853","ref":"refs/heads/master","pushedAt":"2023-12-21T09:51:02.000Z","pushType":"push","commitsCount":43,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Don't allow MAP_FIXED_NOREPLACE mappings to be randomized in chaos mode.\n\nFixes #3669","shortMessageHtmlLink":"Don't allow MAP_FIXED_NOREPLACE mappings to be randomized in chaos mode."}},{"before":"abd7aba18d42dc422145c6d7e69b01d2f4357a38","after":"625eb27d37d8e3080cbf38ef17e6418f238543ca","ref":"refs/heads/master","pushedAt":"2023-11-04T12:15:45.000Z","pushType":"push","commitsCount":18,"pusher":{"login":"theIDinside","name":"Simon Farre","path":"/theIDinside","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25328813?s=80&v=4"},"commit":{"message":"Log more data when we hit this assertion","shortMessageHtmlLink":"Log more data when we hit this assertion"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0wM1QyMjoyNDowNC4wMDAwMDBazwAAAASRCkba","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0wM1QyMjoyNDowNC4wMDAwMDBazwAAAASRCkba","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0xMS0wNFQxMjoxNTo0NS4wMDAwMDBazwAAAAOnU1jo"}},"title":"Activity ยท theIDinside/rr"}