1 điểm bởi GN⁺ 2024-02-25 | 1 bình luận | Chia sẻ qua WhatsApp
  • Tình trạng mất ổn định phần cứng của bộ xử lý Intel Core thế hệ 13 và 14 có thể biểu hiện thành lỗi giải nén dữ liệu Oodle thất bại và crash trong các game dùng Unreal Engine
  • Lỗi tiêu biểu là DecompressShader(): Could not decompress shader (GetShaderCompressionFormat=Oodle), và vấn đề này liên quan đến các tác vụ đa luồng sử dụng CPU nặng nói chung hơn là do bản thân Oodle
  • Crash cũng có thể xuất hiện trong Adobe Premiere, RealBench, CineBench, Prime95, Handbrake, Visual Studio..., và dù nguyên nhân là CPU, nó vẫn có thể trông giống lỗi GPU như out of video memory
  • Intel xác nhận nguyên nhân là mạch tín hiệu xung nhịp bên trong chip bị lão hóa nhanh do nhiều vấn đề chồng lấp, và những linh kiện đã suy thoái vật lý thì cần phải thay thế
  • Tính đến ngày 1/10/2024, các bản cập nhật BIOS nhằm tránh các điều kiện hoạt động gây hư hại đã bắt đầu được phát hành, nên cần cài đặt trước khi triệu chứng xuất hiện

Mất ổn định CPU bộc lộ qua việc game bị crash

  • Vấn đề phần cứng trên bộ xử lý Intel Core thế hệ 13 và 14 dòng 13xxx·14xxx có thể dẫn đến tình trạng mất ổn định hệ thống nói chung
  • Trong các game dùng Unreal Engine, có thể xảy ra lỗi giải nén dữ liệu Oodle thất bại và crash
    • Lỗi tiêu biểu: DecompressShader(): Could not decompress shader (GetShaderCompressionFormat=Oodle)
  • Hiện tượng này không chỉ giới hạn ở Oodle
    • Các chương trình sử dụng bộ xử lý nặng trên nhiều luồng cũng có thể bị crash hoặc có hành vi khó đoán
    • Đã quan sát thấy crash trong Adobe Premiere, RealBench, CineBench, Prime95, Handbrake, Visual Studio...
  • Dù nguyên nhân là CPU, thông báo đưa ra vẫn có thể trông như lỗi GPU
    • Ví dụ: lỗi out of video memory không chính xác

Nguyên nhân và các biện pháp cần thiết

  • Intel xác nhận nguyên nhân gốc là sự lão hóa nhanh của mạch tín hiệu xung nhịp bên trong chip
    • Nhiều vấn đề chồng lấp đã gây ra hư hại cho mạch
    • Hư hại này là hao mòn vật lý của chính con chip, và một khi đã xảy ra thì không thể đảo ngược
  • Các linh kiện đã bị suy thoái cần được thay thế
  • Tính đến ngày 1/10/2024, các bản cập nhật BIOS mới nhằm tránh các điều kiện hoạt động gây hư hại cho mạch đã bắt đầu được phát hành
    • Với laptop hoặc desktop nguyên bộ, nhà sản xuất đang phát hành hoặc sắp phát hành bản cập nhật BIOS có chứa biện pháp khắc phục này
    • Với PC tự lắp ráp, cần kiểm tra ảnh BIOS đã cập nhật trên website của nhà sản xuất bo mạch chủ
  • Cần cài đặt bản cập nhật BIOS trước khi triệu chứng xuất hiện
    • Sau khi crash bắt đầu xảy ra thì đã quá muộn để giải quyết chỉ bằng phần mềm

