wye11083 发表于 2021-10-10 13:01:40

今天竟然遇到一罕见蓝屏:0x7F Double Fault,Bug10 Bug真多

Bug10和一些老旧软件兼容性确实不行,ISE 14.7本身就是凑合着使的。结果今天偶然xst崩溃,弹出报错窗口,然后我迅速点了一通(它一直在往外弹{:sweat:} )然后就突然蓝屏了。自动重启之后找到一个MEMORY.DMP,分析了一下:

UNEXPECTED_KERNEL_MODE_TRAP (7f)
....
Arguments:
Arg1: 0000000000000008, EXCEPTION_DOUBLE_FAULT
Arg2: fffff80647883e70
Arg3: ffffa00a42807000
Arg4: fffff806455652ba
....
DEFAULT_BUCKET_ID:WIN8_DRIVER_FAULT

PROCESS_NAME:_pn.exe
....
STACK_OVERFLOW: Stack Limit: ffffa00a42807000. Use (kF) and (!stackusage) to investigate stack usage.

STACKUSAGE_FUNCTION: The function at address 0xfffff68eb008f231 was blamed for the stack overflow. It is using 12288 bytes of stack total in 48 instances (likely recursion).

FOLLOWUP_IP:
win32kfull!xxxDestroyWindow+211
......

竟然导致内核栈溢出?{:sweat:} 继续往下抓:

#   MemoryChild-SP          RetAddr         Call Site
00         fffff806`47883d28 fffff806`4566e869 nt!KeBugCheckEx
01         8 fffff806`47883d30 fffff806`456698a8 nt!KiBugCheckDispatch+0x69
....
61      50 ffffa00a`4280b230 fffff68e`b0090033 win32kfull!xxxDestroyWindow+0x211
62       100 ffffa00a`4280b330 fffff68e`b008f231 win32kfull!xxxDW_DestroyOwnedWindows+0x107
63      50 ffffa00a`4280b380 fffff68e`b0090033 win32kfull!xxxDestroyWindow+0x211
64       100 ffffa00a`4280b480 fffff68e`b008f231 win32kfull!xxxDW_DestroyOwnedWindows+0x107
65      50 ffffa00a`4280b4d0 fffff68e`b0090033 win32kfull!xxxDestroyWindow+0x211
66       100 ffffa00a`4280b5d0 fffff68e`b008f231 win32kfull!xxxDW_DestroyOwnedWindows+0x107
67      50 ffffa00a`4280b620 fffff68e`b0090033 win32kfull!xxxDestroyWindow+0x211
68       100 ffffa00a`4280b720 fffff68e`b008f231 win32kfull!xxxDW_DestroyOwnedWindows+0x107
....
83       140 ffffa00a`4280c920 fffff806`4566ac68 nt!KiExceptionDispatch+0x149
84       1e0 ffffa00a`4280cb00 00000000`6504f1c9 nt!KiPageFault+0x428
85         00000000`00050fe0 00000000`00000000 0x6504f1c9

竟然冒出来几十个xxxDestroyWindow?一个普通的旧Qt+Cygwin程序Win10内核竟然会产生大量嵌套,难怪功能很不正常了,难怪Bug10了。基本无解。想起来Win10会每隔几分钟自动刷新一遍桌面,BSOD之前点一下关闭屏幕也会刷一遍,后面就一直刷个不停,看起来有可能是窗口控件层级嵌套出异常了。这个就无解了。公司一台电脑装的新Win10也会自动刷新桌面,dwm和explorer不停地增长直到几个GB。M$已经被India彻底残废了。据说Win11的explorer狂吃内存,而2个月前就有大量内测用户报告Bug,然而据说正式版仍然没有任何改善。相信Win7彻底不能安装的那一天,就是M$彻底失去专业市场份额的那一天(打游戏的除外,这类人群对内存泄漏/兼容性/稳定性不敏感,只要能打游戏,团战不蓝屏就是好电脑)。

dreampet 发表于 2021-10-10 13:16:30

用的是 ISE 14.7 Windows10专用版本吗?我这边采购的一批电脑也出现自动刷新桌面问题, 后面发现是AMD显卡的管理软件出现问题导致, 卸载后就都正常了。

wye11083 发表于 2021-10-10 13:37:41

dreampet 发表于 2021-10-10 13:16
用的是 ISE 14.7 Windows10专用版本吗?我这边采购的一批电脑也出现自动刷新桌面问题, 后面发现是AMD显卡 ...

我用的nv卡和intel核显全部有自动刷新桌面的问题,进程越多越卡。

不是专用版本,是魔改版本(改rdi32.bat,替换libportibility)。专用版本是套了个virtualbox壳的版本,性能和效率就不说了。。我为啥不用vmware装个win7去跑。

我用的ltsc(1909),空系统没注意,好像也有刷新?估计是从1903或者1809引入的新bug(估计阿三某个地方搞不定了,于是隔一段时间强迫刷一遍桌面。。)

kanprin 发表于 2021-10-10 16:28:12

蓝屏过多次,不知道怎么分析,有解?


