一个空格引发的惨剧

标签: Unix/Linux 杂项资源 轶事趣闻 bumblebee Code Review | 发表时间:2011-06-20 08:26 | 作者:陈皓 康爷
出处:http://coolshell.cn

你是否相信如果你的程序里没有检查一个变量会导致怎么系统瘫痪?无论你相不相信,这是我一个亲身经历过的案例,你可以在本站的程序员那些悲催的事儿中找到很多这样的事。这样的事昨天在发生,今天同样在发生。Unix40多年了,在这40年里,程序员发生过各种各样的的惨剧,但是大多数的事情一而再再而三的重演。

今天的你,可能在开发者各种各样NB的系统,你会相信你的一个空格也能导致系统瘫痪吗?也许你可能很难相信这个事。不过,再下面这个事将告诉你这个血淋淋的事实 —— 一个空格产生的bug可以让你的系统瘫痪。

bumblebee是一个开源项目,这个名字也就是变形金刚里的大黄蜂,这个项目是这样介绍自己的——

bumblebee is Optimus support for Linux, with real offloading, and not switchable graphics.. More important.. it works on Optimus Laptops without a graphical multiplexer..

Optimus 是NVIDIA的“优驰”技术,其可以将您的笔记本电脑PC提升到绝佳状态,提供出色的图形性能,并在需要时延长电池续航时间。这个项目是把这个技术移到Linux上来。

这个项目本来不出名,不过,程序在其安装脚本install.sh里的一个bug让这个项目一下子成了全世界最瞩目的项目,这个bug的fix如下:

@@ -348,7 +348,7 @@ case "$DISTRO" in
-  rm -rf /usr /lib/nvidia-current/xorg/xorg
+  rm -rf /usr/lib/nvidia-current/xorg/xorg

看明白了吗?空格。这个空格会导致什么样的问题呢?呵呵。你有没有感到菊花一紧?这个bug绝对的霸气外露!真是验证了“如何写出无法维护代码”的那句话——“测试你的程序是一种懦夫的行为”。

不过,最精彩还不是这个bug,而是全世界程序员的对这个bug 的 code review comments,真的相当的欢乐。请强势围望!

https://github.com/MrMEEE/bumblebee/commit/a047be85247755cdbe0acce6#diff-1

重点是其中的很多图片——下面的图片众多。

 

derp

MEME

 

meme

 

Bear G

 

meme

 

1

2

3

 

never take our /usr

 

 

LOL

 

 

 

para

 

Failtrain

 

kicked in nuts

 

(全文完)

相关文章

相关 [空格] 推荐:

一个空格引发的惨剧

- 康爷 - 酷壳 - CoolShell.cn
你是否相信如果你的程序里没有检查一个变量会导致怎么系统瘫痪. 无论你相不相信,这是我一个亲身经历过的案例,你可以在本站的程序员那些悲催的事儿中找到很多这样的事. 这样的事昨天在发生,今天同样在发生. Unix40多年了,在这40年里,程序员发生过各种各样的的惨剧,但是大多数的事情一而再再而三的重演.

一个空格引发的悲剧

- Ray - cnBeta.COM
是这样子的――先来一点背景介绍,GitHub.com 这个网站,是目前最火的源代码托管网站及程序员社区,用它来托管和发布共享开源软件是免费的. 来自世界各地的程序员(或公司)们喜欢在这个网站上发布自己的项目源代码,也可以在这方便地获取、查看和评论别人的源代码.

比较全面的Eclipse配置详解(包括智能提示设置、智能提示插件修改,修改空格自动上屏、JDK配置、各种快捷键列表……)

- - 博客园_首页
Eclipse编辑器基本设置. 之后点击右边的New按钮,新建一个风格. 上图中选中的标签Braces 花括号. 之后再编辑别的风格的时候在上一层菜单点击Edit按钮. 6、JDK添加、选择及编译设置. 配置快捷键 Content Assist. 8、增强Eclipse(MyEclipse)输入代码提示功能.