趣事记录 | 有哪些让你目瞪口呆的 Bug ?
在知乎上看到一个有趣的 Bug 事件,转载记录一下。
原回答地址:Here
发生于麻省理工的一个有意思的bug:只能发500英里的邮件。
原文在此:http://web.mit.edu/jemorris/humor/500-miles
相当Nerd的bug,有兴趣的人看看吧。
大意是,当年麻省的一名系统管理员,忽然收到统计系主任打来的求助电话“咱们的邮件发不了 \(500\) 英里以外的地方,其实,是 \(520\) 英里更准确点”。
系统管理员心里¥!&……*&。
不过在他开始用自己的邮件测试后,发现邮件的确只能发往 \(520\) 英里以内,其余的收件地点一律失败。
于是在他一片纠结中他渐渐开始发现问题,邮件服务器被人更新过操作系统(当年还是SunOS),但是由于操作系统的发行版往往配备了旧版软件,于是在更新操作系统的时候邮件软件反而被降级了(Sendmail 8 -> Sendmail 5)。
于是进一步调查发现,在更新操作系统时,管理员自己编写的Sendmail配置文件(sendmail.cf)被保留了下来。这样就出现了这种状况:Sendmail 5尝试解析Sendmail 8的配置文件。
但是为什么会是 \(500\) miles呢?为什么是 \(500\) miles咧?
原因是这样的,Sendmail 5面对陌生的配置文件,凡是不理解的部分都会忽略,凡是没设置过的配置项自动设置成0。这样其中有一个被设置成0,这一项就是 (连接远端SMTP服务器的超时时间)timeout to connect to the remote SMTP server。后来经过实验,发现\(0\)秒的timeout会导致Sendmail在 \(3\) 毫秒后中断连接。
所以,为啥是 \(500\) miles?
在当年,MIT的校园网是没有那么多router的,也就没那么多网络延迟,所以连接一个远端主机的时间大概就是光所需的时间。于是3毫秒, 就意味着:
\]
\(558\) 英里。也就是 \(558\) 英里以外的服务器,都无法连接到,而 \(558\) 英里以内的服务器,都可以正常通信。
当当当,这就是 \(500\) 英里的bug啦。
趣事记录 | 有哪些让你目瞪口呆的 Bug ?的更多相关文章
- 那些让程序员目瞪口呆的Bug
程序员一生与bug奋战,可谓是杀敌无数,见怪不怪了!在某知识社交平台中,一个"有哪些让程序员目瞪口呆的bug"的话题引来了6700多万的阅读,可见程序员们对一个话题的敏感度有多高. ...
- 【记录】让人淡疼的BUG之参数传送错误
前言 面试的时候往往容易被面试官问到:“说说你遇到过的比较重大或经典的Bug有哪些,能说一说吗?”我被问时脑海的反应是:“尼玛,这个我从来没有刻意记!一时半会咋想得起来,然后还是没想起来或者是随意给了 ...
- 记录一下最近的解决的坑爹bug
最近解决的bug长得都很别致啊,记录一下 一 :天气插件引用报403 项目里有一个天气插件引用一直报403 后来确定原因是headers里缺少referer源,无法访问资源的服务器,再后来又发现项目引 ...
- 记录 Ext 日历月份选择控件bug解决过程结果
目录 背景 代码 背景 项目使用 Ext.NET 2.2.0.40838 , 对应 Ext JS4.2 版本. 结果 2017/3/31 号的时候偶然间点日历选择控件选择2月,10月等月份突然就跳到3 ...
- [小细节,大BUG]记录一些小问题引起的大BUG(长期更新....)
[小细节,大BUG] 6.问题描述:当从Plist文件加载数据,放入到tableView中展示时,有时有数据,有时又没有数据.这是为什么呢?相信很多大牛都想到了:我们一般将加载的数据,转换成模型,放入 ...
- 寻找bug并消灭系列——记录在Android开发所遇到的bug(一)
之前使用了Android Studio的插件直接为button绑定了监听器,并实现onClick方法(我的onClick方法无论点击哪一个都是要实现setcontentview这个方法设置layout ...
- 寻找bug并消灭系列——记录在Android开发所遇到的bug(二)
bug 1: bug描述: 无法成功地将edittext中的内容传入数据库中 bug动图: 经过: 最近写了个项目,项目要使用到SQL数据库,由于没有相关知识,便是找到了各种资料开始了自学之旅,在de ...
- 记录一个终端入网小助手的bug
背景:技术leader拿到一台超薄笔记本,系统标准化安装,笔记本一开机风扇嗡嗡响,键盘也开始发烫,资源占用排名前三的进程都是终端管理软件,一下子就找上门了.处理:进程分析发现异常,卸载入网小助手后恢复 ...
- ie6,ie7,ie8 css bug兼容解决记录
ie6,ie7,ie8 css bug兼容解决记录 转载自:ie6,ie7,ie8 css bug兼容解决记录 - 前端开发 断断续续的在开发过程中收集了好多的bug以及其解决的办法,都在这个文章里面 ...
- Lucene.net(4.8.0) 学习问题记录五: JIEba分词和Lucene的结合,以及对分词器的思考
前言:目前自己在做使用Lucene.net和PanGu分词实现全文检索的工作,不过自己是把别人做好的项目进行迁移.因为项目整体要迁移到ASP.NET Core 2.0版本,而Lucene使用的版本是3 ...
随机推荐
- java笔记——面向对象
1.概述:面向对象是基于面向过程的编程思想 举例:把大象装进冰箱 2.开发:不断的创建对象,使用对象,指挥对象做事情 3.面向对象特征:封装 , 继承 , 多态 4.类和对象的关系: 类是一组相关的属 ...
- HTTP 和 HTTPS 之间除了安全性区别外,还有哪些区别
HTTP 和 HTTPS 是两种常见的网络协议,它们都是用于在浏览器和服务器之间传输数据的.但是,它们之间也有一些重要的区别,这些区别涉及到数据的安全性.传输性能.使用成本和搜索排名等方面.本文将从以 ...
- Linux 运维人员最常用 150+命令汇总
版权声明:原创作品,谢绝转载!否则将追究法律责任. ----- 作者:kirin 目录 版权声明:原创作品,谢绝转载!否则将追究法律责任. ----- 作者:kirin 命令帮助手册1 命令帮助手册2 ...
- vue3.3实验性新特性defineModel
子父之间使用v-model双向绑定数据,子组件每次都要写emit和props觉得麻烦? vue3.3新的实验性特性defineModel可以完全不写emit和props. 由于是实验性特性,所以需要配 ...
- Linux磁盘专题
物理磁盘名次和其作用 盘片:disk 盘片上下都有磁头. 磁盘面: 盘片有上下两面,每一面叫磁盘面 磁头:heads 每个磁头负责一个磁盘面,负责读取数据.将数据写入磁道. 磁头都是固定在机械臂上(机 ...
- 华企盾DSC造成扫描仪无法扫描成pdf文件
解决方法:去掉缩略图策略,重启电脑
- NLP复习之向量语义
向量语义 词汇语义 语义概念(sense or concept)是单词含义(word sense)的组成部分,词原型可以是多义的. 同义词是指:在某些或者全部的上下文中,单词之间有相同或近似含义 可能 ...
- OpenSSL命令总结
OpenSSL命令总结 疑今者察之古,不知来者视之往. 导航 介绍 对称加密 公钥加密 信息摘要 数字证书 杂项 介绍 密码学标准和互联网协议一样,是一种大家都遵守的约定和标准,比如PKCS#1中规定 ...
- 2023年资深C#开发者的思考
2023年转眼间就这样过掉了,作为一名资深C#的开发员人员,年龄也大了1岁,从最早接触C#开始,算下来已经超过15年以上了,随着工作经验的不断增加,物价不断的飞涨以及家庭支出的不断上涨,工作1份工资已 ...
- 工作中常用的一些Linux指令,简单易记还实用(三)
成功路上最大的困难就是坚持,每天坚持看一道算法,每周坚持看一本好书! 工作中,离不开Linux系统,很多刚步入职场的小白,往往对于Linux操作系统的使用都显得生疏,最主要的就是对一些常用的指令记忆不 ...