Benchmark库的建立05:任务Post失败 Bug
2016-02-27 21:47
375 查看
Bug类型
任务Post失败 Bug
正确版本程序
apps/benchmark/BlinkPostFail
程序描述
定时器每隔0.25s提交任务TestTask,任务
TestTask的功能是切换LED0的状态;
如果任务Post提交成功,切换LED1的状态,否则切换LED2的状态。
Avrora运行程序
alias avrora=’java -jar avrora-beta-1.7.113.jar -colors=false -banner=false’;
make mica2;
mv build/mica2/main.exe bpf.elf;
avrora -platform=mica2 -monitors=leds -seconds=4 -simulation=sensor-network bpf.elf “
运行结果分析(正确版本)
LED0,LED1切换结果正确;
LED2不切换(即post返回SUCCESS)。
bug版本程序
/apps/benchmark/bm_BlinkPostFail
程序修改的部分
增加任务TestTask的post频率:Timer0.fired()
事件中添加循环操作,使得每0.25s内增加10次Post操作。
bug的显现条件
5. 相同任务过于频繁地提交
Bug症状
LED2也会发生切换(表示post返回FAIL);
运行net.tinyos.tools.PrintClient程序会显示任务提交失败信息:Post Operation Fail!
备注
TinyOS2.x中,仅当任务已经被提交但还没有
被执行时,即任务队列中已经有相同任务时,返
回FAIL,并且不会将该任务插入到队列;
如果没有相同任务时,则返回SUCCESS。
任务Post失败 Bug
正确版本程序
apps/benchmark/BlinkPostFail
程序描述
定时器每隔0.25s提交任务TestTask,任务
TestTask的功能是切换LED0的状态;
如果任务Post提交成功,切换LED1的状态,否则切换LED2的状态。
Avrora运行程序
alias avrora=’java -jar avrora-beta-1.7.113.jar -colors=false -banner=false’;
make mica2;
mv build/mica2/main.exe bpf.elf;
avrora -platform=mica2 -monitors=leds -seconds=4 -simulation=sensor-network bpf.elf “
运行结果分析(正确版本)
LED0,LED1切换结果正确;
LED2不切换(即post返回SUCCESS)。
bug版本程序
/apps/benchmark/bm_BlinkPostFail
程序修改的部分
增加任务TestTask的post频率:Timer0.fired()
事件中添加循环操作,使得每0.25s内增加10次Post操作。
bug的显现条件
5. 相同任务过于频繁地提交
Bug症状
LED2也会发生切换(表示post返回FAIL);
运行net.tinyos.tools.PrintClient程序会显示任务提交失败信息:Post Operation Fail!
备注
TinyOS2.x中,仅当任务已经被提交但还没有
被执行时,即任务队列中已经有相同任务时,返
回FAIL,并且不会将该任务插入到队列;
如果没有相同任务时,则返回SUCCESS。
相关文章推荐
- 真正的问题不在于长大,而在于遗忘。
- android应用Dialog跳转到Activity
- C#综合揭秘——细说多线程(下)
- varnish 配置文件分享(sens杨 注释)
- Redis安装部署
- 编程知识汇总--转载
- Windows Server 2008 R2 负载平衡入门篇
- java default使用
- bzoj 1001: [BeiJing2006]狼抓兔子
- 2.C#中泛型在方法Method上的实现
- C#综合揭秘——细说多线程(上)
- 基于高德地图的Android版无线电监测小项目
- 20145208 《Java程序设计》第0周学习总结
- listActivity_EXpandbleActivity的理解
- codeforces 633D D. Fibonacci-ish(dfs+暴力+map)
- Java Lambda表达式入门[转]
- 1105. Spiral Matrix (25)
- Python自带函数map(),zip()等
- Android之AIDL
- [BZOJ 1443]游戏Game