查看问题详情

编号项目分类查看权限最后更新
0000050内核[所有项目] 所有分类公开2016-12-21 18:28
报告员wangyuqian分派给lixuefeng 
优先级紧急严重性很严重出现频率总是
状态 已分配处理状况未处理 
平台LS3A20002H操作系统中标操作系统操作系统版本4.0-0422
摘要0000050: 操作系统启动过程中进入登录界面无图标
描述主板类型:LS3A20002H、LS3A10002H
主板配置:CPU@800M、内存DDR3-4GB@325M
软件版本:BIOS(PMON3.3.1)、KERNEL(linux2.6.32(commit 49276d5b65812dad6672672fc233165c1bcd4b74 (patch)))、OS(中标系统4.0)
软件版本与发布的版本的差异:
内存由DIMM条变成贴片、PCIE扩展两路82574、双屏拼接显示
故障环境:指控软件QT图形、网络UDP通信、磁盘存储、计算、IO板卡
故障现象:进入登录框后系统没有图标,机器没有死,可以通过网络登录
复现方法:不断进行登录并重启实验
复现时间:24小时
已经做的工作:
1. 窗口配置情况有无异常(无)。
2. 内存测试stressapptest(4x1024M) 48小时没有问题。
3. 死机时查看系统日志异常情况(无)。
4. 用EJTAG扫描地址空间有无漏洞(无)。
5. 用EJTAG抓取的故障时的状态信息(4个核全是活着的,没有出现异常 )。
6. 出现故障时通过网络登录系统后,把启动时要用到的可执行文件及库文件做一次MD5校验并将此结果与正常启动时的结果进行比较,发现异常时,某些文件的MD5码有变化,将此文件通过U盘拷出来,重新启动系统后再次对磁盘中出故障的文件做MD5校验,发现MD5码没有变化。但与U盘中存的故障文件比较却发现有规律的连续32字节错误。
问题重现步骤1.机器作重启实验,实验前配置好RTC时间、网络IP地址等必要监测手段,重启的时机设在进行桌面后,重启测试软件保证出现故障时停在当前界面。
2.由于中标系统中安装有prelink包会修改二进制文件,方便系统快速启动,因此为了便于故障排查,在安装系统时,在首次进入系统之前,需先进入Live系统通过 rpm -e prelink来卸载掉 prelink相关的RPM包,避免每次开机系统文件发生改变。经重装系统卸载prelink,保证每次正常开机中的系统文件一致。
在连续的开关机实验中,当异常发生后:
a,通过切换终端,输入pstree,将显示信息与正常机器进行对比,查看哪些系统服务异常,查下对应可执行二进制文件的MD5码,与正常机器的MD5码进行对比,看有无异常;
b,如无异常,通过ldd命令将该异常服务的相关so动态链接库进行MD5校验与正常文件的MD5码进行对比,来发现异常文件;
c,当此方法无法找出发生异常的文件时,则将 /usr/lib,libexex,/lib...等等的系统文件目录中的文件进行逐一MD5码校验对比来发现异常文件;


附注由于在发生异常时,能够找到某个二进制可执行文件或动态链接库文件的MD5码发生改变,因此可以确定系统登陆阶段异常是由于系统文件发生异常改变导致系统启动发生问题,由实验发现被改变的文件存在随机性,异常现象与发生改变的异常文件不同而稍有不同。
又由于异常发生时,通过手动复位重启(包括按复位键及reboot重启),系统大部分会恢复正常,因此怀疑硬盘上的文件其实未被改变,只是载入到内存中的对应文件在某次启动时,概率性的发生改变,才导致该次启动失败。为了验证此问题,做了如下实验:
1,在登陆过程中发生异常时,切到终端,寻找MD5码不一样的文件,用cp命令将该文件拷贝到U盘中进行备份,并将该文件mout到不同目录下进行重新MD5码查看,发现均为错误的MD5码,拷贝到U盘上的文件也为错误的MD5码;
2,由于通过md5sum命令查看该文件均是通过内存进行查看的,无法直接判定硬盘文件是否改变,因此在通过md5sum查看后,直接将机器拔掉电源,将硬盘挂载到Live系统下进行MD5码查看发现硬盘上的MD5码为正确MD5码;
标签没加标签.

活动

wangyuqian

2016-11-19 11:47

报告者  

libglib.diff (821 字节)
--- libglib-2.0.so.0	2000-01-01 19:05:39.000000000 +0800
+++ libglib-2.0.so.0.bk	2000-01-01 19:05:15.000000000 +0800
@@ -29552,8 +29552,8 @@
 00736f0: 0000 b2ac 0100 0224 5c00 bf8f 5800 be8f  .......$\...X...
 0073700: 5400 b78f 5000 b68f 4c00 b58f 4800 b48f  T...P...L...H...
 0073710: 4400 b38f 4000 b28f 3c00 b18f 3800 b08f  D...@...<...8...
-0073720: 0800 e003 6000 bd27 ac81 998f 09f8 2003  ....`..'...... .
-0073730: ffff 0524 1800 bc8f 0000 4282 4bff 0010  ...$......B.K...
+0073720: 0000 0000 0000 0000 0000 0000 0000 0000  ................
+0073730: 0000 0000 0000 0000 0000 0000 0000 0000  ................
 0073740: 21a0 0000 ac81 998f 09f8 2003 ffff 0524  !......... ....$
 0073750: 1800 bc8f 45ff 0010 0000 4282 33ff 6214  ....E.....B.3.b.
 0073760: 2000 a48f 9d00 8010 dc83 998f 0400 838c   ...............
libglib.diff (821 字节)

wangyuqian

2016-11-19 11:55

报告者   ~0000227

1.当故障出现时,通过 echo 3 > /proc/sys/vm/drop_caches,丢弃系统缓存,故障有时可以恢复正常。
2.当故障出现时,init 1,CRTL+ALT+F8,通过dd if=/dev/sda1 of=/home/sda1.img完成后,再init 5,故障可以恢复正常。

wangyuqian

2016-11-19 11:59

报告者   ~0000228

经实验,发现3A2000780E也出现类似的现象,目前还在做实验。

jinguojie

2016-11-22 10:09

观察者   ~0000229

经测试发现3A3000开发板+loongnix-20161120操作系统也能复现此问题:
做重启测试时大概10%的概率出现“进入操作系统后桌面图标不显示,但底部任务栏正常,应用程序也能正常启动”的现象;注销重新登录或重启后可恢复正常。

zhaojun.he

2016-12-21 18:28

报告者   ~0000241

还存在硬盘中系统文件确实被修改,导致后续开机无法正常登陆的情况。
3a1000780e平台和3A2000780e平台均测试出现过。3a1000概率非常低,出问题的机器测试2000次出现一次。3A2000概率稍高一些。

问题历史

日期 用户名 字段 更改
2016-11-19 11:47 wangyuqian 新建问题
2016-11-19 11:47 wangyuqian 添加了以下文件:: libglib.diff
2016-11-19 11:55 wangyuqian 注释已添加: 0000227
2016-11-19 11:59 wangyuqian 注释已添加: 0000228
2016-11-19 12:26 administrator 分派给 => lixuefeng
2016-11-19 12:26 administrator 状态 新建 => 已分配
2016-11-22 10:09 jinguojie 注释已添加: 0000229
2016-11-22 16:31 administrator 分类 General => 所有分类
2016-12-21 18:28 zhaojun.he 注释已添加: 0000241