各位有没有过出现 bug 离奇消失之事
半年前写了一个 tcp mux 功能的软件练手。
测试的时候有 bug ,当一个通道满速 [下载/上传] ,其他通道都收不到数据。我记得我做了饥饿处理的啊。
然后看代码,没看出任何问题。
因为是个人项目,跑在个人服务器上。没时间弄。我想 [不跑满宽带就没事了] ,于是丢在这里一直没管。
半年过去了,意外全速下载的时候,发现 bug 竟然好了。。。。。
我想到了以前 win xp 无法开机,放一段时间就好了。
电脑主板,开不了机,买了一个新主板,可以开机了,旧主板寄给售后,售后检测说没问题,返回来后发现旧主板又能开机了。
那可能是墙了?
只要是 qa 复现不出来的 bug ,在我这里就都是自动好了🐶🐶
快递员修的
当年做现场桌面运维的时候,用户说自己电脑有问题,每次都出现,结果我站到他身后说“你复现一下”,用户怎么操作都不复现了,问题消失。
大 bug 消失术:我们可以把它解释成特殊的功能。
bug 自己消失了别担心,早晚还会自己出现
能复现的 bug 就是好 bug最恐怖的 bug 是没人发现,一切正常,明天早上你醒来,生产环境崩了
很多年以前市面上做 FOC 控制还在用 STM32F407 的时候,曾经遇到过一次 USB CDC 中间件时灵时不灵的离奇 bug ,单独测试每一个组件怎么测试都工作,但是代码量逐渐增加的时候会突然在某个时候连接不上 USB ,debug 了一晚上都找不到原因 (做过嵌入式的应该都知道这种带实时外部中断和 DMA 外设的程序 debug 起来有多麻烦)。甚至把电路板的硬件都拆下来替换了一遍,又检查了设计里所有的上下拉硬件,排查了一遍电磁干扰都没找到原因。第二天把电路板带到另一个房间里做测试,因为虚拟负载装在另一个房间里。结果在另一个电脑上编译下载固件就突然什么问题也没有了,更离谱的是之后又拿回原来的电脑上再编译下载,也复现不出 bug 了。因为是实验室控制项目,要求可靠度必须足够高,所有 bug 都要找到原因,这 bug 突然消失把大家都整麻了,要是一直找不到原因将来在生产里突然爆发的话后果很严重。所以这下开始反过来疯狂测试怎么才能把 bug 给恢复出来。。。
好奇怪,它怎么就不能工作了。好神奇,它怎么又可以工作了。
后来又来回测试,详细检查之前的所有 log ,所有参数一项一项修改测试,终于发现原来 bug 是 stm32 官方提供的中间件库里有 bug ,在某个特定版本里如果 linker heap size 不在一个很特殊的区间范围内,就会触发这个 bug ,所以当代码量变化的时候,会有时候工作有时候不工作。。。而带到另一个电脑上的时候因为另一个电脑上还没有对应的固件库,所以自动下载并且迁移到了最新版的固件库上,而在新版的固件库里这个 bug 被修复了。。。之后因为把固件又从另一个电脑同步回了原来的电脑上,所以原来的电脑上的固件库也更新了。幸好之前有保存所有错误 log 的习惯,对比 log 才意识到固件库版本被自动升级了,否则大概率永远也不会主动去降级到之前的版本测试参数,那这就要变成永久玄学了。
有可能是你的系统环境变了,比如包/驱动升级之类的
朋友的 iPhone x 摔得开不了机, 换了新手机, 过一段时间又能开机了, 把数据迁移了一下
公司发的春节礼品,选了个破壁机,结果每次使用的时候都报错,一个星期都这样,试了试内胆底部需要垫张纸才行,估计是接触不良。遂联系售后,售后刚好是我老乡,跟我说一定帮我处理好这件事,让我拍个故障视频。巧的是从此之后这个破壁机就再也没出过问题,拍不出视频,也没办法退换了,不过直到现在也都是好的没再出过问题。
之前用的 mate40pro 有天晚上手机用的好好的突然黑屏开不了机,拿去维修,说是主板进水不建议维修了,然后拿回家当天晚上,他自己就开机了,到现在还是能正常使用
一个 bug 导致了另外一个 bug 显示。很正常。
系统替你负重前行
想到之前看到的一个段子安卓开发热更新模块,无论如何其中一个手机下载速度非常慢,反复排查找不到原因,最后发现连接的是楼下咖啡店的 wifi 。
#6 我们之前给领导演示就是这样解释的, 后来再去演示领导还要这个功能, 但这个 bug 是复现不了的😂
#1 BIOS 电池快没电了而已,碰到过好几次,还是华硕的主板。
说明你技术高超😂
我的主板有时候可以装四根内存,有时候又只能装一根内存(装两根或者四根的时候主板 ram 和 cpu 灯一直来回闪)。
代码变量发生改变 或许是某个变量导致的,不好复现
#21 这明显是个玄学问题,靠气场解决。 😆
老家的小米 ax6000 5g 断流,本来想给他卖了,后面不在老家就搁置计划了,反正我爸妈感知不强。回家过年的时候发现突然好了,2.4g 还在断,5g 已经不断了,我看固件版本也没有任何更新呃
买过一个 HDMI 捕捉器。audio output 怎么试都没法正常工作,拆开啥也没动重装回去,再也没出过问题。。
有没有一种可能性,它并没有真正的消失?
reproducible build 果然好重要
我爸有个电视盒子,经常有问题,就是在喊维修员来的时候好好的,后来就放弃修了
我有个剁手兴的手机,个人换新机给母亲用了大半年,冬天摔了下,然后就黑了--暂不知道因果关系吧,老人家用的少,当时电量也不多,母亲怀疑缺电,各种充电,上保温袋充电,一直黑屏--其实除了屏幕,整机运行正常,只是母亲不知道,我知晓后给母亲换了新手机,老的带回城市,某一天,要维护电脑系统,想到中兴机里还有个定制的 pe ,中兴特技--这个无视屏幕,插上电脑会自动识别一个光驱,默认是中兴手机驱动,我 root 后修改为维护 PE 系统盘了,插上手机,屏幕亮了,触摸啥的都正常,只是屏幕黄了些,接着几个月中兴活动来了个老手机换新,这台神机换给中兴了
对于Android,长期以来,我一直有两件事搞不懂, 一个是为什么Android要选用Java。对于嵌入式开发,CPU和内存都很宝贵,居然还使用Java。 一个是为什么And…
最近一台联想服务器安装的 ESXi 8,raid6 8T x 10 ,一块硬盘坏,esxi 内有不到 20 个虚机,新购硬盘插入后,13 日早上重建至今 10 天了还没完成,有…
Computer World上有人评出了有史以来十大臭名照著的操作系统,我们来看看倒底有那些,顺便也回顾一下操作系统的历史。下面的顺序通过时间顺序由古至今。 目录 OS/3…