LTP(Linux Test Project)学习(六)—— 问题分析:chattr命令的限制

(挑选本人之前发现的bug,可以更加深入讲解下问题分析历程)
对应补丁commit:9af831cdf6d2328e6f6fcd85dd1d5523fd8681d3

BUG发现

个人在学习linux或linux相关代码实践时,喜欢使用qemu启动虚拟机(启动快,方便替换内核)。
在刚开始接触ltp时候,便开始跨平台执行ltp(想看下ltp的兼容性),当时FAIL很多用例,然后逐个开始分析,直到utimensat_tests.sh,报错:” chattr: Inappropriate ioctl for device while reading flags on testfile”。

BUG分析

1.初步分析
使用过LTP的都知道,LTP的成功、提示或者失败都伴随着TPASS/TCONF/TFAIL,但是” chattr: Inappropriate ioctl for device while reading flags on testfile”错误前面并没有LTP内置的提示信息标记,所以首次看到就感觉是一个异常情况,用例中未发现的异常情况。

2.问题复现&定位
对于shell脚本的定位方法,最好的办法就是sh –x command方式。
1)首先cd到testcases/bin目录下,直接sh utimensat_tests.sh,这样是为了复现问题。可能会无法执行,原因是需要添加LTP_ROOT环境变量、将脚本中 . xxx.sh改成 . ./xxx.sh(小问题,你可以试着解决)。
2)然后 sh utimensat_tests.sh发现问题既然可以复现,则执sh –x utimensat_tests.sh &>log。 -x参数会将shell脚本的执行流程打印出来,包括中间变量赋值,执行日志导入log。
3)最后打开utimensat_tests.sh和log执行流程每行对比,即可找到报错位置所在(此时双屏更好哦)。
最终发现命令挂在 chattr –ai FILE( F I L E 这 里 ( FILE可以在出错位置添加echo $FILE打印出来)
复现步骤&

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hello小崔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值