无法在Gem5核心转储问题上运行SpectreSafeInvisibleSpec方案

时间:2019-05-17 14:14:03

标签: gem5 spectre

我正在尝试从InvisiSpec paper复制数据。 InvisiSpec是硬件中针对Spectre攻击的防御机制。我使用的是本文作者发布的github code。我以前在Gem5上构建InvisiSpec时遇到问题,但现在已解决了该问题。

当前,此存储库中的Gem5的构建在我的系统上没有错误。并成功完成以下方案的运行。

--scheme=UnsafeBaseline
--scheme=FuturisticSafeFence
--scheme=SpectreSafeFence 

但是SpectreSafeInvisibleSpec方案因核心转储而中止。泄漏源显然来自缓存中的satisfyRequest函数:

build/X86/mem/cache/cache.cc:192: void Cache::satisfyRequest(PacketPtr, CacheBlk*, bool, bool): Assertion `pkt->hasRespData()' failed.

我尝试为较少的指令数以及不同的缓存配置和不同的TSO运行此方案,但是没有成功。

build/X86/gem5.opt -d myout/gcc configs/example/se.py --cmd=../workspace/benchmarks/cpu2006/spec-SE/binaries/x86/linux/gcc -I 100000 --cpu-type=DerivO3CPU --caches --scheme=SpectreSafeInvisibleSpec --needsTSO=1

这是回溯:

    build/X86/gem5.opt(_Z15print_backtracev+0x2c)[0x563bddc2e4ec]
    build/X86/gem5.opt(_Z12abortHandleri+0x4a)[0x563bddc42c1a]
    /lib/x86_64-linux-gnu/libpthread.so.0(+0x12890)[0x7fd71633f890]
    /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7)[0x7fd714b4de97]
    /lib/x86_64-linux-gnu/libc.so.6(abort+0x141)[0x7fd714b4f801]
    /lib/x86_64-linux-gnu/libc.so.6(+0x3039a)[0x7fd714b3f39a]
    /lib/x86_64-linux-gnu/libc.so.6(+0x30412)[0x7fd714b3f412]
    build/X86/gem5.opt(_ZN5Cache14satisfyRequestEP6PacketP8CacheBlkbb+0x6d1)[0x563bdda3d0f1]
    build/X86/gem5.opt(_ZN5Cache14recvTimingRespEP6Packet+0xa7d)[0x563bdda45ced]
    build/X86/gem5.opt(_ZN5Cache11MemSidePort14recvTimingRespEP6Packet+0x10)[0x563bdda46c40]
    build/X86/gem5.opt(+0x9c809e)[0x563bdd3e609e]
    build/X86/gem5.opt(_ZN10EventQueue10serviceOneEv+0xd9)[0x563bddc35c59]
    build/X86/gem5.opt(_Z9doSimLoopP10EventQueue+0x87)[0x563bddc50a67]
    build/X86/gem5.opt(_Z8simulatem+0xcba)[0x563bddc51aba]
    build/X86/gem5.opt(+0xfc6d2e)[0x563bdd9e4d2e]
    build/X86/gem5.opt(+0xcf1e9b)[0x563bdd70fe9b]
    /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x64d7)[0x7fd7165f9697]
    /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7d8)[0x7fd71672b278]
    /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5bf6)[0x7fd7165f8db6]
    /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x8b5b)[0x7fd7165fbd1b]
    /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x8b5b)[0x7fd7165fbd1b]
    /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7d8)[0x7fd71672b278]
    /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[0x7fd7165f3029]
    /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ac0)[0x7fd7165f9c80]
    /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7d8)[0x7fd71672b278]
    /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5bf6)[0x7fd7165f8db6]
    /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7d8)[0x7fd71672b278]
    /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[0x7fd7165f3029]
    /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyRun_StringFlags+0x76)[0x7fd716696546]
    build/X86/gem5.opt(_Z6m5MainiPPc+0x83)[0x563bddc417e3]
    build/X86/gem5.opt(main+0x33)[0x563bdcde0843]
    /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7)[0x7fd714b30b97]

相应的github存储库中也报告了此问题。

0 个答案:

没有答案