<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ydb/library/cpp/yt/memory, branch main</title>
<subtitle>Mirror of YDB github repos</subtitle>
<id>https://code.mastervirt.ru/ydb/atom?h=main</id>
<link rel='self' href='https://code.mastervirt.ru/ydb/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/'/>
<updated>2026-07-17T10:21:08Z</updated>
<entry>
<title>Unpoison use-after-dtor access to ref counter</title>
<updated>2026-07-17T10:21:08Z</updated>
<author>
<name>makxenov</name>
<email>makxenov@yandex-team.com</email>
</author>
<published>2026-07-16T17:48:23Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=bcb14ace638c50d3f0530f65ce3e9ad1e7b3d361'/>
<id>urn:sha1:bcb14ace638c50d3f0530f65ce3e9ad1e7b3d361</id>
<content type='text'>
Two scenarios addressed:

- Access to ref counters after explicit destructor of an object
- Access to vptr for upcast of an already destroyed object
commit_hash:a8f27500111817f325832d006feb3ce6c3c830f1
</content>
</entry>
<entry>
<title>YT-18571: Drop the redundant `#undef FOO_INL_H_` from `-inl.h` guard blocks.</title>
<updated>2026-07-12T15:32:51Z</updated>
<author>
<name>babenko</name>
<email>babenko@yandex-team.com</email>
</author>
<published>2026-07-12T15:08:14Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=7cf2e5a6f3716da406a37d3ef42431ec350cc9b6'/>
<id>urn:sha1:7cf2e5a6f3716da406a37d3ef42431ec350cc9b6</id>
<content type='text'>
commit_hash:8ccfa9ed373c83b84c21d12078e06befb05f026c
</content>
</entry>
<entry>
<title>YT-18571: Drop TSharedRef::FromString(const char* str)</title>
<updated>2026-07-11T09:16:30Z</updated>
<author>
<name>babenko</name>
<email>babenko@yandex-team.com</email>
</author>
<published>2026-07-11T08:18:07Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=fa700ca3416d1c66def6cb16d5b85734e278406d'/>
<id>urn:sha1:fa700ca3416d1c66def6cb16d5b85734e278406d</id>
<content type='text'>
Rationale: all overloads of `TSharedRef::FromString` must remain cheap and don't copy any payload.

Remove the zero-terminated C string overload of `TSharedRef::FromString`.  Callers passing a string literal should use `std::string/TString` explicitly.

#| || **&lt;a href="https://nda.ya.ru/t/-VG7qyBv7iD8vm" target="_blank"&gt;![](https://nda.ya.ru/t/mAiQIjHx7Mm3JC =30x) Echo tests&lt;/a&gt;** || |#
commit_hash:1a6718abcbe4e6a8f58592f55de8c37ceb2b73d3
</content>
</entry>
<entry>
<title>Add TAnyObject::Holds&lt;T&gt; and rename IsCurrentlyStored to HoldsType</title>
<updated>2026-07-03T13:51:23Z</updated>
<author>
<name>babenko</name>
<email>babenko@yandex-team.com</email>
</author>
<published>2026-07-03T13:17:12Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=137013265ea10fd8a99ae76e9d075592bc05d953'/>
<id>urn:sha1:137013265ea10fd8a99ae76e9d075592bc05d953</id>
<content type='text'>
commit_hash:5f0c248f2c24b501b04777fb0300693b0e942c89
</content>
</entry>
<entry>
<title>Address-salted ref-counted signature</title>
<updated>2026-06-27T08:28:22Z</updated>
<author>
<name>babenko</name>
<email>babenko@yandex-team.com</email>
</author>
<published>2026-06-27T08:11:30Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=c51be2dc7d8af75c61d95f40f86190c34c5d6e4b'/>
<id>urn:sha1:c51be2dc7d8af75c61d95f40f86190c34c5d6e4b</id>
<content type='text'>
Self-validating signature word at the head of every `TRefCounter` (`YT_ENABLE_REF_COUNTED_SIGNATURE`, on by default in debug) so a coredump walker can distinguish a live ref-counted object from freed-but-unreclaimed memory and locate the counter without virtual-base casts. Consumed by gdb_plugin (separate PR).
commit_hash:6696d8c26a8298be6543b1e3456de617d06417e9
</content>
</entry>
<entry>
<title>Add ExactRefCountedCast and TRef::Contains</title>
<updated>2026-06-24T09:39:10Z</updated>
<author>
<name>babenko</name>
<email>babenko@yandex-team.com</email>
</author>
<published>2026-06-24T08:20:18Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=7493b7938546308fc8ead81e411e05c73b1ce9e4'/>
<id>urn:sha1:7493b7938546308fc8ead81e411e05c73b1ce9e4</id>
<content type='text'>
Some handy helpers.

