今天事件的程序猿哥哥呢
我们先叫他凌八哥好了
凌八哥是一个苦逼的富士通程序员
整天帮公司给甲方开发一些
没什么新意的软件
万万没想到,
有一天他接到了一封起诉书
哎哟我天,
长这么大连情书都没收过!
竟然收到起诉书!
这次诉讼是关于 2000 年
给东京证券交易所开发系统时
他写进去的一个 bug
说起来真的是满脸无辜
这个 bug 非常不起眼
而且在特定的组合条件下才会出现
因此在多次测试、验收中
都没有人发现
(下图是包含了 bug 的 cobol 代码)
就是这么一个不起眼的 bug
然而凌八哥就是这么倒霉
偏偏就贪上了大事了
用这个软件的人
是日本瑞穗证券的一个交易员
我们先叫他寿参君好了
2005 年 12 月 8 日,
是 J-COM 公司上市的日子
寿参君接到一位客户的委托:
“请以 61 万日元的价格,
卖出 1 股 J-Com 的股票”
这种本来很基础的操作
结果寿参君硬是在系统上输成了
“以每股 1 日元的价格,
卖出 61 万股”
呵呵哒。
你说你怪谁?
发生这种事你还能怪谁?
大家有没有遇到过这种事
跟微信发红包有点像
有时候你想发 61 个 1 块钱的红包
一不小心发成了 1 个 61 块钱的红包
然后有一个不认识的人
迅雷不及掩耳抢走了红包
等你反应过来的时候
那个人已经退群了!
这种情况还算好的
证券系统上由于有限制
不可以卖 1 日元这种价格
所以系统还自动给他调整成了
以 57 万日元出售 61 万股
真的是…
事情发展到这里
都完全是手抖交易员的错
跟程序员没有半毛钱关系
但是——
后来,寿参君尝试弥补
2 分钟后,他终于发现了这个错误~
握草,你咋不明天发现呢?
然后他试图撤销这笔交易
可是 3 次撤单指令
都被交易系统拒绝了
对,这个地方就是那个
凌八哥的那个 bug!
当时的场面大家想象一下
一方面是寿参君整个人已经懵逼了
连带他的瑞穗证券的管理层也懵逼了
但是另外一方面
当天 J-COM 的股票开盘一度有 91 万元
然后因为这个 57 万元的大单
就开始一直狂跌
散户们先是惊慌失措,各种抛售
然后反应快的竞争对手和大户已经猜到
啊,一定是哪个手抖的乌龙指了!
然后就在那里疯狂抢购
有便宜干嘛不占啊!又不是智障
然后由于 57 万日元已经是相对低价了
接着又引发日本大妈跑步进场
各种抄底扫货一抢而空
这个场面。。。
没能目击真是我本世纪最大遗憾
还不止是这样
当时 “有一个券商出了乌龙指”
这个消息不胫而走
所有股民都知道了
在还不知道是哪家券商的情况下
所有券商股票都惨遭抛售
如果各大券商们将来知道这一切
都是因为寿参君的话
恐怕他很难再在这一行混了。。
请计算寿参君的心理阴影面积
还没完啊,为了止损
瑞穗证券又决定自己反向买入 J-COM 股票
于是加入抢购的大军
就在这样各方疯抢的情况下
J-COM 的股票一度又被拉高到
77.2 万日元
最后到当天交易结束
瑞穗证券一共损失了约 270 亿日元
J-COM 的主要发行商日兴证券
股价一度狂跌 8%
当时大盘日经指数应声下跌 301 点
卧槽,竟然只下跌 301 点
下跌 3000 点我们中国股民都挺过来了!
301 点多大点事?
虽然收盘了,但是悲剧还没结束
因为 J-COM 的股票
一共只发行了 14000 多股
现在这 61 万股
难道要画出来?
(原谅我今天画性大发)
最后经过协商
瑞穗证券用每股 91 万日元的价格
现金清算了股民手上的 9 万多股
还好剩下的都被自己反向买入了
但是这样一来
真的是雪上加霜
他们的损失扩大到 400 多亿日元
据事后统计
这些钱有 40% 被 6 个著名金融机构瓜分了
包括瑞士银行,摩根斯坦利,日兴证券,
雷曼兄弟,瑞士信贷,野村证券
他们趁火打劫了 168 亿日元之后
扭扭捏捏不想把钱还回来
真是令人心寒啊~
不过这些跟我们都没啥关系了
只能看看
话说瑞穗证券从此受到重挫
据说这 400 亿比他们一整年的利润还多
而当事人本人的姓名
一直没有被公布
这个公司也算是良心啊
所以我们在这里
只能让他化名为寿参君=手残君了~
只不过,本来公司正在计划发年终奖的
这些全体员工的年终奖
都变成西北风了~~
好了,背景前戏告一段落
下面瑞穗开始追责了
噢,正片终于开始了~
瑞穗认为
自己在事发后的 2 分钟
就已经尝试撤销交易
但是由于系统 bug
导致他们没能及时止损
在取消指令发出之前的损失自己认了
但是那之后的损失
应该由东京证券来买单
说的也算是有理有据
很快,东证社长鶴島琢夫
因为此事引咎辞职。
但是,东证没打算背这个锅
他们把责任全部推到
当初承包这个项目的富士通身上,理由是:
我的需求里,
是明确写明可以撤单的
是你开发的系统没有符合我的需求
富士通的表态更加坚决:
我去,你手残你怪谁呢?
双方就这样开始扯皮
谈来谈去谁也不肯让步
于是,2006 年 9 月
瑞穗把东证和富士通告上了法庭
开始了漫长的十年诉讼之路
其实吧,在我们看来
这件事寿参君肯定是主要责任
任何系统,都不可能完全没有 bug
任何测试,都不能确保测出每一个 bug
否则的话,我每次电脑蓝屏
都损失了好几行劳动成果
如果这些都要赔钱
世界上最大的 bug 生产商——
微软,早就赔得连内裤都不剩了
关于这个案子
东京地方法院给出的判定是:
这个系统的主要责任人是东证。富士通只是东证的系统供应商,属于连带责任人。无论是主要责任人还是连带责任人,如果被证明犯有重大过失,都应该做出赔偿。
那么问题来了,
什么样的 bug 算是 “重大过失” 呢?
法院给出了判断的标准:
这个 bug 是不是很容易被发现。
于是,控辩双方都请来了资深程序猿专家
在法庭上当庭 review 代码
蔚为壮观
让我想起了乐视的庭审~~
穗瑞专家组:
这种 bug 都测试不出来?妈的智障~~
富士通专家组:
这么复杂的 bug,
你给我马上重现一个试试?
你行你上,no can no bb!
而此时的法官表面上
泰然自若胸有成竹
而他的内心 os:
总而言之,
在这场盛大的当庭撕代码之后
最终东京地方法院判定:
程序 bug 并不能算是重大过失,由这部分导致的损失无需赔偿。
但是,在瑞穗证券电话联络东证交易所后,东证未能履行中止异常交易的职责,属于重大过错方。另一方面,事情的起因是由于瑞穗证券的乌龙指,所以瑞穗证券也不能完全免责。从电话联络那个时间点以后产生的损失,由东证承担 70%,107 亿日元。
瑞穗证券和东证
都对这个审判结果表示不满,
上诉到东京最高法院。
2015 年 9 月 3 日,
东京最高法院驳回上诉,
维持原判结果。
长达 10 年的诉讼终于尘埃落定
各位程序猿哥哥是不是
觉得心里暖暖的呢
法律是站在程序猿这一边耶
其实并不是。。。
“bug 是否很容易被检测出来” 这一点,
从此将会成为此类诉讼的判断标准。
所以万一被判定成重大过失,
程序猿们可真是欲哭无泪了。
本案也让东证认识到,
旧交易系统的老朽化以及 bug 过多等缺陷。
以瑞穗证券乌龙指事件为契机
他们开始了金融行业的重大项目
开发全新的交易系统
这个新系统,
依然由富士通负责开发。
你们这种基友真的是真爱好嘛~
至于那位凌八哥
就没有再接这个 case 了
他痛定思痛
回去改了个名字叫
凌八哥 = 0 bug
希望大家坚挺在编程第一线
每天都 0 bug 好嘛~~
版权声明:本文系 “酷玩实验室”(公众号:coollabs)授权 sumile 发表,如需转载请联系 “酷玩实验室” 获取授权,严禁私自进行二次转载,违者必究。
转载请注明:热爱改变生活.cn » (转)一个 bug 引发证券业 400 亿天价损失,程序员懵逼了
本博客只要没有注明“转”,那么均为原创。 转载请注明链接:sumile.cn » (转)一个 bug 引发证券业 400 亿天价损失,程序员懵逼了