![]() |
1
levelworm 2024-07-20 08:12:47 +08:00 via Android ![]() 学好 C/C++果然有用啊
|
2
canyue7897 2024-07-20 08:31:14 +08:00 via Android ![]() 为什么不换?
这不就让 C ++背锅了嘛 还能让全世界认识我 |
3
busier 2024-07-20 09:06:03 +08:00 via iPhone
写出 bug 问题不大,问题是都不测试就分发么
|
4
mioktiar56 2024-07-20 09:33:13 +08:00 ![]() 以前刚写 C++的时候还经常犯使用空指针的错误,写了几年后,这种 bug 基本不会出现了;
换成 Rust 虽然没有这种 bug ,还是会有其他 bug 的,和语言没关系,和人关系比较大,估计是降本增效导致的 |
![]() |
5
zhng920823 2024-07-20 09:36:12 +08:00
那个 9c 是结构体或类成员的偏移嘛
|
![]() |
6
liuguangxuan 2024-07-20 09:45:06 +08:00
@zhng920823 9c 应该是无效的地址,不应该访问,所以挂了。
|
7
desGalaxy OP @zhng920823 是的
|
![]() |
8
Rehtt 2024-07-20 11:43:20 +08:00 via Android ![]() 话说推送前没测试吗,这次导致大面积错误的事故应该是可以测试出来的啊
|
9
PrinceofInj 2024-07-20 12:01:18 +08:00
我比较好奇的是如何收场。赔款?还是直接破产?
|
![]() |
10
Kumo31 2024-07-20 12:08:34 +08:00
Rust 又赢了
|
11
lrxiao 2024-07-20 12:26:01 +08:00
按照写这个程序的人的做法, 写 Rust 也只会 unwrap 然后照样 panic (
|
12
crackidz 2024-07-20 13:13:36 +08:00
Rust 党又来了...
|
![]() |
13
minami 2024-07-20 13:57:16 +08:00 via Android
在 servo 完工前任何对 rust 的吹嘘都是扯蛋
|
14
o0DoO0o 2024-07-20 14:12:16 +08:00
换位思考一下,写出这段程序的人现在应该在想怎么安全辞职了
|
![]() |
15
iamtom 2024-07-20 14:37:43 +08:00 ![]() @Rehtt 估计没有实际测试,疏忽了。世界本来就是草台班子。我觉得一点不奇怪。
还有地铁系统出 bug 的,导致路线出错。 |
16
e3c78a97e0f8 2024-07-20 14:41:48 +08:00 ![]() @Rehtt 没测试只是一方面,另一方面是推送的时候不是 incremental ,而是直接推给全球所有用户。只能说这个公司的技能点都点在政企关系上,技术实力差得很。
|
17
kenvix 2024-07-20 14:42:38 +08:00
这简直超级草台班子,但凡开发自己跑一下都不至于这样
|
![]() |
18
y1y1 2024-07-20 14:47:28 +08:00
这个我也看见了,读到最后推荐 rust 猝不及防没绷住
|
![]() |
19
gulugu 2024-07-20 14:54:57 +08:00
这真是毁掉世界只需一行代码啊!只要掌握资源,凡人比黑客还牛
|
20
xjzshttps 2024-07-20 15:06:40 +08:00
这个事情真的很离谱
看全面爆发,这个 bug 触发条件看起来很简单 那么从写出 bug 到全部客户都更新上,中间有多少步骤? 开发自测,专业测试,测试版本上限,正式版小范围推送,中间哪一步都应该能够拦截吧? 或者说这个是时间之类的相关的 bug ?测试时由于一些条件不会触发? |
![]() |
21
yyyyt 2024-07-20 15:31:40 +08:00 via Android
只能说测试都不做就推给了全世界用户
真牛 |
23
w568w 2024-07-20 16:23:52 +08:00
1. 首先明确的是,Rust 在内存安全上无懈可击(不要说什么「都是编码习惯」「我习惯好写 C++ 从来不出错」,Rust 从原理上避开习惯带来的内存问题,把这变成一个根本无需讨论的伪命题了,还不高兴了?)所以说这个问题是不用 Rust 导致的,无可厚非;
2. 但是,重点是 crowdstrike 这个开发测试流程和程序员的态度,就像楼上说的,换成 Rust 多半也只会 unwrap() everywhere ,最后全 panic 掉。换语言能解决个人粗心大意的问题,但这个问题不在其中。还是那句话,出现一只蟑螂的时候,说明…… |
24
786375312123 2024-07-20 16:53:00 +08:00
不是,不说 rust ,不说测试,不说开发能力。
练静态分析都没上?现成的工具一大堆啊? https://clang.llvm.org/docs/analyzer/checkers.html#core-nulldereference |
25
polobug 2024-07-20 16:55:43 +08:00
100 元一台的每年服务费一点都不便宜啊。。
|
26
tairan2006 2024-07-20 16:55:57 +08:00 via Android
草台班子是这样的
|
27
desGalaxy OP @w568w Rust 也有 unsafe 代码可能会有内存 bug 。但 rust 的确让 unsafe 代码明确,且尽量少
|
![]() |
28
winson030 2024-07-20 22:47:56 +08:00
这大公司连 sdlc 都没贯彻落实,实在不能理解。他这情况连 sit 都不可能过的,更何况 uat 和 production 。
|
29
her999 2024-07-20 23:59:07 +08:00
@moudy 昨天上午,我打算下载一个 vscode 的扩张,发现 https://marketplace.visualstudio.com/ 服务中断了。当时的确部分 azura 主机出现异常,而 crowdstrike 也的确通过 azura 更新。但是,如果 azura 出现故障,Crowdstrike 就把下载到的错误的内核文件(*.sys),不经过校验,就直接安装在用户的生产环境中,导致系统蓝屏,那么更证明 crowdstrike 是十足的草台班子。
|
![]() |
30
12101111 2024-07-21 03:45:51 +08:00
@lrxiao 在微软的 gdi rust 内核模块中就能找到 unwrap 的 message ,可见微软也在用 unwrap 和 assert
比如 called Option::unwrap() on a None value gdi_rust\src\xform\mod.rs Src and Dst are of different sizes gdi_rust\src\xform\xformobj_cxx.rs assertion failed: !self.ppath.is_null() gdi_rust\src\pathobj.rs called Option::unwrap() on a None value gdi_rust\src\umptr.rs called Result::unwrap() on an Err value gdi_rust\src\region.rs index out of bounds: the len is but the index is assertion failed: index <= scan_data.len() assertion failed: ScanInternal::is_valid_scan(&&*self.scan_data, previous_index) 用 strings win32kbase_rs.sys 就能看到(版本号 10.0.26100.1252 ) |
31
mongoose 2024-07-21 12:57:20 +08:00
不是吧?
我记得他们官方出的解释文章中说不是因为空指针问题。 |
33
moudy 2024-07-21 18:39:32 +08:00 via iPhone
@kk2syc 我在前一天晚上玩 xbox 发现商店异常,打折页面没响应。但是就觉得 xbox 服务抽风。没想到是微软云抽风,更没想到把 crowdstreik 给点着了
|
![]() |
35
wangshuo6 2024-07-21 20:10:37 +08:00
rust 启动!
|
![]() |
36
VYSE 2024-07-21 21:38:17 +08:00 via Android
可是安全软件的内核模块往往是对 io ,network 的 hook ,不 crash 但模块会不工作,此时也会 bsod...
|
37
Keuin 2024-07-21 23:30:47 +08:00
Rust 也不能保证不会出 bug ,解决 bug 的应该是流程和规范,而非语言
|
![]() |
38
leimao 2024-07-22 07:28:40 +08:00 via iPhone
太长了,推文哪里提到 Rust 了?
|
![]() |
39
leimao 2024-07-22 07:31:29 +08:00 via iPhone
看到了。Rust 就没有空指针吗?空指针这个问题,只能靠检查来解决吧?
|
![]() |
40
Nugine0 2024-07-22 08:41:48 +08:00
讲道理,你们测试会测到 azure 宕机返回垃圾内容的情况吗?多半会认为底层已经有校验了吧。
当天上午我的确先看到了 Azure 大规模宕机的消息,下午就是 CrowdStrike 的大新闻。 |
41
yongdaimi 2024-07-22 09:56:21 +08:00
任何不经过测试的 code 直接推送或入库都是灾难。
|