12 Star 0 Fork 11

src-openEuler / augeas

 / 详情

infinite loop in fa_minus()

已完成
缺陷
创建于  
2020-12-02 12:15
==8== ERROR: libFuzzer: timeout after 301 seconds
    #0 0x52a281 in __sanitizer_print_stack_trace /src/llvm/projects/compiler-rt/lib/asan/asan_stack.cpp:86:3
    #1 0x474218 in fuzzer::PrintStackTrace() /src/llvm/projects/compiler-rt/lib/fuzzer/FuzzerUtil.cpp:205:5
    #2 0x458709 in fuzzer::Fuzzer::AlarmCallback() /src/llvm/projects/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:300:5
    #3 0x7f47a3eed38f  (/lib/x86_64-linux-gnu/libpthread.so.0+0x1138f)
    #4 0x56ef2a in state_set_add /src/augeas/src/fa.c:666:25
    #5 0x55e417 in determinize /src/augeas/src/fa.c:1341:25
    #6 0x55ee49 in fa_complement /src/augeas/src/fa.c:2436:5
    #7 0x55f385 in fa_minus /src/augeas/src/fa.c:2457:23
    #8 0x553c00 in LLVMFuzzerTestOneInput /src/augeas/augeas_fa_fuzzer.cc:60:11
    #9 0x459e91 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm/projects/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:556:15
    #10 0x444ab1 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm/projects/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:292:6
    #11 0x44a76e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm/projects/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:774:9
    #12 0x4748e2 in main /src/llvm/projects/compiler-rt/lib/fuzzer/FuzzerMain.cpp:19:10
    #13 0x7f47a351082f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
    #14 0x41de68 in _start (/out/augeas_fa_fuzzer+0x41de68)

评论 (4)

ltx 创建了缺陷
ltx 关联仓库设置为src-openEuler/augeas
展开全部操作日志

Hey lutianxiong, Welcome to openEuler Community.
All of the projects in openEuler Community are maintained by @openeuler-ci-bot.
That means the developers can comment below every pull request or issue to trigger Bot Commands.
Please follow instructions at https://gitee.com/openeuler/community/blob/master/en/sig-infrastructure/command.md to find the details.

ltx 上传了附件timeout-4c53e93160ee701bf55181ea328dff24cf030380
ltx 里程碑设置为openEuler-20.03-LTS-SP1
ltx 优先级设置为次要
ltx 负责人设置为yanan-rock
Charlie_Li 优先级次要 修改为主要

augeas 是个工具包,进程是暂态的,而且这个问题需要构造了一个较长的特殊的正则串去触发,在augeas自用的时候,并不会涉及到该问题,对于用户使用无影响。
fa_minus 函数是 libfa.so 库提供的,libfa.so是augeas的自用库,augeas的功能是进行配置文件编辑,它以其自有的格式解析配置文件,并将其转换为树,通过操作此树并将其保存回本机配置文件中,可以进行配置更改。
我们已经向社区提了issue: https://github.com/hercules-team/augeas/issues/709, 等待社区的回复和处理,在此期间我先暂时挂起这个issue。

chengguipeng_xian 任务状态待办的 修改为已挂起

libfa.so 在OpenEuler工程上只有 augeas自用,在系统上使用上风险极低;
如果其他开发者使用到这个库,就需要足够了解它,从这个库的算法逻辑来看,就是要耗费非常大的内存,其tar包的一个测试用例可以作为例证;
openvpn.aug:25
输入图片说明

孙苏皖 负责人yanan-rock 修改为周文培

上游社区暂未给出解决方案,由于此issue开启时间较长,且风险极低,先行关闭。

周文培 任务状态已挂起 修改为已完成

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(4)
5329419 openeuler ci bot 1632792936 5601591 lutianxiong 1587133339
1
https://gitee.com/src-openeuler/augeas.git
git@gitee.com:src-openeuler/augeas.git
src-openeuler
augeas
augeas

搜索帮助