Chinaunix首页 | 论坛 | 博客
  • 博客访问: 128220
  • 博文数量: 11
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 120
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-24 15:58
文章分类

全部博文(11)

文章存档

2009年(11)

我的朋友

分类: LINUX

2009-07-25 11:07:15

前言
    我们曾经在某个平台上遇见一个奇怪的问题:当从网上获取图片或XML/HTML数据时,无论是TCP 还是UDP ,数据会被随机破坏,从而导致图片有明显的马赛克,XML或者HTML以格式不正确而无法被解析。而且数据的破坏的位置也是随机的。从dump出来的XML或者HTML内容来看,都是一些随机数据覆盖了正常数据。这对于一个基于网络的产品,这种错误是无法接受的。这种错误以各种随机现象充斥在bugzilla 中,最终的debug 都把矛头指向了网络系统调用recv/read ,问题是,这个究竟是谁的错: User space(Server,Client,uClibc) ? 还是kernel space(kernel) ? 抑或两者都有?
 
全文概要
    本文主要通过一个具体的网络问题,展示了一个完整的debug过程:从user space, 到recv系统调用,再到kernel network stack的追踪,直到问题的最终解决。
 
 
附件为全文pdf.
 
文件: network_problems_tracing.pdf
大小: 331KB
下载: 下载
阅读(8029) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~