ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

遭遇AMD 3700X CPU的rdrand指令的卡死

2022-06-11 23:04:50  阅读:594  来源: 互联网

标签:BINARY 3700X ntdll AMD DWORD rdrand REG


调试一个exe,偶尔发现exe卡死,用windbg一看,好多线程都在等待一个线程释放CRT内存申请的锁。
而这个线程也在调用malloc申请内存,走到了LowFragHeap里面,正在执行一条rdrand指令。
让exe继续执行,然后断下来看栈,发现这个线程一直卡在rdrand上并未返回。

搜了一下,AMD Ryzen 3000系列出过rdrand返回的随机数不随机的bug。
看来还有卡死的bug。先看看cpu微码有更新包没。

# Call Site
00 ntdll!RtlpHeapGenerateRandomValue32+0xa3
01 ntdll!RtlpSubSegmentInitialize+0x2cf
02 ntdll!RtlpLowFragHeapAllocFromContext+0x6ef
03 ntdll!RtlpAllocateHeapInternal+0x12a

 

 

查看CPU微码当前版本的命令:reg query HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0

输出信息:

HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0
Component Information REG_BINARY 00000000000000000000000000000000
Identifier REG_SZ AMD64 Family 23 Model 113 Stepping 0
Configuration Data REG_FULL_RESOURCE_DESCRIPTOR FFFFFFFFFFFFFFFF0000000000000000
ProcessorNameString REG_SZ AMD Ryzen 7 3700X 8-Core Processor
VendorIdentifier REG_SZ AuthenticAMD
FeatureSet REG_DWORD 0x383b3dff
~MHz REG_DWORD 0xe10
Update Revision REG_BINARY 2110700800000000
Previous Update Revision REG_BINARY 2110700800000000
Update Status REG_DWORD 0x3
Platform Specific Field 1 REG_DWORD 0x8701021
Platform Specific Field 2 REG_BINARY 00000000

 用AIDA64看到的微码版本号是08701021h。除了字节顺序,和上面显示的一致。

制造商 AuthenticAMD
名称 AMD Ryzen 7 3700X 8-Core Processor
修订版本 00870F10h
扩展修订版本 00870F10h
平台 ID C7h (Socket AM4)
微代码修订更新 08701021h
SMU Firmware Version 46.62.0

主板是MSI的B450M MORTAR MAX,先在官网更新一下BIOS再说。官网最新BIOS版本是2022-05-16,很新了。

https://www.msi.com/Motherboard/B450M-MORTAR-MAX/support#bios

 

参考:
血泪控诉:曝光数月的AMD微代码bug毁掉了我的周末
https://cloud.tencent.com/developer/news/465936

标签:BINARY,3700X,ntdll,AMD,DWORD,rdrand,REG
来源: https://www.cnblogs.com/z16166/p/16367036.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有