Matthew Dillon นักพัฒนาในโครงการ Dragonfly BSD พบว่าซีพียูของเอเอ็มดีทำให้โปรแกรมแครชอย่างไม่มีสาเหตุในบางครั้ง หลังจากแลกเปลี่ยนข้อมูลกับทางเอเอ็มดีหลายครั้ง ทางเอเอ็มดีก็ยืนยันว่าเป็นปัญหาในชิปตระกูล E (ตระกูล APU เช่น E-350)
การทำให้บั๊กนี้แสดงผลต้องใช้คำสั่ง pop ต่อเนื่องกันหลายๆ ครั้งใกล้กับคำสั่ง return จะทำให้พอยเตอร์ใน stack ชี้ไปยังจุดที่ผิดพลาด ทำให้โปรแกรมแครชไปในที่สุด
เอเอ็มดีจะออกแนวทางการแก้ปัญหา (revision guide) ออกมาในเร็วๆ นี้ เมื่อคอมไพล์เลอร์หลีกเลี่ยงการใช้ชุดคำสั่งในรูปแบบที่เจอปัญหานี้ก็คงไม่มีผลอีกต่อไป
ที่มา - GMane
Comments
ต้องไปแก้ที่ Compiler ไช่ไหมครับแบบนี้ แล้ว Compiler เก่าๆล่ะ?
update
+1
หลีกเลี่ยงการใช้ชุดคำสั่งนั้น ก็แสดงว่าหลบปัญหาไป เฉยๆ ปัญหาที่ H/W ผู้บริโภคซื้อไปแย่เลย
ถ้าไปอ่าน CPU revision จะมีคำแนะนำเช่นนี้ออกมาเรื่อยๆ เป็นข่าวบ้างไม่เป็นข่าวบ้างเสมอๆ ครับ
ถ้าปัญหาที่ทำ workaround ได้ทุกปัญหา ต้องส่งกลับเพื่อเปลี่ยนตัวใหม่ทั้งหมด ก็เตรียมซื้อคอมพิวเตอร์เครื่องละแสนกันได้เลย
lewcpe.com, @wasonliw
ออ เข้าใจแล้วครับ ขอบคุณครับ
เฮ้อ amd
แล้วถ้าไป call windows api ที่เป็น stdcall ซะเกือบหมดหง่ะ compile ใหม่ยังงัย
windows update