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

Update shell.nix to nixpkgs-24.05 #14651

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

straight-shoota
Copy link
Member

@straight-shoota straight-shoota commented Jun 1, 2024

Updates nixpkgs in shell.nix to 24.05 release. This release also brings LLVM 18 (and drops LLVM 11) so we update LLVM as well.

Closes #14269, #14592

@straight-shoota
Copy link
Member Author

Like in #14592 there are some spec failures in CI related to iconv.
Somebody should investigate that on a macOS machine.

@straight-shoota straight-shoota marked this pull request as draft June 7, 2024 12:21
@HertzDevil
Copy link
Contributor

HertzDevil commented Jun 10, 2024

Apparently Apple replaced the system iconv implementation from an old GNU libiconv to a FreeBSD-based one in 2023, so this is why I recalled not seeing those spec failures on my M2 in the past?

The actual bug is somewhat weird, and I have managed to reproduce it in C as well. String#encode uses an output buffer of 1024 bytes; if a single call to LibC.iconv fails because the output buffer has some space but is insufficient for the next character, then outbuf_ptr and outbytesleft only advance in increments of 32 bytes, even though the correct output bytes are written after outbuf_ptr for the input bytes it can consume. Those extra output bytes are then lost:

# first call consumes 1023 bytes and outputs 992 bytes; all the `y`s are lost
# second call consumes 3 bytes and outputs 2 bytes for the `好`
("x" * 992 + "y" * 31 + "").encode("EUC-JP").size # => 994

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants