TGTGInsighttelegram intelligenceLIVE / telegram public index
Post content
Post content
感到自己的工程直觉很糟糕,查一个 bug 和 GPT 头脑风暴到前列腺爆炸,不断排查了以下方向: 1. iov 在某些情况是用户态指针,比如零拷贝; 2. 特殊的 syscall 导致独特的数据形状,比如 recvfrom(..., flag=PEEKMSG); 3. 并发导致脏数据; 4. 多线程混搭读数据的现象,比如 thread1 阻塞在 readv(2) 而 thread2 不断用 recvfrom(PEEKMSG) 轮询; 5. 未知的实现细节导致入参某个字段在运行中被修改; 6. clang 过度优化编译出了错指令; 7. 内核栈的副作用,毕竟是 envoy tproxy; 没想到最终发现是我把 u64 截断成 u16,65536 (0x10000) 被截断成 0 (0x0000),被自己菜到无语😅希望能赐我一个千年智慧轮,让我把这 bug 看得清清楚楚明明白白真真切切...