`ExactRefCountedCast&lt;T&gt;(p)`: exact-type downcast for `New&lt;T&gt;()`-allocated objects. `New&lt;T&gt;(`) builds a final `TRefCountedWrapper&lt;T&gt;`, so this casts to the wrapper and upcasts back to `T*`; being final, the `dynamic_cast` lowers to a single `type_info` compare (~2ns vs ~20ns for the is-a path).

`TRef::Contains(other)`: true iff other's range lies within this range.
commit_hash:138e8719b8ecbd953437b81380e54f736db029ef
</content>
</entry>
<entry>
<title>Add TSharedMutableRef::AllocateViaMmap</title>
<updated>2026-06-12T16:03:57Z</updated>
<author>
<name>babenko</name>
<email>babenko@yandex-team.com</email>
</author>
<published>2026-06-12T15:34:47Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=c283ae2aba847b444692dec65fb0e9a7d043d4a0'/>
<id>urn:sha1:c283ae2aba847b444692dec65fb0e9a7d043d4a0</id>
<content type='text'>
commit_hash:1666d5c27b2dfe54460efdc686d98ad955b0c4f1
</content>
</entry>
<entry>
<title>Cosmetics: fix typos in docstrings and comments</title>
<updated>2026-05-29T12:48:40Z</updated>
<author>
<name>gearonixx</name>
<email>egor.uzhanin@gmail.com</email>
</author>
<published>2026-05-29T11:55:36Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=60d30e2677a02db4bc62a30af634e06b26f20565'/>
<id>urn:sha1:60d30e2677a02db4bc62a30af634e06b26f20565</id>
<content type='text'>
Fix typos in docstrings

---

Pull Request resolved: https://github.com/ytsaurus/ytsaurus/pull/1733

Co-authored-by: ilyaibraev &lt;ilyaibraev@yandex-team.com&gt;
commit_hash:33a12aeaeeaec2f93ef9f465a3d5cdff95b62757
</content>
</entry>
<entry>
<title>Fix babenko-issues</title>
<updated>2026-05-12T08:18:13Z</updated>
<author>
<name>dann239</name>
<email>dann239@yandex-team.com</email>
</author>
<published>2026-05-12T07:48:52Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=45287cc21ce4c76805e11f580ecf76e1c5fceaa2'/>
<id>urn:sha1:45287cc21ce4c76805e11f580ecf76e1c5fceaa2</id>
<content type='text'>
commit_hash:2728816c79b29fccf31698e16733a0220fd3069e
</content>
</entry>
<entry>
<title>Intermediate changes</title>
<updated>2026-04-30T10:50:07Z</updated>
<author>
<name>robot-piglet</name>
<email>robot-piglet@yandex-team.com</email>
</author>
<published>2026-04-30T10:12:58Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=371cc8fc670fc10b0a4a27425d09b83c26a0d00e'/>
<id>urn:sha1:371cc8fc670fc10b0a4a27425d09b83c26a0d00e</id>
<content type='text'>
commit_hash:075da2320aef76c06611fc1f363508ed26ad1a78
</content>
</entry>
</feed>
