所谓玄学bug大多是不易触发,或者复现非常困难的bug,而这样的bug大多隐藏在硬件上或者无法捕获的外界环境上。给大家说说那些曾经的“玄学”bug:

17年英特尔公布了一个cpu内的bug,其实这个bug早就出现了,一直有开发者说某些程序在打开超线程后不稳定,但是一直无法准确找到触发条件,直到这一消息被确认:英特尔第六代和第七代 Core 处理器(桌面、移动和服务器版的 Skylake/Kaby Lake 和部分奔腾处理器)在启用超线程时发现存在一个处理器/微码缺陷。该缺陷会导致无法预料的操作系统行为,如应用程序崩溃或数据丢失。应对的权宜之计是关闭超线程,或更新处理器微码。该缺陷不只是影响 Debian 操作系统,可能会影响所有使用上述处理器的操作系统。这汇总bug一般不会轻易捕获,即使捕获了也不太可能轻易去确认。

还有一个“玄学”bug,cpu被宇宙射线射掉了寄存器的值、宇宙射线击穿内存,导致电位翻转等。在强太阳风暴期间都有多颗卫星由于单粒子效应而出现异常和故障,例如,在2003年,太阳质子事件曾经导致地球同步轨道卫星Inmarsat中的一颗卫星由于CPU瘫痪而失效,美国SOHO、ACE、Wind、Polar、GOES等科学卫星数据丢失或损坏。这一情况在医院、研究院、航天领域发现比较多。所以呢有时候服务器宕机、数据乱码都有可能是宇宙射线在搞鬼,但是这种bug说出来一般没人会相信,大多数只能默默认栽了。

还有一个环境导致bug,严格来说并不算是bug,但也挺“玄学”了,这就是美国通用汽车“香草冰淇淋”bug。美国通用汽车公司收到一封客户抱怨信,我们家有一个传统的习惯,就是我们每天在吃完晚餐后,都会以冰淇淋来当我们的饭后甜点。由于冰淇淋的口味很多,所以我们家每天在饭后才投票决定要吃哪一种口味,等大家决定后我就开车去买。但自从最近我买了一部新的庞帝雅克后,在我去买冰淇淋的这段路程问题就发生了。每当我买的冰淇淋是香草口味时,我从店里出来车子就发不动。但如果我买的是其他的口味,车子发动就顺得很。为什么这部庞帝雅克当我买了香草冰淇淋它就发不动,而我不管什么时候买其它口味的冰淇淋,它就可以发动?为什么?事后证明原因是出在这家冰淇淋店的内部设置的问题。因为,香草冰淇淋是所有冰淇淋口味中最畅销的口味,店家为了让顾客每次都能很快的取拿,将香草口味特别分开陈列在单独的冰柜,并将冰柜放置在店的前端;至于其它口味则放置在距离收银台较远的后端。现在,工程师所要知道的疑问是,为什么这部车会因为从熄火到重新激活的时间较短时就会发不动?原因很清楚,绝对不是因为香草冰淇淋的关系,答案应该是“蒸气锁”。因为当这位仁兄买其它口味时,由于时间较久,引擎有足够的时间散热,重新发动时就没有太大的问题。但是买香草口味时,由于花的时间较短,引擎太热以至于还无法让“ 蒸气琐 ”有足够的散热时间。

(图片来自网络)

        所以,所谓的“玄学”bug不过是还没找到原因罢了,运行环境复杂、用户硬件参差不齐都会导致各种所谓的“玄学”bug。但是我们要相信,所有的bug都是有因果的,只不过有些还没发现而已!
https://mp.weixin.qq.com/s/pwHbvvOC3pcoyHWzWt_7EA

