Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V24 #14517

Closed
wants to merge 39 commits into from
Closed

V24 #14517

wants to merge 39 commits into from

Conversation

yt-qiu
Copy link

@yt-qiu yt-qiu commented Oct 25, 2023

No description provided.

zhangskz and others added 30 commits August 10, 2023 11:44
…ettings.

This flag will be set in UPB which will be submitted separately due to version skew between repos.

This attempts to fix the following error from local and release settings both matching.
```
ERROR: /workspace/_build/out/external/upb/python/dist/BUILD.bazel:251:9: Illegal ambiguous match on configurable attribute "platform" in @upb//python/dist:binary_wheel:
@upb//python/dist:linux_x86_64_local
@upb//python/dist:windows_x86_64
Multiple matches are not allowed unless one is unambiguously more specialized or they resolve to the same value. See https://bazel.build/reference/be/functions#select.
```
PiperOrigin-RevId: 553184373
…6-fix

Add a release flag to disambiguate between release and local config_s…
This proto is only used in C++ tests, and doesn't need to be built in python.  Python doesn't support editions yet, so we should just remove it for now.  This also fixes some other issues with setup.py where tests fail.

Closes protocolbuffers#13501

PiperOrigin-RevId: 555681295
…rs#13515)

* Update absl submodule and dep to latest 20230802.0 LTS

* Fix absl submodule

* Update submodule

* Update absl submodule to correct commit
Backport 24.x fixes for absl dep update and setup.py
…3494) (protocolbuffers#13580)

protocolbuffers#13204 refactored the Ruby object cache to use a key of `LL2NUM(key_val)` instead of `LL2NUM(key_val >> 2)`. On 32-bit systems, `LL2NUM(key_val)` returns inconsistent results because a large value has to be stored as a Bignum on the heap. This causes cache lookups to fail.

This commit restores the previous behavior of using `ObjectCache_GetKey`, which discards the lower 2 bits, which are zero. This enables a key to be stored as a Fixnum on both 32 and 64-bit platforms.

As https://patshaughnessy.net/2014/1/9/how-big-is-a-bignum describes, a Fixnum uses:

* 1 bit for the `FIXNUM_FLAG`.
* 1 bit for the sign flag.

Therefore the largest possible Fixnum value on a 64-bit value is 4611686018427387903 (2^62 - 1). On a 32-bit system, the largest value  is 1073741823 (2^30 - 1).

For example, a possible VALUE pointer address on a 32-bit system:

0xff5b4af8 => 4284173048

Dropping the lower 2 bits makes up for the loss of range to these flags. In the example above, we see that shifting by 2 turns the value into a 30-bit number, which can be represented as a Fixnum:

(0xff5b4af8 >> 2) => 1071043262

This bug can also manifest on a 64-bit system if the upper bits are 0xff.

Closes protocolbuffers#13481

Closes protocolbuffers#13494

COPYBARA_INTEGRATE_REVIEW=protocolbuffers#13494 from stanhu:sh-fix-ruby-protobuf-32bit d63122a
PiperOrigin-RevId: 557211768

Co-authored-by: Stan Hu <stanhu@gmail.com>
Revert absl bump back to Abseil LTS 20230125.3
Disable the alignment check in 32-bit msvc.
This toolchain has a difference between "natural" and "required" alignment of
types and it can have the alignment of members of type `T` to be smaller than
`alignof(T)`.

Also, disable AnyTest.TestPackFromSerializationExceedsSizeLimit there because it can't allocate that much memory.

PiperOrigin-RevId: 559495544
…ne with a (protocolbuffers#13808)

const_cast.

Fixes protocolbuffers#13715

PiperOrigin-RevId: 561660761

Co-authored-by: Protobuf Team Bot <protobuf-github-bot@google.com>
…uffers#13820)

* Silence warnings about extra semicolon in non-TSAN builds.

Fixes protocolbuffers#13787

PiperOrigin-RevId: 561528198

* fix merge conflicts

* Upgrade rules_python dependency.

PiperOrigin-RevId: 559226153

* actually update staleness files

---------

Co-authored-by: Mike Kruskal <mkruskal@google.com>
bring protobuf dep [upb] to parity for 24.3
martijnvels and others added 9 commits September 11, 2023 14:52
…cludes

This header was transitively included from (deprecated) absl cord includes.

PiperOrigin-RevId: 562008066
Add dependency on absl::layout, and explicitly include absl layout includes
No need to touch Bazel/CMake files, as they already depend on Abseil strings.

PiperOrigin-RevId: 564640299
`Printer`: Include Abseil's `str_cat.h` for `absl::AlphaNum`
Backport fix python code generation compatibility with Cython on 24.x
* Automated rollback of commit 2a55706.

PiperOrigin-RevId: 569253919

* Remove editions handling not relevant in 24.x
@yt-qiu yt-qiu requested review from a team as code owners October 25, 2023 06:56
@yt-qiu yt-qiu requested review from mkruskal-google, JasonLunn, anandolee, googleberg and jskeet and removed request for a team October 25, 2023 06:56
@google-cla
Copy link

google-cla bot commented Oct 25, 2023

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@acozzette acozzette closed this Nov 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.