Tin tức

Rust 1.97.1 vá lỗi biên dịch sai LLVM có từ phiên bản 1.87

Bản phát hành điểm mới nhất của Rust sửa lỗi biên dịch sai trong một tối ưu hóa LLVM, với lỗi cơ bản tồn tại từ ít nhất Rust 1.87. Bản vá bao gồm cả backport LLVM và vô hiệu hóa thay đổi IR làm tăng khả năng xảy ra sự cố.

August 5, 2026· 2 min read
Rust 1.97.1 vá lỗi biên dịch sai LLVM có từ phiên bản 1.87

Nhóm Rust đã phát hành Rust 1.97.1, một bản phát hành điểm giải quyết lỗi biên dịch sai trong một tối ưu hóa LLVM. Lỗi này, được theo dõi trong issue #159035, đã tồn tại từ ít nhất Rust 1.87, nghĩa là người dùng trên các bản phát hành ổn định trong vài tháng qua có thể đã bị ảnh hưởng mà không hề hay biết.

Bản vá gồm hai phần: nhóm Rust đã backport một bản vá LLVM và vô hiệu hóa một thay đổi trong IR được tạo ra bởi Rust 1.97.0 làm tăng khả năng xảy ra lỗi biên dịch sai. Điều này cho thấy nguyên nhân gốc nằm ở cách IR của Rust tương tác với các bước tối ưu hóa của LLVM, và nhóm đã chọn cách thận trọng bằng cách vô hiệu hóa thay đổi IR thay vì chấp nhận rủi ro thêm.

Đối với các nhà phát triển, hành động ngay lập tức rất đơn giản: chạy rustup update stable để nhận bản vá. Nhưng bài học dài hạn là các lỗi biên dịch sai có thể ẩn nấp trong các kênh phát hành hàng tháng, và việc kiểm thử với kênh beta hoặc nightly có thể giúp phát hiện các vấn đề này sớm hơn.

Nhóm Rust khuyến khích người dùng chạy CI của họ trên beta hoặc nightly (rustup default beta hoặc rustup default nightly) và báo cáo bất kỳ lỗi nào họ gặp phải.

Lỗi biên dịch sai cơ bản đã tồn tại từ ít nhất Rust 1.87 — nếu bạn thấy hành vi kỳ lạ trong các bản build tối ưu hóa, đây có thể là thủ phạm.
Ban biên tập Manul X