{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":348501270,"defaultBranch":"cinder/3.10","name":"cinder","ownerLogin":"facebookincubator","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-03-16T21:50:16.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/19538647?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1719853577.0","currentOid":""},"activityList":{"items":[{"before":"a98c22620d6c0a8a319c097702eeaab7d94d6574","after":"f290b9e50524d0d864b246d475411cb9fee1ceaf","ref":"refs/heads/meta/3.12","pushedAt":"2024-09-13T20:20:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Attempt to init cinder *only* when cinderx is enabled\n\nSummary:\nbefore, a few upstream tests fail (presumably because the *attempt* to init cinder causes \"unexpected\" (from the upstream test POV) additional imports to be done sooner):\n\n```\nthird-party/python/3.12/facebook/bin/python3.12 -u -W default -bb -E -I -m test -m test -r -w -j 0 -u all,-audio,-gui,-network test_import test_threading test_site -v\n```\n\n{P1585526624}\n\nfix it by commenting out the call to try to init cinder in `site.py` by default, and enabling at build-time (by editing `site.py` in the install genrule) only when cinderx is enabled.\n\nnote that we should probably change it again in the future to use a constraint instead of a macro arg, but that would be part of a bigger refactor to introduce a cinderx constraint.\n\nReviewed By: christycylee, thereversiblewheel\n\nDifferential Revision: D62604340\n\nfbshipit-source-id: 118e11bdaddd2010c383c186d3ab5cdb7a741f76","shortMessageHtmlLink":"Attempt to init cinder *only* when cinderx is enabled"}},{"before":"99d94e300e5d7ddfbcfd1113aa5e8636b7fb6c77","after":"bc0d99f646821a57cb47191bdae31aba0877a07c","ref":"refs/heads/meta/3.10.cinder","pushedAt":"2024-09-11T17:38:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Move Cinder test support library from 3.10.cinder into CinderX\n\nSummary: This is needed by tests which will now run in 3.12 too.\n\nReviewed By: SonicField\n\nDifferential Revision: D61735436\n\nfbshipit-source-id: e9f1f5b59eef73d6b5e7f6baeaaad20435d6b358","shortMessageHtmlLink":"Move Cinder test support library from 3.10.cinder into CinderX"}},{"before":"a91cb3b470541299a8676ed4284a4c4e2cf7e1e2","after":"99d94e300e5d7ddfbcfd1113aa5e8636b7fb6c77","ref":"refs/heads/meta/3.10.cinder","pushedAt":"2024-09-09T18:42:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Don't package the _static shared library for 3.10.cinder or 3.12\n\nSummary:\nThis stopped being a \"proper\" Python extension in D59930492. The module\nnamed \"_static\" is now initialized by the _cinderx extension.\n\nThe build rule still exists though, so it will produce an ELF shared library\nthat gets packaged up into the 3.10.cinder and 3.12 Python installations. The\ntricky thing is that it can't be imported like other Python modules, it doesn't\nhave the prerequisite symbols. Trying to import it results in an opaque\n\"invalid ELF header\" error.\n\nRight now this works in 3.10.cinder because _cinderx will initialize the _static\nmodule first before it ever gets imported. So once the first `import _static`\nstatement is reached, it just gets fetched from `sys.modules`. However in 3.12\nthe module currently fails to initialize (T194028831) but the _cinderx\ninitialization silently continues on. Once the first `import _static` is\nreached, the runtime tries to load the packaged shared library and dies with the\nnon-obvious error.\n\nReviewed By: mpage\n\nDifferential Revision: D62300617\n\nfbshipit-source-id: 6b1b7fc6a975d584c145e047c111a1668e77e372","shortMessageHtmlLink":"Don't package the _static shared library for 3.10.cinder or 3.12"}},{"before":"527c0a30be7f3684107ffb69422f3a75edde9da1","after":"a98c22620d6c0a8a319c097702eeaab7d94d6574","ref":"refs/heads/meta/3.12","pushedAt":"2024-08-26T22:20:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Fix Python test running under the JIT with ASAN\n\nSummary:\nThe CinderX test runner redirects ASAN output to separate files\nby calling the `__sanitizer_set_report_fd` function using ctypes\n(https://fburl.com/code/rrbaqnt4). Under the hood, ctypes tries\nto resolve `__sanitizer_set_report_fd` using `dlsym`. Resolving\n`__sanitizer_set_report_fd` is currently failing (e.g. https://fburl.com/sandcastle/41sbdpx9)\nbecause the symbol is defined but not exported from libpython. This causes\n100% of tests to fail because the worker crashes before it can\neven run the test. Export the symbol.\n\nReviewed By: alexmalyshev\n\nDifferential Revision: D61686959\n\nfbshipit-source-id: 533e367e7e6491f168e0833f63b04ef811c83b5c","shortMessageHtmlLink":"Fix Python test running under the JIT with ASAN"}},{"before":"ade16bb73bb4f9a71f775a0cda4e31381438ab03","after":"a91cb3b470541299a8676ed4284a4c4e2cf7e1e2","ref":"refs/heads/meta/3.10.cinder","pushedAt":"2024-08-26T22:19:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Fix Python test running under the JIT with ASAN\n\nSummary:\nThe CinderX test runner redirects ASAN output to separate files\nby calling the `__sanitizer_set_report_fd` function using ctypes\n(https://fburl.com/code/rrbaqnt4). Under the hood, ctypes tries\nto resolve `__sanitizer_set_report_fd` using `dlsym`. Resolving\n`__sanitizer_set_report_fd` is currently failing (e.g. https://fburl.com/sandcastle/41sbdpx9)\nbecause the symbol is defined but not exported from libpython. This causes\n100% of tests to fail because the worker crashes before it can\neven run the test. Export the symbol.\n\nReviewed By: alexmalyshev\n\nDifferential Revision: D61686959\n\nfbshipit-source-id: 533e367e7e6491f168e0833f63b04ef811c83b5c","shortMessageHtmlLink":"Fix Python test running under the JIT with ASAN"}},{"before":"f1ac5ba300541dbcb55eb16cc3e28a70b0b2fb60","after":"ade16bb73bb4f9a71f775a0cda4e31381438ab03","ref":"refs/heads/meta/3.10.cinder","pushedAt":"2024-08-21T22:12:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"JIT support for raise and deopt\n\nSummary:\nFor deopt this is mostly just updating frame reification to target `_PyInterpreterFrame` rather than `PyFrameObject`. For raising we need to adapt to 3.12 only using a single value to represent an exception rather than: value, type, and traceback.\n\nThe deopt tests also execute turning `_PyInterpreterFrame`s into `PyFrameObject`s to make use of the public interpreter API and this seems to work too.\n\nReviewed By: alexmalyshev\n\nDifferential Revision: D61318124\n\nfbshipit-source-id: 11c44f1ec079dd5023eb363a572904d94a59cd01","shortMessageHtmlLink":"JIT support for raise and deopt"}},{"before":"c175b46ea1914001c284e667007cd1c2b72f10fc","after":"527c0a30be7f3684107ffb69422f3a75edde9da1","ref":"refs/heads/meta/3.12","pushedAt":"2024-08-07T10:37:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Add CI_CO_SUPPRESS_JIT flag\n\nSummary: We still need to apply this in the Python compiler, but at least it exists to get things moving for now.\n\nReviewed By: DinoV\n\nDifferential Revision: D60866627\n\nfbshipit-source-id: 64a06d8f89e31f8e3fa09c4efe0f48b324ac7aae","shortMessageHtmlLink":"Add CI_CO_SUPPRESS_JIT flag"}},{"before":"b6e1707dd2024a6213a81650263dab0c2805c02d","after":"f1ac5ba300541dbcb55eb16cc3e28a70b0b2fb60","ref":"refs/heads/meta/3.10.cinder","pushedAt":"2024-08-07T10:36:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Add CI_CO_SUPPRESS_JIT flag\n\nSummary: We still need to apply this in the Python compiler, but at least it exists to get things moving for now.\n\nReviewed By: DinoV\n\nDifferential Revision: D60866627\n\nfbshipit-source-id: 64a06d8f89e31f8e3fa09c4efe0f48b324ac7aae","shortMessageHtmlLink":"Add CI_CO_SUPPRESS_JIT flag"}},{"before":"b370f079d2694813185498f8f72b452affe12966","after":"b6e1707dd2024a6213a81650263dab0c2805c02d","ref":"refs/heads/meta/3.10.cinder","pushedAt":"2024-08-05T23:28:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Remove Ci_TypeAttrRaisingCallback\n\nSummary:\nRemoves the `Ci_TypeAttrRaisingCallback` hook. We use the same dictionary watcher added in D60084797.\n\nUnfortunately we can no longer fail the updates for overriding a final method or assigning a known incompatible type - instead we now just issue a warning.\n\nUnlike the previous version we no longer need to worry about the update failing - we know now that the dictionary watcher event will be delivered only when it can succeed after D60182094.\n\nDifferential Revision: D60249517\n\nfbshipit-source-id: 9881b83ce9bd044caf538195732d172b827d616e","shortMessageHtmlLink":"Remove Ci_TypeAttrRaisingCallback"}},{"before":"f69e40797e176bdbbf60ec770ba92278f868808f","after":"b370f079d2694813185498f8f72b452affe12966","ref":"refs/heads/meta/3.10.cinder","pushedAt":"2024-08-05T20:29:25.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Borrow _Py_union_type_or\n\nReviewed By: alexmalyshev\n\nDifferential Revision: D60637793\n\nfbshipit-source-id: 7ddc7643575a62dd2fc92d76cfe0ab45de0dc2f9","shortMessageHtmlLink":"Borrow _Py_union_type_or"}},{"before":"f001f97783c3479eee16300d1c119a9d31122f12","after":"c175b46ea1914001c284e667007cd1c2b72f10fc","ref":"refs/heads/meta/3.12","pushedAt":"2024-08-02T23:41:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Fix Cinder's awaiter flag to not conflict with version tag\n\nSummary:\n`Py_TPFLAGS_HAVE_VERSION_TAG (1UL << 18)` is defined on line 575 as `(1UL << 18)` so we can't use 18 here. Change to 21 which is unused.\n\nThis is causing a crash when subclassing a Cython class D60555759 and trying to copy the non-existent async methods here: https://www.internalfb.com/code/fbsource/[03a8cbcbe4d4f8d35cf0837de169925d564d479f]/third-party/python/3.12/Objects/typeobject.c?lines=3352\n\nReviewed By: yulong-zhang-1\n\nDifferential Revision: D60627205\n\nfbshipit-source-id: d3d5998b39df88d9aa03c04539f7adfdf52f0121","shortMessageHtmlLink":"Fix Cinder's awaiter flag to not conflict with version tag"}},{"before":"6c50c377ca266b58083c4541cb1835f02b9771fa","after":"f001f97783c3479eee16300d1c119a9d31122f12","ref":"refs/heads/meta/3.12","pushedAt":"2024-08-02T16:17:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Also check for _cinderx in 3.12/Lib/site.py\n\nSummary:\ncinder_binary(\n name = \"foo\",\n py_version = \"3.12\",\n ...\n )\n\nwill pull in `cinderx`, but not the inner `_cinderx` C++ extension, so it will\nfail to initialize. The `_cinderx` module isn't ready to be built without\nan explicit `cinderx.use_3_12=true` buckconfig value, so we can't bundle\nit in yet. The easiest way to get out of this hole is to also check for the\nexistence of the `_cinderx` module.\n\n python_binary(\n name = \"foo\",\n py_version = \"3.12\",\n ...\n )\n\nis fine on the other hand. It doesn't pull in `cinderx`.\n\nDifferential Revision: D60594172\n\nfbshipit-source-id: 4ad6834d5baf720419d95dc99436d1c4a772ce3d","shortMessageHtmlLink":"Also check for _cinderx in 3.12/Lib/site.py"}},{"before":"be270be6323fd2f24989232455d6a91556794e94","after":"f69e40797e176bdbbf60ec770ba92278f868808f","ref":"refs/heads/meta/3.10.cinder","pushedAt":"2024-08-01T21:36:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Remove Ci_TypeRaisingCallback/Ci_hook_type_pre_setattr\n\nSummary: We now add a dictionary watcher for listening to changes to a type's dictionary, and when they occur, we initialize the type for patching.\n\nReviewed By: alexmalyshev\n\nDifferential Revision: D60084797\n\nfbshipit-source-id: af389864b4690eca6e6bde92d13f8b79e77ad44a","shortMessageHtmlLink":"Remove Ci_TypeRaisingCallback/Ci_hook_type_pre_setattr"}},{"before":"0c4a2ded8071b4f16e163717ef559386be2c4bc6","after":"be270be6323fd2f24989232455d6a91556794e94","ref":"refs/heads/meta/3.10.cinder","pushedAt":"2024-08-01T02:48:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Move Ci_StaticFunction_Vectorcall and Ci_PyFunction_CallStatic to interpreter.h\n\nSummary: These aren't defined in the CPython runtime, they're our functions in our interpreter loop. We still need stubs for 3.12 but that's a different issue.\n\nReviewed By: alexmalyshev\n\nDifferential Revision: D60486929\n\nfbshipit-source-id: b4eb22acd68c1998063711453cd61499f0144638","shortMessageHtmlLink":"Move Ci_StaticFunction_Vectorcall and Ci_PyFunction_CallStatic to int…"}},{"before":"93d4169058d90cbbbd5218a8815a83278b9f9472","after":"6c50c377ca266b58083c4541cb1835f02b9771fa","ref":"refs/heads/meta/3.12","pushedAt":"2024-07-31T16:41:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Load and initialize CinderX for Python 3.12\n\nSummary:\nLoads and initializes the CinderX module as part of Lib/site.py. If the module\ncan't be found, such as when CinderX isn't bundled with the installation, then\nsilently nothing happens.\n\nFailures that bubble up to the top-level CinderX module are no longer\nsuppressed. The suppression that does need to be added is to the _static\nmodule, as that's not initializing successfully right now.\n\nI have no idea if this is what we had in mind for initializing CinderX for 3.12.\nI believe our plan was to make it more explicit and only load when users added\nthe extension as a dependency to their TARGETS rules. But in the meantime this\nhelps us run tests.\n\nReviewed By: jbower-fb\n\nDifferential Revision: D60384976\n\nfbshipit-source-id: fe28752e967d7562012031540188279d044d66a3","shortMessageHtmlLink":"Load and initialize CinderX for Python 3.12"}},{"before":"30f862686ca610ce51f4b27ac44311f4547f8a55","after":"0c4a2ded8071b4f16e163717ef559386be2c4bc6","ref":"refs/heads/meta/3.10.cinder","pushedAt":"2024-07-30T18:50:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Remove Ci_HookType_add_subclass hook\n\nSummary:\nRemoving another hook. Instead of hooking into CPython we can track modifications to `tp_subclasses`.\n\nBecause the watchers are all listening to all of the dictionaries we want to keep the checks the watcher does to be as cheap as possible. We can quickly filter most modifications by checking the key/value to be a long/weakref pair.\n\nEven if we get those we keep the lookup as cheap as possible by storing in the dictionary a `_Ci_ObjectKey` which will compare true against the dictionary, and we use `_PyDict_GetItem_KnownHash` to pass in the dict's address as the hash as dictionaries are usually not hashable.\n\nOn 3.12 we also need to potentially get the subclasses for types shared across interpreters from somewhere else.\n\nReviewed By: alexmalyshev\n\nDifferential Revision: D59893761\n\nfbshipit-source-id: bbd563ab1e3664252d90f269415d8a01b33fae6a","shortMessageHtmlLink":"Remove Ci_HookType_add_subclass hook"}},{"before":"a899b62d123e442dda641126a0765888b87a3b21","after":"30f862686ca610ce51f4b27ac44311f4547f8a55","ref":"refs/heads/meta/3.10.cinder","pushedAt":"2024-07-29T19:15:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Use offset-based Ci_Py{Class,Static}Method_GetFunc for 3.10 and 3.12\n\nSummary:\nDeleting the exported symbol from 3.10.cinder and using the newer offset-based\nfunctions for both Python versions.\n\nReviewed By: jbower-fb\n\nDifferential Revision: D60386312\n\nfbshipit-source-id: 698e7cb60aaece8a4b9677ae5be5b4f4e10ca686","shortMessageHtmlLink":"Use offset-based Ci_Py{Class,Static}Method_GetFunc for 3.10 and 3.12"}},{"before":"f0cf0cf06ba16cd460be6438ab3edf80eda950df","after":"a899b62d123e442dda641126a0765888b87a3b21","ref":"refs/heads/meta/3.10.cinder","pushedAt":"2024-07-26T19:01:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"V-tables track lifetime of the generic type instantiation\n\nSummary: This gets rid of 3 of the hooks that we use in static Python. These are used to visit/free the type parameters for generic types. We know track the lifetime of these via the v-table, which means we need to eagerly initialize v-tables for generic instantiations.\n\nReviewed By: alexmalyshev\n\nDifferential Revision: D59879504\n\nfbshipit-source-id: 2513246889f9c5d94f63882e6691bee39be048af","shortMessageHtmlLink":"V-tables track lifetime of the generic type instantiation"}},{"before":"7b5bcda58a8aca12faf9491428172c408ecaa71a","after":"f0cf0cf06ba16cd460be6438ab3edf80eda950df","ref":"refs/heads/meta/3.10.cinder","pushedAt":"2024-07-26T17:20:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Replace _Py_Identifier objects with interned strings\n\nSummary:\n_Py_Identifier is internal to CPython and it's been getting harder and harder to\naccess, see https://bugs.python.org/issue46541.\n\nFor most uses in CinderX we can initialize static local variables that will\nlazily create interned Python strings. It's not as efficient as _Py_Identifier,\nbut it's using the stable API so it'll be easier to maintain over time.\n\nThe places where we still have _Py_Identifier relate to using\n`_PyObject_LookupSpecial` (in 3.12 it's renamed to `_PyObject_LookupSpecialId`).\nThere's no equivalent of that function that uses `PyObject*` values, we'll\nlikely have to implement that ourselves.\n\nReviewed By: DinoV\n\nDifferential Revision: D59936685\n\nfbshipit-source-id: 2393fa5f5fff8205ff5203ce7e814b8e8f340971","shortMessageHtmlLink":"Replace _Py_Identifier objects with interned strings"}},{"before":"4fc0bc34226dc548360d3ce724af0829d40adbc0","after":"93d4169058d90cbbbd5218a8815a83278b9f9472","ref":"refs/heads/meta/3.12","pushedAt":"2024-07-26T03:45:25.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Add ability to set awaiters on coroutines and futures\n\nSummary: This is a redo of D57072594 but building on the changes in the diffs below to avoid ABI breakage.\n\nReviewed By: alexmalyshev\n\nDifferential Revision: D60066502\n\nfbshipit-source-id: 66d4345f7c61e72c86badc6eb8ae424b4c4f7a02","shortMessageHtmlLink":"Add ability to set awaiters on coroutines and futures"}},{"before":"fee7d79d1de4cb67f46d4e07d1796a4470eba3cc","after":"7b5bcda58a8aca12faf9491428172c408ecaa71a","ref":"refs/heads/meta/3.10.cinder","pushedAt":"2024-07-26T03:45:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Rename _PyAwaitable_SetAwaiter -> Ci_PyAwaitable_SetAwaiter\n\nSummary: Nothing but a rename. Makes the next diff neater.\n\nReviewed By: alexmalyshev\n\nDifferential Revision: D60097672\n\nfbshipit-source-id: 0f06b92b7ca9ad01de92b002ed5255642ccc0854","shortMessageHtmlLink":"Rename _PyAwaitable_SetAwaiter -> Ci_PyAwaitable_SetAwaiter"}},{"before":"bb3aca27fcdd0fbfe6e8a8c67e0a99e98d7d2565","after":"fee7d79d1de4cb67f46d4e07d1796a4470eba3cc","ref":"refs/heads/meta/3.10.cinder","pushedAt":"2024-07-24T23:41:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Deliver dict added event only after it's guaranteed to succeed\n\nSummary:\nBack port of: https://github.com/python/cpython/pull/122207 fixing https://github.com/python/cpython/issues/122208\n\nThe current dictionary watchers implementation delivers the added event before it checks to see if we need to re-size the dictionary. This resize can fail so the value isn't added, and then the tracker is out of sync with the true state of the dictionary.\n\nThis moves the delivery of the event to after any necessary allocations have happened.\n\nReviewed By: jbower-fb\n\nDifferential Revision: D60182094\n\nfbshipit-source-id: f34940e98ce1caadeee364f9d126d35839661961","shortMessageHtmlLink":"Deliver dict added event only after it's guaranteed to succeed"}},{"before":"899af79cfcb4a1d832339ab7b7670ba494df9f7e","after":"4fc0bc34226dc548360d3ce724af0829d40adbc0","ref":"refs/heads/meta/3.12","pushedAt":"2024-07-24T23:41:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Deliver dict added event only after it's guaranteed to succeed\n\nSummary:\nBack port of: https://github.com/python/cpython/pull/122207 fixing https://github.com/python/cpython/issues/122208\n\nThe current dictionary watchers implementation delivers the added event before it checks to see if we need to re-size the dictionary. This resize can fail so the value isn't added, and then the tracker is out of sync with the true state of the dictionary.\n\nThis moves the delivery of the event to after any necessary allocations have happened.\n\nReviewed By: jbower-fb\n\nDifferential Revision: D60182094\n\nfbshipit-source-id: f34940e98ce1caadeee364f9d126d35839661961","shortMessageHtmlLink":"Deliver dict added event only after it's guaranteed to succeed"}},{"before":"d3fc022339a31f566b8a513c7538bbed8493f169","after":"899af79cfcb4a1d832339ab7b7670ba494df9f7e","ref":"refs/heads/meta/3.12","pushedAt":"2024-07-23T06:26:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Add sys.getallocatedbytes()\n\nSummary: This is a port of Cinder 3.8, Cinder 3.10, and CPython 3.10's `sys.getallocatedbytes()`, which is used by Imports Monitor.\n\nReviewed By: brittanyrey\n\nDifferential Revision: D60045182\n\nfbshipit-source-id: cbce2c8f7d9eb8c34ceda9852cc4215edf6b979b","shortMessageHtmlLink":"Add sys.getallocatedbytes()"}},{"before":"e73e6ed88626c66527cef03cf18ef3a498c97f51","after":"bb3aca27fcdd0fbfe6e8a8c67e0a99e98d7d2565","ref":"refs/heads/meta/3.10.cinder","pushedAt":"2024-07-22T21:18:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Redo how CinderX initialization handles getters/setters on callable types\n\nSummary:\nThe way this works today with 3.10 is that we statically initialize a copy of\nthe same tables that CPython uses internally. We had to patch the runtime to\nexport the getters with `Cix_` prefixes so we could access them in CinderX.\n\nThe new way in this diff is to dynamically arrays and then copy the getset\ntables into them on CinderX initialization, tacking on the extra\n`__typed_signature__` getter. The arrays are cleaned up by global destructors.\n\nThis drops the requirement that we have the `Cix_` wrappers.\n\nThe thing that I noticed while working on this is that we never actually reset\nthese tables when CinderX is unloaded, they stick around until the runtime\nprocess itself dies. This diff doesn't make that any better, but at least it\ntries to document what needs to be modified to make that work.\n\nReviewed By: jbower-fb\n\nDifferential Revision: D59883485\n\nfbshipit-source-id: 204b76465b927a9d78204bcc5346cc9cfb8cc91e","shortMessageHtmlLink":"Redo how CinderX initialization handles getters/setters on callable t…"}},{"before":"48359f2b3d48f99eb0030b3fd57ab3888c2853b1","after":"e73e6ed88626c66527cef03cf18ef3a498c97f51","ref":"refs/heads/meta/3.10.cinder","pushedAt":"2024-07-20T00:17:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Do not suppress CinderX import errors by default\n\nSummary: CinderX failing to initialize correctly can lead to cryptic errors in some tests which waste a lot of time tracking down. We suppressed these by default because we had some issues, I think particularly with the OSS build, with bootstrapping during the build. As we don't use the OSS build anymore we should no longer need to do this most of the time.\n\nReviewed By: alexmalyshev\n\nDifferential Revision: D59889831\n\nfbshipit-source-id: b89082c1b5ab3aaa277c044ebea37cf661435cc2","shortMessageHtmlLink":"Do not suppress CinderX import errors by default"}},{"before":"0c8b47ad83b2f5af74abb9207cfb6ef51567b72d","after":"48359f2b3d48f99eb0030b3fd57ab3888c2853b1","ref":"refs/heads/meta/3.10.cinder","pushedAt":"2024-07-19T07:56:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Remove JIT type profiling infra\n\nSummary:\nDoesn't feel great removing this but, we're not using it right now and `s_live_types` is causing problems with 3.12 and native tests. The issue there is 3.12 doesn't send type change events when types are deleted so references to types are in `s_live_types` are out living the types causing use-after-free errors when `s_live_types` is deallocated.\n\nI've deleted all the references I could find but I've left some stubs in `cinder.py` from 3.10 just in case. Once we move to 3.12 these will no longer be present and we can deal with any fall out then.\n\nReviewed By: alexmalyshev\n\nDifferential Revision: D59877256\n\nfbshipit-source-id: 7c76c649d8d8dce99eab8bd6744126db708d1a58","shortMessageHtmlLink":"Remove JIT type profiling infra"}},{"before":"36a1893673eb3d2c5361b1f019f34f47a35f3072","after":"d3fc022339a31f566b8a513c7538bbed8493f169","ref":"refs/heads/meta/3.12","pushedAt":"2024-07-18T00:14:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Back out \"Port over gh-91048 for awaiter support in Meta Python 3.12\"\n\nSummary:\nOriginal commit changeset: ca0d2ee0ffca\n\nOriginal Phabricator Diff: D57072594\n\nReverting due to segfaults. [Details](https://fb.workplace.com/groups/cinderusers/permalink/3478626758950016/)\n\nReviewed By: aleivag\n\nDifferential Revision: D59866335\n\nfbshipit-source-id: cae113f4d729e73dc71f02405e3264e1170b5988","shortMessageHtmlLink":"Back out \"Port over gh-91048 for awaiter support in Meta Python 3.12\""}},{"before":"b39f5b4dbf7f1279d7e7fe6fe7cce71a4ab48eb7","after":"36a1893673eb3d2c5361b1f019f34f47a35f3072","ref":"refs/heads/meta/3.12","pushedAt":"2024-07-16T00:35:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Port over gh-91048 for awaiter support in Meta Python 3.12\n\nSummary:\nContext: We are deciding to stick with the old \"bpf\" way of doing async stack walking for Meta Python 3.12, and maybe 3.13. This involves continuing support for the awaiter pointer which is why we need this port. Ideally we get the python stack from the runtime and there is expected to be an internal implementation of this for Meta Python 3.13 or 3.14 latest.\n\nThis is essentially a copy-paste port of https://github.com/python/cpython/pull/103976/files from last year. The main change of this diff from the PR is that gi_awaiter is renamed to gi_ci_awaiter\n\nReviewed By: jbower-fb\n\nDifferential Revision: D57072594\n\nfbshipit-source-id: ca0d2ee0ffca2a72e16d479ca395555ed13498af","shortMessageHtmlLink":"Port over gh-91048 for awaiter support in Meta Python 3.12"}},{"before":"28614d839637f3d6e3f0c2a8ee50ffc0b4d4c6bf","after":"0c8b47ad83b2f5af74abb9207cfb6ef51567b72d","ref":"refs/heads/meta/3.10.cinder","pushedAt":"2024-07-15T19:08:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Remove most of interpreter type profiling\n\nSummary:\nWe're not currently using it and it's unclear when we'd be able to invest more\ninto it. If we want to come back to feeding better types into the JIT it would\nmake sense to try to tap into the machinery used by the specializing adaptive\ninterpreter.\n\nThis deletes pretty much everything except ProfileRuntime, which is still used\nby the simplifier for LoadAttr on split dicts. Will get that in a future diff.\n\nReviewed By: jbower-fb\n\nDifferential Revision: D59603172\n\nfbshipit-source-id: 1cd4ca33d4e29faa77e7597e30cd943c65c141a2","shortMessageHtmlLink":"Remove most of interpreter type profiling"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEtdvGxQA","startCursor":null,"endCursor":null}},"title":"Activity · facebookincubator/cinder"}