后半段列车的归位工作由他们自行完成——6、7、8号车厢之间的连接门正常运作,普通窗口期足够。陆辞通过敲击车壁的方式传递节奏信号:两短一长代表准备好了,三短代表开始移动。不说话。规则六。
——
第一百五十分钟。
陆辞回到3号车厢。
车厢里只剩他一个人。
他坐在靠门的位置——他进来时坐的那个位置。窗外是永恒的漆黑虚空,车轮轧着不存在的轨道发出有节奏的咔嗒声。空气里弥漫着金属焦味和某种更深层的气息——像服务器机房连续运转七十二小时后散发的热塑料味。
安静。
六十秒倒计时开始了。
规则四:若您所在车厢内仅剩您一人,必须在六十秒内移动至相邻车厢。
规则一:请对号入座。您的车票号码即您所属的车厢编号。
他的车票号码是3。他在3号车厢。移到2号或4号,违反规则一。不移,违反规则四。
两条规则同时激活。
陆辞闭上了眼。
不是在害怕。是在等。
他不需要Bug视界来看接下来发生的事——他用耳朵就能听到。
先是一声极其细微的嗡鸣,像电流过载。然后是显示屏上规则文字的闪烁——他没有睁眼,但他感觉到了光线的变化,红光透过眼睑打在视网膜上。
然后——断裂。
不是物理意义上的断裂。是信息层面的某种东西同时崩溃。像两个线程同时抢占同一把锁,谁都拿不到,整个进程挂起。
他睁开眼。
规则一和规则四的发光文字正在发生他从未见过的事情:两行文字的中央各出现了一条刺目的红色横线——不是下划线,是删除线。红色的光从文字内部渗出来,像代码被标记了deprecated。删除线两侧,报错信息像碎片一样飞溅出来:
RUNTIMEERROR:Rule_01.enforce()conflictswithRule_04.enforce()
DEADLOCKDETECTED—BOTHRULESSUSPENDED
Stacktrace:...mutual_exclusion_at_occupancy==1
FATAL:Noarbitrationhandlerfound.Systemhalted.
红色的代码碎片在车厢内飞舞,像一场数据层面的烟花。每一片碎片上都刻着报错信息的片段,在空气中停留两秒后消散。规则一和规则四的文字被红色删除线贯穿,颜色从金色变成灰色,像两段被注释掉的废弃代码。
整列地铁震了一下。不是物理震动——是所有规则同时感知到了两条核心规则的崩溃。连锁反应。系统在重新分配执行优先级。
陆辞站了起来。
现在。
他的声音不大。但这一次,不需要压低音量了——规则六的执行线程也在这一刻出现了短暂的优先级混乱。不是崩溃,只是延迟。够了。
——
天幕上,全世界都看到了那两条红线。
七十亿人。所有时区。
弹幕在零点三秒内达到了有史以来的最高密度——然后系统自动限流,否则天幕本身会因为数据过载而崩溃。
限流后透出来的弹幕:
红线!!!!规则被划掉了!!!!
我的天……规则居然能被打破?!
不是打破!是规则自己崩了!两条规则互相否定,系统找不到仲裁机制!
@逻辑审计师:……我之前推测规则一和四存在张力,但没想到他会直接把条件推到极限——让自己成为车厢里最后一个人。occupancy==1时两条规则确实互斥,而系统竟然真的没有仲裁机制。这意味着写这套规则的人漏掉了这个边界条件。他不是暴力破解,他是……用规则本身的缺陷杀死了规则。
用规则杀死规则……
这个人到底是什么怪物
@辞神永不塌房:我老公!!!!!!我老公做到了!!!!!!
@规则即正义:……值得记录。但我仍然认为,打破规则不等于正确。
@今天也是活着的一天:活了。又活了。谢天谢地又活了。
——
车厢内,陆辞没有时间看弹幕——他也看不到。
规则崩溃产生的执行空窗期不会太长。他需要在这个窗口内让所有乘客完成最后的归位确认。
事实上,在他触发Bug#1之前,绝大部分乘客已经在正确的车厢里了。他花了一百五十分钟做的调度工作就是为了这一刻——当规则崩溃时,通关条件已经接近满足。
他需要确认的只有一件事:规则八。
【规则八】终点站到达条件:所有持有效车票的乘客均位于对应编号车厢内。届时列车自动停靠,车门开放。
所有持有效车票的乘客。
被列车员带走的人还算持有效车票的乘客吗?
他在之前就想过这个问题。答案是:不算。被带走意味着从乘客列表中移除。系统不会为一个已经不存在的实体保留判定条件。
所以通关条件是:剩余的所有活着的、仍在列车上的乘客,各自回到票号对应的车厢。
他们已经做到了。
列车发出一声低沉的汽笛声——不是汽笛,是系统确认通关条件被满足后的反馈信号。车窗外的虚空开始出现裂缝,光从裂缝里渗进来。真实世界的光。暖色的、带着傍晚味道的阳光。
车门打开了。
站台。真实的站台。瓷砖地面、广告灯箱、自动售货机的冷光。空气里是地下空间特有的潮湿水泥味,混着远处面包店飘来的黄油香。和金属焦味相比,这种气味几乎让人想哭。
乘客们鱼贯走出车厢。有人跪在站台上,有人抱着旁边的陌生人哭。戴棒球帽的年轻人走出车门时回头看了一眼陆辞,嘴唇动了动,最终什么都没说,快步走向出口。
陆辞最后一个走出车门。
他在站台上站了几秒。回头看着那列地铁。车厢内部的诡域光幕正在消散,规则的发光文字一条条熄灭——像代码文件被逐行删除。最后剩下的是规则一和规则四,它们身上的红色删除线还在,像两道没来得及愈合的伤疤。
然后他看到了。
规则四的文字在消散前的最后一秒,闪了一下。
不是整条规则闪——是其中三个字。六十秒变成了三十秒。措辞变了。时间窗口被压缩了一半。
有什么东西在另一端,在诡域消散的最后一刻,悄悄打了一个补丁。
陆辞盯着那三个变化的字,直到它们和整条规则一起消失在空气中。
他的嘴角动了一下。不是微笑。是一种程序员看到同行代码时的表情——辨认,确认,然后是某种说不清的情绪。
caughtyou。他低声说。
(活动时间:2月15日到3月3日)