1 bình luận

 
GN⁺ 2024-02-25
Ý kiến trên Hacker News
  • Nhớ lại sự cố từng gặp khi mới đưa AMD Threadripper 3970X vào dùng: https://forum.level1techs.com/t/amd-threadripper-3970x-under...
    Thảo luận trên HN: https://news.ycombinator.com/item?id=22382946
    Cuối cùng, tôi đã cùng AMD điều tra vấn đề trong vài tháng; AMD bồi thường khá rộng rãi cho sự phiền toái khi phải gửi qua gửi lại mainboard và CPU, nhưng từ đó đến nay tôi vẫn tiếp tục dùng image BIOS tùy chỉnh do AMD cung cấp. Rốt cuộc có vẻ là vấn đề phía Gigabyte

  • Tôi nhận được một con 13900K bị lỗi, và có thể xác nhận rằng ít nhất trong trường hợp của tôi, vấn đề cũng xuất hiện ngay cả với thiết lập PL1/PL2 mặc định
    Tôi chạy reinforcement learning trên hệ thống đó và nó liên tục crash, nên đã mất khá lâu để tìm nguyên nhân; khi đổi CPU sang con 13700KF đang dùng ở PC khác thì vấn đề biến mất
    Khi tôi yêu cầu RMA với Intel, họ nói mainboard MSI tôi đang dùng không hỗ trợ Linux; khi tôi gửi cho họ repository GitHub chính thức của Intel có microcode kích hoạt hỗ trợ, người phụ trách đã bị đổi. Đến lúc đó thì rõ ràng Intel đang cố tránh RMA hết mức có thể, và may là tôi sống ở châu Âu nên đã tiến hành RMA thông qua cơ quan bảo vệ người tiêu dùng địa phương
    Trong lúc đó, tôi thấy một đợt giảm giá combo 7950X và mainboard ở cửa hàng online nên mua luôn, rồi bán lại mainboard cũ và con 13900K nhận được từ RMA dưới dạng hàng đã qua sử dụng. Tôi từng dùng Intel vì Intel tài trợ một số dự án khoa học dữ liệu, nhưng tôi không định mua Intel thêm lần nào nữa

    • Con 7700K của tôi cũng liên tục bất ổn từ sau khi mua, và 16 tháng cập nhật BIOS vẫn không giải quyết được. Có thể các thế hệ processor mới nhất đang gặp nhiều vấn đề hơn so với những thiết kế đơn giản trước đây
  • Có vẻ để giảm vấn đề bảo mật thì phải tắt hyper-threading, và giờ để giảm vấn đề hỏng bộ nhớ thì cũng phải tắt cả turbo mode
    Nếu còn tắt C-state để tránh tấn công kênh kề, rồi tắt cả efficiency core để tránh vấn đề scheduler, thì đến một lúc nào đó ta sẽ quay về cấu hình tính năng của 20 năm trước :P

    • Có vẻ vấn đề phát sinh từ khác biệt firmware giữa nhiều hãng mainboard. Tôi dùng một mainboard gắn Ryzen 7950X nhưng nó ngẫu nhiên không boot được, phải tháo pin để reset hoàn toàn thì mới chạy lại. Cuối cùng bản cập nhật firmware đã sửa lỗi đó
    • Chỉ cần tắt overclock là được
    • Hồi đó người ta biết cách làm phần cứng đáng tin cậy, thay vì nhồi nhét các tính năng chưa được kiểm chứng kỹ và dùng những thỏa hiệp đáng ngờ để đạt các con số tối tân
    • Nói thật, có lẽ thế giới đã tốt hơn nếu chúng ta dừng lại ở Coppermine hoặc Tualatin và chỉ tập trung cải thiện phần mềm
    • Tốt, nhanh, rẻ. Chỉ được chọn hai trong ba
  • Gần đây tôi dựng một hệ thống mới với i9 149KF và mainboard Asus Formula. Mục đích là chạy Windows bằng hệ thống VFIO và chơi game
    Quá trình làm cho nó chạy ổn định đúng là ác mộng, và các thiết lập mặc định của mainboard chẳng cái nào đúng. Game thì crash, compile kernel và Emacs cũng thất bại
    Cuối cùng tôi phải bật thiết lập giới hạn turbo của con chip 6GHz xuống 5.4GHz, đồng thời giới hạn công suất tối đa và nhiệt độ throttling ở 90°C
    Giờ thì có vẻ ổn định, duy trì 5.4GHz không bị throttling và tôi đang chơi game ở độ phân giải 4K 120fps. Tuy vậy, vẫn khó chịu ở chỗ không thể chạy theo đúng con số quảng cáo mà mình đã trả tiền mua, với bất kỳ thiết lập nào

    • Việc giới hạn nhiệt độ throttling ở 90°C nghĩa là trước đó nó đã vượt quá 90°C à?
      Ban đầu tôi nghĩ điều đó thật vô lý, nhưng theo Intel thì có vẻ bình thường với con chip này: “Processor hỗ trợ tối đa 100°C, và các mức nhiệt thấp hơn mức đó là bình thường và nằm trong phạm vi dự kiến”
      https://community.intel.com/t5/Processors/i9-14900K-temperat...
      Dù vậy vẫn rất kỳ lạ. Một mặt, tất nhiên bạn phải nhận được hiệu năng đã được quảng cáo và đã trả tiền; mặt khác, vận hành CPU ở 90~100°C nghe như chuyện điên rồ. Có cảm giác Intel đang bị dồn ép khá nhiều. Tôi tò mò bạn đang dùng cấu hình tản nhiệt nào
    • Tôi không thích kiểu marketing Turbo Boost
      Nó giống cách các ISP ngày xưa bán gói “tối đa X Mbps”. Con chip này cũng nói rằng nó turbo boost “tối đa 6.00GHz”
      Thực chất đó là overclock tự động, và như bạn đã trực tiếp trải nghiệm, đôi khi nó còn không thể duy trì tốc độ đó một cách ổn định. Một số con chip sẽ không bao giờ chạy ở “tối đa 6.00GHz”, nhưng cũng không phải nói dối. Vì là “tối đa” mà
    • Gần đây tôi dựng hệ thống với 14900KF trên mainboard ASUS TUF và tản NZXT Kraken 360, đến giờ vẫn chưa gặp vấn đề gì với thiết lập BIOS mặc định. Mặc định là 5.7GHz, và tôi cũng chưa thấy nhiệt độ vượt 70°C
      Tuy nhiên tôi cũng chưa thấy tải CPU vượt 40%, và chưa chạy phần mềm benchmark. 5.4GHz mà 90°C thì khác khá xa những gì tôi thấy trên processor của mình, nên tôi tò mò bạn dùng bộ tản nhiệt nào. Cũng có thể dù xung cao hơn, tôi chưa đẩy CPU mạnh đến mức đó
    • Tôi tò mò bạn đã lau sạch mọi thứ rồi lắp lại tản với keo tản nhiệt mới chưa. Tôi từng thấy hành vi tương tự khi bôi keo sai khiến có bọt khí. Hiển thị nhiệt độ theo từng core có chênh lệch lớn không?
    • Việc chênh lệch 10% xung nhịp lại có thể quyết định ổn định hay không nghe thật đáng sợ. Thực tế còn lại bao nhiêu biên an toàn vậy?
  • Nhớ đến bài viết kinh điển của Raymond Chen: https://devblogs.microsoft.com/oldnewthing/20050412-47/?p=35...

    • Tôi thắc mắc vì sao trong trình phân tích sự cố hệ thống lại không có thành phần thông báo cho người dùng rằng CPU đang hoạt động bất thường. Ví dụ, nếu nó báo rằng ngay cả lệnh cơ bản như xor eax, eax cũng sai thì có lẽ đã giảm được những yêu cầu hỗ trợ khó gỡ lỗi
  • Tình huống này nghe quen quen. Làm tôi nhớ đến Pentium III 1.13GHz ngày xưa
    https://www.tomshardware.com/reviews/intel-admits-problems-p...

    • Ngoài chủ đề chính, đáng khen là Tom’s Hardware vẫn phục vụ hoàn hảo một bài đăng web từ 24 năm trước
  • Với Zstd, chúng tôi cũng thường xuyên gặp vấn đề phần cứng. Đôi khi bộ giải nén trở thành thành phần đầu tiên tương tác với dữ liệu đi vào từ mạng
    Như trong trường hợp này, bộ giải nén rất nhạy với bit flip bất kể có dùng checksum hay không, nên thường phát hiện vấn đề phần cứng sớm hơn các tiến trình khác chạy trên cùng host
    Zstd đã quyết định chỉ bao gồm checksum của dữ liệu gốc, và như vậy là đủ để đảm bảo tính toàn vẹn dữ liệu. Tuy nhiên, vì không thể kiểm tra dữ liệu đã nén có bị hỏng hay không, nên khó loại trừ khả năng nguyên nhân hỏng là do bộ giải nén hơn

    • Dữ liệu nén cũng giống như bản sao lưu. Nó không hợp lệ cho đến khi được kiểm chứng
  • Trang này dường như không được liên kết từ trang công khai nào khác, nên trông giống như một trang được tạo ra để xử lý những phàn nàn không mong muốn của người dùng đang lần theo “oodle” trong log lỗi. Tương tự vụ SQLite năm 2006 [1]
    [1] https://news.ycombinator.com/item?id=36302805

  • Hoàn toàn không ngạc nhiên
    Trước đây tôi mua bo mạch ASUS TUF cho 4790K vì muốn thứ cơ bản và không quan tâm đến ép xung hay tinh chỉnh. Nhưng BIOS lại nghĩ khác
    Chỉ để tránh ép xung thôi cũng phải tự tay đặt cả đống thiết lập, đặt timing RAM và kiểm tra từng mục trong BIOS để chắc rằng nó không ép xung theo cách nào đó. Thiết lập “optimal” bật các thay đổi mạnh tay như chỉnh hệ số nhân tốc độ bus

    • Như những người khác nói, cái CPU “đủ cơ bản” đó thực ra là sản phẩm nhắm thẳng vào thị trường ép xung, và bo mạch chủ được nêu có lẽ cũng vậy. Đó hoàn toàn không phải cấu hình cơ bản mà là hệ thống để tinh chỉnh cao cấp. Chỉ là một hệ thống tinh chỉnh đã 10 năm tuổi thôi
    • Hiếm ai không quan tâm đến ép xung và tinh chỉnh mà lại mua bộ xử lý K. Cũng không ngạc nhiên nếu BIOS bo mạch chủ gaming đặt mặc định “optimal” theo giả định đó. Thị trường gaming xoay quanh benchmark mà
  • Tôi từng gặp chuyện tương tự trên bo mạch chủ Asus. Tự động tinh chỉnh làm máy bất ổn khiến compiler bị crash, và muốn dùng bình thường thì phải cấu hình BIOS thủ công
    Tôi nghĩ vấn đề còn tệ hơn do cách SuperIO điều khiển tản nhiệt. Vì các cú crash có liên quan đến nhiệt độ vọt lên 100°C. Tốc độ tăng quạt thì quá chậm, còn tốc độ giảm lại quá nhanh
    Trên Linux có thể chỉnh việc này ở user space. Nhưng thực tế, việc điều khiển pha tăng tốc nên dựa vào chỉ báo sớm như bộ điều chỉnh điện áp, chứ không phải chỉ báo trễ như nhiệt độ. Hoặc bộ điều khiển p-state của Linux có thể dự đoán mức công suất để đặt tốc độ quạt cao hơn

    • Tôi đang gặp đúng vấn đề này ngay bây giờ. Cấu hình là Asus ROG Z790, 14900K, Noctua NH-D15
      Đường cong quạt mặc định vừa không hiệu quả vừa dao động liên tục rất khó chịu. Nhiệt độ của một P-core đơn lẻ cứ nhảy vọt khiến quạt phản ứng rất lộn xộn
      Tôi từng đọc rằng tăng thời gian ramp-up sẽ làm quạt hoạt động mượt hơn, nhưng nhìn từ trải nghiệm ở trên thì có vẻ điều đó cũng có thể khiến bộ xử lý lỗi