分享几个让程序员看傻的 bug

2024-10-14


bug,最容易让程序员崩溃的一个词,但也是工作中最难以避免的。遇到简单的一调就好的bug还好,最怕调了一个1个bug,又新增了几十甚至上百个bug……还有什么比这个更让程序员崩溃。 


@诺克提斯脑壳疼:

       以前在一个小公司遇到的bug,一个只在阴雨天出现的bug,一个同事至今想起来还激动的拍轮椅。测试环境的服务器是两台实体主机放在我旁边的桌子下面,生产环境用的阿里云服务器。某天前端开发人员反馈测试环境某些接口调不通,某些接口正常,经过排查,调不通的接口都在同一台测试机器。过去看发现机器居然关机了!我们很奇怪,周末办公室没有断过电,为什么机器会自动关机?重启大法解决了。

然后这个问题谁都没放在心上,直到过了几天又出现了!这下开始慌了,是不是谁写的代码里有隐藏的bug导致了机器会关机?但是代码审查一直没有查到这样的代码,而且几个版本的迭代过程中生产环境从来没有过这样的问题而这个bug像个梦魇一样,隔那么几天就来一回,而且我们发现每次bug出现的时候都是阴雨天。

老板下令一定要找出原因,不然每次新版本上线都胆战心惊,怕问题蔓延到生产环境于是我把两台服务器从桌子下拉出来摆在我脚边,就是要看看到底什么原因。后来问题找到了,天气一冷坐我对面的家伙就把腿抬起来放到测试服务器主机上,那里出风口暖和,不小心就把插头搞接触不良断电了,我们把他腿打断之后这个问题再也没出现过。


@雨歌:

说说我做Android系统遇到的一个bug。测试妹子提了一个bug,说她在午休的时候看手机,屏幕亮度有时候会突然变亮或变暗。我查看了log,没有特别的异常,亮度确实是变化了。午休的时候,我们是关灯的,光线比较暗,难道这个时候手机的亮度自动调节会有bug?

我把手机放到桌子下面黑暗的地方,抓取log,查看亮度,没有大的波动啊。但妹子却表示这个问题她很容易复现。于是我决定找妹子当面聊聊。这是一个萌妹子,眉清目秀的,眼睛大大的,戴着一副圆框眼镜,微微泛着青光。

在妹子描述她的测试过程的时候,我一直望着妹子美丽的面孔,不知道妹子有没有男朋友呢,妹子都有些害羞了,转过头去,突然间,我兴奋了,对妹子说,你转过来,让我看看,妹子惊愕的看着我。我继续说,你的眼镜反光。答案确实如此,眼镜反光,L-sensor接收到的亮度发生了变化,进而影响到了屏幕亮度。


@北冥有鱼:

朋友是游戏制作人,一次他们公司游戏要搞活动,充值8折优惠。

负责这个功能的开发,弄出来的结果是:玩家充值100,发现只得到了80的金币……游戏被骂惨,当时还是在qq空间上线的页游。


@某用户:

作者为医院急救设计了一个相关程序,在实验室运行良好,但是每次在医院调试都出 bug,作者只好到医院去调试,而且是当着急救病人!经过漫长的测试终于发现,是由于医院使用的X射线导致电脑内存总是丢失几个 bit 的信息,而导致程序出问题,最终通过把电脑的内存用铅板隔起来解决!对了,还有一个类似例子的也是这样,大体也是由于山上的辐射过大,导致电脑丢失bit信息。如我们普通程序猿对于这样的 bug,只能是默默流泪了……


@刘宾:

好多年前跳槽来现在这公司。进公司后先取花名,然后自定义域登录名,我就按我的名字起了一个纯意译的英文组合叫“guest.liu”作为域登录名(当然后来被同事叫做“该死的刘”是后话)。紧跟着开展工作时,发现线上权限怎么都申请不下来,持续找PE和运维一个月,他们也很懵,从没遇到过这种情况。最后PE开发反复核查,找来找去发现个bug,在他们权限相关的代码中有个判断,if登录名中找到了“guest”,那么这就是个guest用户,只有guest权限,这样我的账号就一直申请不到权限,他们也没想到真的有人取名叫“guest”。


@小洛:

发生在工厂的事,产线生产时,其中一条线的zebra打印机在打印标签时比其它线要多耗时3秒左右,即使是打印一样的东西。我们知道这个消息时,都是一副你特么在逗我的表情,因为程式都一样啊,14条线都没问题,就你不行,说是不是你们干了些啥?当时心想要是真有人改了啥数据,导致产量没达标,再导致我们被追责,看我不打死他!结果当然没人做啥改动,毕竟我们为了防止这种情况,很多数据都没法直接修改,于是开始找bug……

因为产线一直在生产,所以没法在线debug,我们在线外模拟,一直都是正常的,而且旁边还有14条线也是正常的,把别的线的程式拷贝过来,也特么不行,妈蛋,电脑都一样啊!后来我们直接换了电脑,就好了,难道那台电脑有鬼?把电脑拿回办公室,装上VS2012,下载代码到D盘,开整,正常了!卧槽,真见鬼了?仔细一想,产线是把程式放到了E盘,难道这还有差异?

算了,救人救到底,送佛送到西,E盘再来一次,尼玛,问题出现了……问题是本机的模板的最后修改时间和服务器上的模板的最后修改时间不一致,导致每次都需要重新下载模板!而模板下载到本机后,最后修改时间会增加1到2秒,果断看下硬盘的分区格式,服务器是NTFS,这台电脑的D盘是NTFS,E盘居然是FAT32!哪位大仙干的好事,你粗来,我要打死你!


@wuz

听一个希捷的朋友说的。

有用户反映每次用笔记本播放李娜的青藏高原时,电脑就会死机。经测试发现,唱到最后的“那就是青藏高...”时,硬盘产生了共振,振幅过大,读写头读不出数据了。

为了抓住这个bug,朋友听了一个月的青藏高原...


@武汉吴彦祖

大二的时候上数据结构课程,有一个小作业。

要求:输入n,随机生成n个点,在图形化界面上显示出来,计算欧式距离最近的两个点,并将这两个点连起来。

花了差不多一个小时写完了这个作业,结果当程序运行的时候,不管n输入的是多少,在gui界面上总会有一个点处于一个固定的位置,就算n为2也有。并且,就算这个点离某个点的距离为界面上最近的点对距离,也不会把这对点连上。

于是我开始debug,代码一行一行的看,python库的源码也点进去看了,但是一直找不到问题。如果我把程序放到室友的电脑上运行,则没有这个bug。

到此为止我基本确定了是我电脑的问题。于是我开始检查我电脑的环境,把python删了又下,conda删了又下,甚至把java的环境也删了,这个问题始终解决不了。

一直debug到当晚凌晨,可是还是没解决问题。第二天中午起床后点了个外卖,在电脑上放了个剧。吃饭的时候手一抖,一小滴汤溅到了显示器上。

于是我盯着昨天出bug的那个点,发现没运行程序的时候也有(壁纸颜色偏暗,gui界面背景全白,所以平时没发现)。

难道。。。?

于是我抽了一张纸,沾了点水,缓缓把手伸过去,擦了一下。

神奇的点没有了,纸上转而出现了一丝深色。

于是我立马run程序,发现那个点没有了,bug解决。

 


返回
;