Bonjour 不 Bon:修复 Bonjour 中存在的 IPv6 栈溢出 bug
闲话少说,如果你在使用基于由 Apple 提供的 Bonjour 协议的服务(例如通过网络刷新 AltStore 应用,iTunes WiFi 同步等)时遇到无法正常连接的问题,并且查看 Windows 事件查看器的 Windows 日志中发现此应用程序错误(异常代码和错误偏移量一致):
Bonjour 不 Bon:修复 Bonjour 中存在的 IPv6 栈溢出 bug
闲话少说,如果你在使用基于由 Apple 提供的 Bonjour 协议的服务(例如通过网络刷新 AltStore 应用,iTunes WiFi 同步等)时遇到无法正常连接的问题,并且查看 Windows 事件查看器的 Windows 日志中发现此应用程序错误(异常代码和错误偏移量一致):
在我司一台 x86 服务器上遇到了一个奇怪的问题:这台服务器上一直以来使用的是从 linux-stable 主线的 lts 版本自行编译的内核,具体来说使用的是5.15.15版本内核。
由于驱动需要我尝试在上面编译和引导5.4.172内核,但无法正常启动,内核打印显示找不到任何分区。初步判断是硬盘控制器驱动没有加载,但是驱动已经以模块形式编译了(该服务器使用的是一个博通 RAID 控制器,对应驱动为 megaraid_sas)。
clangd 是 llvm 项目推出的 C/C++ 语言服务器,通过 LSP(Language Server Protocal)协议向编辑器如 vscode/vim/emacs 提供语法补全、错误检测、跳转、格式化等等功能。据说是比 vscode 自己的 IntelliSense 更好一些,我开始用 clangd 的时候 IntelliSense 貌似还不支持使用 compile_commands.js
文件辅助代码分析,因此并没有具体对比过两者的差异。
macOS 上附带的 llvm 是 Apple 自己管理的,属于 Xcode 的一部分,这个版本其实是落后于主线版本很多的。理论上来说这种等待上游稳定后再选择使用的版本稳定性更好,问题会比较少,然而意外的这次在更新了 Xcode 后 clangd 就翻车了。
本文转载自 houmin.cc,原文已被删除,但因为之前阅读此文感觉说明较为清楚(后来查了下主要参考的是 Understanding Linux Network Internals 这本书),因此为方便今后查看,从 wayback machine 找到并转载了这篇文章。文章内容可能有补充修正。
在 Linux 内核的网络代码中,sk_buff
或许是最重要的数据结构,用来表示已接收或将要传输的数据。 sk_buff
定义在 include/linux/skbuff.h
中,它由许多变量组成,目标就是满足所有网络协议的需要。随着数据包在内核协议栈不同层次传递时,Linux 内核不是通过层与层之间的数据拷贝,而是通过追加头信息的方式,这即是 sk_buff
被使用的典型场景:在不同网络协议层之间移动,通过添加数据头的形式传递数据。本文分析采用的是 2.6.35 版本内核。
nvdimm,即非易失性双列直插式内存模块(non-volatile DIMM),相对于传统的易失性内存,nvdimm 在断电后其中的内容也不会消失。
算是博客的第一篇正式文章。
最近尝试了一下原神私服,在弄模型替换的时候出了点问题,正好借此机会对游戏做一点探索。
Update your browser to view this website correctly.&npsb;Update my browser now