当程序遇到“玄学”bug相关推荐

  1. 在TFS中通过程序动态创建Bug并感知Bug解决状态

    为便于跟踪问题解决情况,预警引擎产生的比较严重的预警日志,需要在TFS中登记Bug,通过TFS的状态流转,利用TFS Bug的Web挂钩功能,动态感知Bug解决状态,从而跟踪预警问题的解决状态, 整体 ...

  2. 【有三吐槽】程序员改BUG的六重境界,你,第几重了?

    文章首发于微信公众号<有三AI> [有三吐槽]程序员改BUG的六重境界,你,第几重了? 作为一个程序员,我们也有丰富多彩的bug人生啊,咱们又开新专栏了(实在是有感于最近大家问我的问题), ...

  3. 怎么查电脑系统版本_程序员的bug解决不了怎么办?

    一开始公司新来的新手程序员,最近已经开始了他们的工作,部门的项目经理,为了让他们快速上手,让他们对之前的系统进行BUG修复工作,我认为,这种思路对新手程序员来说,是很有益的,通过查找解决BUG,来熟悉 ...

  4. 发现Java程序中的Bug

    昨天在CSDN上阅读 "Java中十个常见的违规编码"这篇文章时,无意中找到了3个 "发现Java程序中的Bug"工具. 文章地址:http://www.csd ...

  5. Patrick Wyatt:代码没问题 程序却有bug?

    摘要:相信每个程序员都遇到过"不可能的bug",代码没有任何问题却出错了!问题肯定是出在操作系统上,或者是工具,甚至是因为计算机硬件的问题?!?当然,魔兽之父也不例外,他在本文中分 ...

  6. 程序员修复bug的吐血过程,太形象了

    web前端教程 用大白话,来讲编程 当别人向程序员报一个bug,直到程序员把bug完整的修复好,整个过程是一个怎样的经历? 下面用一个维修工的故事类比一下,相信会很多程序员都会感到似曾相似! 假如你是 ...

  7. 漫画:程序员调bug的真实写照233

    程序员调 Bug 的样子,非常真实~ ↓↓↓ (动图原作者是 @我的邻居全是猫 ) 网友评论: @中国有圣人:哈哈哈--太形象了!最后干脆撂挑子不干了!破罐破摔了! @她叫小明:所以发明回溯这个超能力 ...

  8. 程序猿解决BUG之总结

    今天看到一遍博文(老程序员解Bug的通用办法),提到程序猿解决BUG的思路和方法,结合自己的经验总结一些:对待BUG,广大程序猿态度不同,解决方法也不同,各人有各人的法宝,但总结一下,希望对新入行的同 ...

  9. 老程序员解Bug的通用办法

    程序员在很多人的印象里是一份严(ku)谨(bi)的职业,也是一个被搞怪吐槽乐此不疲的职业,程序员们面对复杂的代码敲打电脑时连眉头都不会皱一下,但是有一个词却是他们痛苦的根源,它就是Bug. 记得刚毕业 ...

最新文章

  1. 用navicate 连接本地数据库提示用户名/口令无效
  2. 提示找不到include/common.h 提示No package 'minigui' found
  3. Masonry自动布局详解一:基本用法
  4. Attempt to execute SCRIPT plot as a function?
  5. centos查看mysql信息_CentOS查看和修改MySQL字符集
  6. 针对C64x+的一些优化经验
  7. php中多选提交如何获取,php中checkbox值获取,显示,多选值获取
  8. 蓝牙要抢ZigBee的地盘?低功耗广域网络笑了
  9. JavaCore HeapDump
  10. Mac adobe PS、AI、PR、AN安装包
  11. 出现电脑蓝屏代码0x000000ed怎么解决
  12. python使用mq-fw包
  13. (附源码)计算机毕业设计SSM原创网络文学管理系统
  14. python房价预测_python房价预测
  15. Linux-系统管理16-磁盘配额
  16. 鼠标左键一点就自动删除问题
  17. linux内核启动过程和启动第一个应用程序
  18. vuex 设计思路和实现
  19. 论文查重是怎么查的?有什么规定?
  20. Unknown initial character set index '255' received from server. Initial client character 解决方法

热门文章

  1. Angular 通过管道pipe,转换后台字典数据
  2. php id如何设置主键自增,phpmyadmin设置id主键自增报错怎么办_数据库
  3. 手撕VGG卷积神经网络-pytorch-详细注释版(可以直接替换自己数据集)-直接放置自己的数据集就能直接跑。跑的代码有问题的可以在评论区指出,看到了会回复。训练代码和预测代码均有。
  4. WingIDE注册破解方法
  5. Qt 控制 Windows 系统触摸键盘显示隐藏,自定义添加可编辑控件
  6. 数字电视机顶盒的接收过程
  7. 3大全球性趋势宣告品牌长期主义时代已来,年轻一代消费者更追求感性价值 | 美通社头条...
  8. 基于openssl工具完成自建CA以及为server,client颁发证书
  9. vue,v-html如何识别\n换行符
  10. Linux介绍与操作系统安装