Tag Archives: bugs

遇见了不知道是mcelog还是内核的bug

2月29日,遇到一台运行 kernel-xen 的机器 load 异常高,但没有正在运行的进程的问题。ps 命令结果中,有大量如下进程: root     31246  2817  0 Feb18 ?        00:00:00 crond root     31247 31246  0 Feb18 ?        00:00:00 /bin/bash /usr/bin/run-parts /etc/cron.hourly root     31248 31247  0 Feb18 ?        00:00:00 /bin/bash /etc/cron.hourly/mcelog.cron root     31249 31247  0 Feb18 ?        00:00:00 awk -v progname=/etc/cron.hourly/mcelog.cron progname {?????   print progname “:\n”? root     31250 31248  0 Feb18 ?        00:00:00 cat /sys/hypervisor/uuid 我亲自 cat 了一下那个文件,也卡住了。查看 /proc/$pid/status 文件,发现状态是 disk sleep。搜索了一下,发现有人报告过这个 bug:https://bugzilla.redhat.com/show_bug.cgi?id=522827 。该报告的意思是 mcelog 不应该去读 uuid 这个文件。但我以为,这应该是内核的 bug 吧?既然提供了这个文件,为啥不让读呢?

Posted in 默认分类 | Tagged , , , | Leave a comment

RedHat EL 5 是不是快要出update5了?

因为发现手头一台 xen dom0 上版本是-94的 xend 进程占用大量内存就找 RedHat 公司的朋友问了一下版本号,发现已经有新版本的 kernel-xen -186版本和 xen -108版本了,而且最新的 xen 包依赖了在 CentOS 5.4 里根本不存在的 xz-libs 包和 libext4fs.so 文件。这是不是意味着 RHEL 5 的 update5 快要出来了呢? 这一次,CentOS、Scientific、Oracle EL 谁跟得最快?拭目以待!

Posted in 默认分类 | Tagged , , , | Leave a comment

RedHat 网络安装,对NFS URL的格式要求很高哦

今天用nfs://host/dir的格式安装失败了。后来看了python-virtinst-0.400.3-5.el5包里面DistroInstaller.py文件的源码,发现其中有一步是转换NFS URL的格式: def _sanitize_url(url): “”” Do nothing for http or ftp, but make sure nfs is in the expected format “”” if url.startswith(“nfs://”): # Convert RFC compliant NFS      nfs://server/path/to/distro # to what mount/anaconda expect  nfs:server:/path/to/distro # and carry the latter … Continue reading

Posted in 默认分类 | Tagged , , , , , | Leave a comment

nginx处理bug的速度太快了

今天早晨部门同事告诉我说 nginx 的日志轮换有些问题。我观察了一下细节,发现 nginx 0.7.62 在收到 USR1 信号之后,会同时访问 error.log 和 error.log.1 两个错误日志文件,于是就加入了 nginx 的英文邮件列表,发了信过去。 20:46 作者确认是bug;22:05收到作者发来的补丁。   对比一下 OpenSSL 的官僚作风,我觉得有时个人比团队还好一些。

Posted in 默认分类 | Tagged , | 8 Comments

Redhat真是太buggy了,竟然连OpenSSL的脚本少一句话都没看出来

这两天在考虑HTTPS撤销证书的问题,需要学习OpenSSL签X.509证书的流程,其中用到OpenSSL自带的CA.pl和CA.sh脚本。有个很奇怪的现象就是我用ubuntu里的CA.pl -newca可以生成正确的根证书,而同事用CentOS就不行。一起对比了一下配置文件、脚本,发现CentOS里的CA脚本少一句,导致签发出来的所谓根证书其实只是终端用户证书。然后看了一下RHEL 5,也有这个毛病。 于是就去centos网站提交了bug报告 http://bugs.centos.org/view.php?id=3860 另外,发现nginx只有0.8.7以上版本才支持CRL(证书撤销列表),唉…… 补录: 下午验证了一下,发现OpenSSL原版源代码就那样。奇怪的是redhat为啥选择了有bug的CA.sh而不是正确的CA.pl呢? https://bugzilla.redhat.com/show_bug.cgi?id=524780 2010年3月30日补录: 今天有新闻说 OpenSSL 终于发布 1.0 了,我看了一下,我提交的那个 bug 报告也被标记为已修复状态了。

Posted in 默认分类 | Tagged , , , | 2 Comments

这几天玩了一下kexec

kexec 是一个快速重启动 Linux 系统的工具,其快速主要体现在是从内核开始启动而不是从硬件初始化开始,在当今硬件越来越复杂,开机自检越来越慢的条件下,kexec 可算是提高生产力的一大发明。 kexec 的操作分为两步: 加载内核到内存 运行刚才加载的内核 第一步的语法为 kexec -l  内核文件名 –initrd=initrd文件名 –append=内核参数。注意等号必不可少,否则,虽然 kexec 不报错,但是内核启动时会失败;第二部用 kexec -e 即可。通过查看 /sys/kernel/kexec_loaded 的内容可以判断是否已经加载内核。 目前遇到的问题有这几个: cciss HP SmartArray驱动在重启内核时会失败,导致无法正常进行下去 没搞明白如何用 kexec 加载 xen hypervisor 相信很快就会搞明白的。 同时提一下,发行版提供的 kexec 软件包带有 /etc/init.d/ 脚本,可以把正常的 reboot 操作转变成 kexec … Continue reading

Posted in 默认分类 | Tagged , , , , | 3 Comments