wye11083 发表于 2021-10-10 17:45:49

kanprin 发表于 2021-10-10 16:28
蓝屏过多次,不知道怎么分析,有解?

1A/0A通常是内存不稳定/内存出错/主板不良/CPU缓存不良,3B不清楚,不过看到是amd驱动。。。。D1一般是驱动不兼容。

超频的话还有124 CPU供电不足,10d?,也是供电不足。如果主板供电不稳,也有可能出124。

xinjin 发表于 2021-10-10 18:15:30

最近也玩ISE 14.7, 编译太慢了,CPU是4核8线程,PR只能2个线程,MAP只能4线程,无奈用6系列芯片, 准备换7系列芯片

wye11083 发表于 2021-10-10 19:00:00

本帖最后由 wye11083 于 2021-10-10 19:02 编辑

xinjin 发表于 2021-10-10 18:15
最近也玩ISE 14.7, 编译太慢了,CPU是4核8线程,PR只能2个线程,MAP只能4线程,无奈用6系列芯片, 准备换7 ...

编译慢你时序没有调好,或者pr没有配好。给你几个方法:(1)生成一堆ise,每个给不同的seed,(2)把false path做好。记住一点:pr很慢通常是时序没有配好,或者太紧了。此外,ise综合可能会非常慢,这是另一个锅。你搜一下xil low level messages什么的,把这个变量加进去,否则综合时log都要打印个半天。

注意ise的pr false path这里可能有bug。必须要先name一个net,然后每个方向都要重新rename一次,比如from a to b,那么就不能再加上from b to a,必须要改个名字,否则这个网络就被直接忽略了。你可以试验clock groups之类,我在ise ucf下没有用过。

vivado也有类似bug,因为vivado只会在opt时读一次xdc,会造成部分时序不能正常识别,必须在place前后手动读一下xdc(加tcl脚本)。但vivado不支持seed,你要自己加编码输出到一个不可优化掉的地方(比如某个外设读端口)。vivado建议用tcl脚本来跑。想省事可以直接把vivado gui输出的tcl拿来用。可以省几个g的内存(gui非常吃内存)。

通常ise我会同时开16个,vivado同时开16个,安路开4~20个,所以我的工作站是3950x+128g内存。你的cpu可以支持8个ise(大约24g内存够用)和8个vivado(大约56g内存够用),然而你的内存。。。。vivado跑100k lut+230k dff时大概需要8gb内存,注意。

kanprin 发表于 2021-10-10 19:26:06

wye11083 发表于 2021-10-10 17:45
1A/0A通常是内存不稳定/内存出错/主板不良/CPU缓存不良,3B不清楚,不过看到是amd驱动。。。。D1一般是驱 ...

谢谢,去年买的华硕天选,AMD R4800H,加了条8G的内存,估计是加的内存有问题的可能性比较大。

wye11083 发表于 2021-10-10 20:07:50

kanprin 发表于 2021-10-10 19:26
谢谢,去年买的华硕天选,AMD R4800H,加了条8G的内存,估计是加的内存有问题的可能性比较大。
...

估计是便宜的条子了。笔记本应该不支持ecc,所以我只把笔记本当显示器使,数据真不敢放,要知道nvme硬盘会用到系统内存作为外围缓存(hmb缓存)。一旦内存不稳,那数据丢的坏的。。

xinjin 发表于 2021-10-10 20:10:18

wye11083 发表于 2021-10-10 19:00
编译慢你时序没有调好,或者pr没有配好。给你几个方法:(1)生成一堆ise,每个给不同的seed,(2)把fal ...

xil low level messages 请教一下这个怎样设置,没搜到

wye11083 发表于 2021-10-10 20:12:13

xinjin 发表于 2021-10-10 20:10
xil low level messages 请教一下这个怎样设置,没搜到

换bing找。我也记不得清了。

xinjin 发表于 2021-10-10 20:14:17

wye11083 发表于 2021-10-10 20:12
换bing找。我也记不得清了。

综合等到吐血,而且不支持多线程

wye11083 发表于 2021-10-10 21:02:49

xinjin 发表于 2021-10-10 20:14
综合等到吐血,而且不支持多线程



有大量INIT之类的可以省几分钟时间吧。ISE很傻13,那些log信息完全没法关。vivado用tcl要友好得多。

xinjin 发表于 2021-10-10 21:24:40

wye11083 发表于 2021-10-10 21:02
有大量INIT之类的可以省几分钟时间吧。ISE很傻13,那些log信息完全没法关。vivado用tcl要友好得多。 ...

多谢{:smile:}

tim 发表于 2021-10-10 21:31:58

bug确实多,一次能出现两个(double)错误啊{:titter:}

fclose 发表于 2021-10-10 21:49:00

我有个蓝屏经验,不管怎么更新系统/驱动都无解, 后来禁止 "关闭显示器" 终于清静了
bug10 现在我禁止自动更新了, 每次更新几乎都会浪费大量的时间去解决新的问题
页: [1]
查看完整版本: 今天竟然遇到一罕见蓝屏:0x7F Double Fault,Bug10 Bug真多