Petros Sousouris
2018-06-20 23:17:34 UTC
Hello,
I try to start a full system emulation in x86. I built the latest stock gem5 source code, I use the linux image provided by gem5.org <http://gem5.org/> and I use the FS.py script found in the examples folder. I have made zero modifications, basically I just try to boot Linux.
After a few seconds, gem5 returns a segmentation fault. Below there is the error as well as the trace created by gdb.
I tried the same on Ubuntu 16.04 and Debian 9 with the same results (segmentation fault).
Global frequency set at 1000000000000 ticks per second
warn: DRAM device capacity (8192 Mbytes) does not match the address range assigned (512 Mbytes)
info: kernel located at: /home/petross/gem5_images/X86_images/binaries/x86_64-vmlinux-2.6.22.9
system.pc.com_1.device: Listening for connections on port 3456
0: rtc: Real-time clock set to Sun Jan 1 00:00:00 2012
0: system.remote_gdb: listening for remote gdb on port 7000
warn: Reading current count from inactive timer.
**** REAL SIMULATION ****
info: Entering event queue @ 0. Starting simulation...
warn: Don't know what interrupt to clear for console.
9401930500: system.pc.com_1.device: attach terminal 0
warn: x86 cpuid: unknown family 0x8086
gem5 has encountered a segmentation fault!
--- BEGIN LIBC BACKTRACE ---
build/X86/gem5.opt(_Z15print_backtracev+0x28)[0x7a9db8]
build/X86/gem5.opt[0x7bc79d]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7fceaeff0390]
build/X86/gem5.opt(_ZN7BaseCPU11mwaitAtomicEsP13ThreadContextP7BaseTLB+0xc3)[0x8713d3]
build/X86/gem5.opt(_ZNK10X86ISAInst5Mwait7executeEP11ExecContextPN5Trace10InstRecordE+0xb3)[0x1378643]
build/X86/gem5.opt(_ZN15AtomicSimpleCPU4tickEv+0x392)[0xe607f2]
build/X86/gem5.opt(_ZN10EventQueue10serviceOneEv+0xc5)[0x7b05a5]
build/X86/gem5.opt(_Z9doSimLoopP10EventQueue+0x50)[0x7c8600]
build/X86/gem5.opt(_Z8simulatem+0xd1b)[0x7c96eb]
build/X86/gem5.opt[0xdbcc0a]
build/X86/gem5.opt[0x80dda5]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x7852)[0x7fceaf2ad772]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7fceaf3e405c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ffd)[0x7fceaf2acf1d]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7fceaf3e405c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ffd)[0x7fceaf2acf1d]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7fceaf3e405c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ffd)[0x7fceaf2acf1d]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7fceaf3e405c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[0x7fceaf2a5da9]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x613b)[0x7fceaf2ac05b]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7fceaf3e405c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ffd)[0x7fceaf2acf1d]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7fceaf3e405c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[0x7fceaf2a5da9]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyRun_StringFlags+0x76)[0x7fceaf3201f6]
build/X86/gem5.opt(_Z6m5MainiPPc+0x6f)[0x7bb30f]
build/X86/gem5.opt(main+0x33)[0x6c6e33]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7fceadadc830]
build/X86/gem5.opt(_start+0x29)[0x6e8e99]
--- END LIBC BACKTRACE ---
Segmentation fault (core dumped)
GDB TRACE
Program received signal SIGSEGV, Segmentation fault.
0x0000000000d0d2ea in Request::setVirt (this=0x0, asid=0, vaddr=18446744071569940496, size=48, flags=..., mid=6, pc=18446744071564200172, amo_op=0x0) at build/X86/mem/request.hh:497
497 _asid = asid;
(gdb) bt
#0 0x0000000000d0d2ea in Request::setVirt (this=0x0, asid=0, vaddr=18446744071569940496, size=48, flags=..., mid=6, pc=18446744071564200172, amo_op=0x0) at build/X86/mem/request.hh:497
#1 0x0000000000e9881c in BaseCPU::mwaitAtomic (this=0x3982300, tid=0, tc=0x31da380, dtb=0x3205180) at build/X86/cpu/base.cc:333
#2 0x000000000170e610 in SimpleExecContext::mwaitAtomic (this=0x33ea4e0, tc=0x31da380) at build/X86/cpu/simple/exec_context.hh:519
#3 0x0000000001c9babd in X86ISAInst::Mwait::execute (this=0x3206140, xc=0x33ea4e0, traceData=0x0) at build/X86/arch/x86/generated/exec-ns.cc.inc:24916
#4 0x00000000016ff0bb in AtomicSimpleCPU::tick (this=0x3982300) at build/X86/cpu/simple/atomic.cc:622
#5 0x00000000016fc14d in AtomicSimpleCPU::<lambda()>::operator()(void) const (__closure=0x3982650) at build/X86/cpu/simple/atomic.cc:79
#6 0x00000000016ff8ae in std::_Function_handler<void(), AtomicSimpleCPU::AtomicSimpleCPU(AtomicSimpleCPUParams*)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/5/functional:1871
#7 0x0000000000d2daf2 in std::function<void ()>::operator()() const (this=0x3982650) at /usr/include/c++/5/functional:2267
#8 0x0000000000d23e26 in EventFunctionWrapper::process (this=0x3982618) at build/X86/sim/eventq.hh:829
#9 0x0000000000de225b in EventQueue::serviceOne (this=0x32bb680) at build/X86/sim/eventq.cc:228
#10 0x0000000000deb0a2 in doSimLoop (eventq=0x32bb680) at build/X86/sim/simulate.cc:219
#11 0x0000000000deacf3 in simulate (num_cycles=18446744073709551615) at build/X86/sim/simulate.cc:132
#12 0x00000000016634de in pybind11::detail::argument_loader<unsigned long>::call_impl<GlobalSimLoopExitEvent*, GlobalSimLoopExitEvent* (*&)(unsigned long), 0ul, pybind11::detail::void_type>(GlobalSimLoopExitEvent* (*&)(unsigned long), pybind11::detail::index_sequence<0ul>, pybind11::detail::void_type&&) (this=0x7fffffffcd00, f=@0x337a938: 0xdea9e1 <simulate(unsigned long)>) at ext/pybind11/include/pybind11/cast.h:1860
#13 0x0000000001660e36 in pybind11::detail::argument_loader<unsigned long>::call<GlobalSimLoopExitEvent*, pybind11::detail::void_type, GlobalSimLoopExitEvent* (*&)(unsigned long)>(GlobalSimLoopExitEvent* (*&)(unsigned long)) && (
this=0x7fffffffcd00, f=@0x337a938: 0xdea9e1 <simulate(unsigned long)>) at ext/pybind11/include/pybind11/cast.h:1837
#14 0x000000000165cd6b in void pybind11::cpp_function::initialize<GlobalSimLoopExitEvent* (*&)(unsigned long), GlobalSimLoopExitEvent*, unsigned long, pybind11::name, pybind11::scope, pybind11::sibling, pybind11::arg_v>(GlobalSimLoopExitEvent* (*&)(unsigned long), GlobalSimLoopExitEvent* (*)(unsigned long), pybind11::name const&, pybind11::scope const&, pybind11::sibling const&, pybind11::arg_v const&)::{lambda(pybind11::detail::function_call&)#3}::operator()(pybind11::detail::function_call&) const (__closure=0x0, call=...) at ext/pybind11/include/pybind11/pybind11.h:153
#15 0x000000000165cdd7 in void pybind11::cpp_function::initialize<GlobalSimLoopExitEvent* (*&)(unsigned long), GlobalSimLoopExitEvent*, unsigned long, pybind11::name, pybind11::scope, pybind11::sibling, pybind11::arg_v>(GlobalSimLoopExitEvent* (*&)(unsigned long), GlobalSimLoopExitEvent* (*)(unsigned long), pybind11::name const&, pybind11::scope const&, pybind11::sibling const&, pybind11::arg_v const&)::{lambda(pybind11::detail::function_call&)#3}::_FUN(pybind11::detail::function_call&) ()
at ext/pybind11/include/pybind11/pybind11.h:131
#16 0x0000000000e1c9af in pybind11::cpp_function::dispatcher (self=<PyCapsule at remote 0x7ffff7eb9d20>, args_in=(18446744073709551615L,), kwargs_in={}) at ext/pybind11/include/pybind11/pybind11.h:629
#17 0x00007ffff78fa772 in ext_do_call (nk=<optimized out>, na=<optimized out>, flags=<optimized out>, pp_stack=0x7fffffffd1a8, func=<built-in method simulate of PyCapsule object at remote 0x7ffff7eb9d20>) at ../Python/ceval.c:4661
#18 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:3026
#19 0x00007ffff7a3105c in PyEval_EvalCodeEx (co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=1, kws=<optimized out>, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:3582
#20 0x00007ffff78f9f1d in fast_function (nk=0, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffd3a0, func=<optimized out>) at ../Python/ceval.c:4445
#21 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd3a0) at ../Python/ceval.c:4370
#22 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:2987
#23 0x00007ffff7a3105c in PyEval_EvalCodeEx (co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=3, kws=<optimized out>, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:3582
#24 0x00007ffff78f9f1d in fast_function (nk=0, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffd5a0, func=<optimized out>) at ../Python/ceval.c:4445
#25 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd5a0) at ../Python/ceval.c:4370
#26 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:2987
#27 0x00007ffff7a3105c in PyEval_EvalCodeEx (co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=4, kws=<optimized out>, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:3582
#28 0x00007ffff78f9f1d in fast_function (nk=0, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffd7a0, func=<optimized out>) at ../Python/ceval.c:4445
#29 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd7a0) at ../Python/ceval.c:4370
#30 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:2987
#31 0x00007ffff7a3105c in PyEval_EvalCodeEx (co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=0, kws=<optimized out>, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:3582
#32 0x00007ffff78f2da9 in PyEval_EvalCode (co=***@entry=0x7ffff43263b0,
globals=***@entry={'IOCache': <MetaSimObject(cxx_exports=[], __module__='common.Caches', _value_dict={'tag_latency': 50, 'cxx_param_exports': [], 'abstract': False, 'tgts_per_mshr': 12, 'cxx_exports': [...], 'assoc': 8, 'response_latency': 50, 'cxx_extra_bases': [], 'data_latency': 50, 'mshrs': 20, 'size': '1kB'}, _children=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={'replacement_policy': <LRURP(_hr_values=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent={}) at remote 0x7ffff5128e50>) at remote 0x7ffff4fbb3d0>) at remote 0x7ffff4fbbb10>) at remote 0x7ffff4edf650>, _children={}, _instantiated=False, _name='replacement_policy', _parent=<MetaSimObject(cxx_exports=[], __module__='m5.objects.Cache', cxx_type='BaseCache *', _value_dict={'replacement_policy': <ParamDesc(default=<...>, ptype_str='BaseReplacementPolicy', ptype=<MetaSimObject(cxx_exports=[], __mo...(truncated),
locals=***@entry={'IOCache': <MetaSimObject(cxx_exports=[], __module__='common.Caches', _value_dict={'tag_latency': 50, 'cxx_param_exports': [], 'abstract': False, 'tgts_per_mshr': 12, 'cxx_exports': [...], 'assoc': 8, 'response_latency': 50, 'cxx_extra_bases': [], 'data_latency': 50, 'mshrs': 20, 'size': '1kB'}, _children=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={'replacement_policy': <LRURP(_hr_values=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent={}) at remote 0x7ffff5128e50>) at remote 0x7ffff4fbb3d0>) at remote 0x7ffff4fbbb10>) at remote 0x7ffff4edf650>, _children={}, _instantiated=False, _name='replacement_policy', _parent=<MetaSimObject(cxx_exports=[], __module__='m5.objects.Cache', cxx_type='BaseCache *', _value_dict={'replacement_policy': <ParamDesc(default=<...>, ptype_str='BaseReplacementPolicy', ptype=<MetaSimObject(cxx_exports=[], __mo...(truncated)) at ../Python/ceval.c:669
#33 0x00007ffff78f905b in exec_statement (
locals={'IOCache': <MetaSimObject(cxx_exports=[], __module__='common.Caches', _value_dict={'tag_latency': 50, 'cxx_param_exports': [], 'abstract': False, 'tgts_per_mshr': 12, 'cxx_exports': [...], 'assoc': 8, 'response_latency': 50, 'cxx_extra_bases': [], 'data_latency': 50, 'mshrs': 20, 'size': '1kB'}, _children=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={'replacement_policy': <LRURP(_hr_values=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent={}) at remote 0x7ffff5128e50>) at remote 0x7ffff4fbb3d0>) at remote 0x7ffff4fbbb10>) at remote 0x7ffff4edf650>, _children={}, _instantiated=False, _name='replacement_policy', _parent=<MetaSimObject(cxx_exports=[], __module__='m5.objects.Cache', cxx_type='BaseCache *', _value_dict={'replacement_policy': <ParamDesc(default=<...>, ptype_str='BaseReplacementPolicy', ptype=<MetaSimObject(cxx_exports=[], __mo...(truncated),
globals={'IOCache': <MetaSimObject(cxx_exports=[], __module__='common.Caches', _value_dict={'tag_latency': 50, 'cxx_param_exports': [], 'abstract': False, 'tgts_per_mshr': 12, 'cxx_exports': [...], 'assoc': 8, 'response_latency': 50, 'cxx_extra_bases': [], 'data_latency': 50, 'mshrs': 20, 'size': '1kB'}, _children=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={'replacement_policy': <LRURP(_hr_values=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent={}) at remote 0x7ffff5128e50>) at remote 0x7ffff4fbb3d0>) at remote 0x7ffff4fbbb10>) at remote 0x7ffff4edf650>, _children={}, _instantiated=False, _name='replacement_policy', _parent=<MetaSimObject(cxx_exports=[], __module__='m5.objects.Cache', cxx_type='BaseCache *', _value_dict={'replacement_policy': <ParamDesc(default=<...>, ptype_str='BaseReplacementPolicy', ptype=<MetaSimObject(cxx_exports=[], __mo...(truncated), prog=<optimized out>,
f=Frame 0x3339820, for file /home/petross/gem5/src/python/m5/main.py, line 435, in main (args=(), m5=<module at remote 0x7ffff53f2e88>, core=<module at remote 0x7ffff5130168>, debug=<module at remote 0x7ffff4c7b980>, event=<module at remote 0x7ffff4c611a0>, info=<module at remote 0x7ffff4c7b948>, stats=<module at remote 0x7ffff4c61088>, trace=<module at remote 0x7ffff4c7b9b8>, inform=<function at remote 0x7ffff53796e0>, panic=<function at remote 0x7ffff5381cf8>, isInteractive=<function at remote 0x7ffff5379c80>, options=<OptionParser(_group=<OptionGroup(_long_opt={'--dump-config': <Option(_long_opts=['--dump-config'], help='Dump configuration output file [Default: %default]', callback_args=None, callback=None, default='config.ini', nargs=1, choices=None, dest='dump_config', container=<OptionGroup(_long_opt={...}, title='Configuration Options', parser=<OptionParser(process_default_values=True, allow_interspersed_args=False, _long_opt={...}, largs=[], formatter=<TitledHelpFormatter(option_strings={}, level=0, hel...(truncated)) at ../Python/ceval.c:5048
#34 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:2106
#35 0x00007ffff7a3105c in PyEval_EvalCodeEx (co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=0, kws=<optimized out>, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:3582
Best,
Petros
I try to start a full system emulation in x86. I built the latest stock gem5 source code, I use the linux image provided by gem5.org <http://gem5.org/> and I use the FS.py script found in the examples folder. I have made zero modifications, basically I just try to boot Linux.
After a few seconds, gem5 returns a segmentation fault. Below there is the error as well as the trace created by gdb.
I tried the same on Ubuntu 16.04 and Debian 9 with the same results (segmentation fault).
Global frequency set at 1000000000000 ticks per second
warn: DRAM device capacity (8192 Mbytes) does not match the address range assigned (512 Mbytes)
info: kernel located at: /home/petross/gem5_images/X86_images/binaries/x86_64-vmlinux-2.6.22.9
system.pc.com_1.device: Listening for connections on port 3456
0: rtc: Real-time clock set to Sun Jan 1 00:00:00 2012
0: system.remote_gdb: listening for remote gdb on port 7000
warn: Reading current count from inactive timer.
**** REAL SIMULATION ****
info: Entering event queue @ 0. Starting simulation...
warn: Don't know what interrupt to clear for console.
9401930500: system.pc.com_1.device: attach terminal 0
warn: x86 cpuid: unknown family 0x8086
gem5 has encountered a segmentation fault!
--- BEGIN LIBC BACKTRACE ---
build/X86/gem5.opt(_Z15print_backtracev+0x28)[0x7a9db8]
build/X86/gem5.opt[0x7bc79d]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7fceaeff0390]
build/X86/gem5.opt(_ZN7BaseCPU11mwaitAtomicEsP13ThreadContextP7BaseTLB+0xc3)[0x8713d3]
build/X86/gem5.opt(_ZNK10X86ISAInst5Mwait7executeEP11ExecContextPN5Trace10InstRecordE+0xb3)[0x1378643]
build/X86/gem5.opt(_ZN15AtomicSimpleCPU4tickEv+0x392)[0xe607f2]
build/X86/gem5.opt(_ZN10EventQueue10serviceOneEv+0xc5)[0x7b05a5]
build/X86/gem5.opt(_Z9doSimLoopP10EventQueue+0x50)[0x7c8600]
build/X86/gem5.opt(_Z8simulatem+0xd1b)[0x7c96eb]
build/X86/gem5.opt[0xdbcc0a]
build/X86/gem5.opt[0x80dda5]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x7852)[0x7fceaf2ad772]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7fceaf3e405c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ffd)[0x7fceaf2acf1d]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7fceaf3e405c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ffd)[0x7fceaf2acf1d]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7fceaf3e405c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ffd)[0x7fceaf2acf1d]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7fceaf3e405c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[0x7fceaf2a5da9]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x613b)[0x7fceaf2ac05b]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7fceaf3e405c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ffd)[0x7fceaf2acf1d]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7fceaf3e405c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[0x7fceaf2a5da9]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyRun_StringFlags+0x76)[0x7fceaf3201f6]
build/X86/gem5.opt(_Z6m5MainiPPc+0x6f)[0x7bb30f]
build/X86/gem5.opt(main+0x33)[0x6c6e33]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7fceadadc830]
build/X86/gem5.opt(_start+0x29)[0x6e8e99]
--- END LIBC BACKTRACE ---
Segmentation fault (core dumped)
GDB TRACE
Program received signal SIGSEGV, Segmentation fault.
0x0000000000d0d2ea in Request::setVirt (this=0x0, asid=0, vaddr=18446744071569940496, size=48, flags=..., mid=6, pc=18446744071564200172, amo_op=0x0) at build/X86/mem/request.hh:497
497 _asid = asid;
(gdb) bt
#0 0x0000000000d0d2ea in Request::setVirt (this=0x0, asid=0, vaddr=18446744071569940496, size=48, flags=..., mid=6, pc=18446744071564200172, amo_op=0x0) at build/X86/mem/request.hh:497
#1 0x0000000000e9881c in BaseCPU::mwaitAtomic (this=0x3982300, tid=0, tc=0x31da380, dtb=0x3205180) at build/X86/cpu/base.cc:333
#2 0x000000000170e610 in SimpleExecContext::mwaitAtomic (this=0x33ea4e0, tc=0x31da380) at build/X86/cpu/simple/exec_context.hh:519
#3 0x0000000001c9babd in X86ISAInst::Mwait::execute (this=0x3206140, xc=0x33ea4e0, traceData=0x0) at build/X86/arch/x86/generated/exec-ns.cc.inc:24916
#4 0x00000000016ff0bb in AtomicSimpleCPU::tick (this=0x3982300) at build/X86/cpu/simple/atomic.cc:622
#5 0x00000000016fc14d in AtomicSimpleCPU::<lambda()>::operator()(void) const (__closure=0x3982650) at build/X86/cpu/simple/atomic.cc:79
#6 0x00000000016ff8ae in std::_Function_handler<void(), AtomicSimpleCPU::AtomicSimpleCPU(AtomicSimpleCPUParams*)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/5/functional:1871
#7 0x0000000000d2daf2 in std::function<void ()>::operator()() const (this=0x3982650) at /usr/include/c++/5/functional:2267
#8 0x0000000000d23e26 in EventFunctionWrapper::process (this=0x3982618) at build/X86/sim/eventq.hh:829
#9 0x0000000000de225b in EventQueue::serviceOne (this=0x32bb680) at build/X86/sim/eventq.cc:228
#10 0x0000000000deb0a2 in doSimLoop (eventq=0x32bb680) at build/X86/sim/simulate.cc:219
#11 0x0000000000deacf3 in simulate (num_cycles=18446744073709551615) at build/X86/sim/simulate.cc:132
#12 0x00000000016634de in pybind11::detail::argument_loader<unsigned long>::call_impl<GlobalSimLoopExitEvent*, GlobalSimLoopExitEvent* (*&)(unsigned long), 0ul, pybind11::detail::void_type>(GlobalSimLoopExitEvent* (*&)(unsigned long), pybind11::detail::index_sequence<0ul>, pybind11::detail::void_type&&) (this=0x7fffffffcd00, f=@0x337a938: 0xdea9e1 <simulate(unsigned long)>) at ext/pybind11/include/pybind11/cast.h:1860
#13 0x0000000001660e36 in pybind11::detail::argument_loader<unsigned long>::call<GlobalSimLoopExitEvent*, pybind11::detail::void_type, GlobalSimLoopExitEvent* (*&)(unsigned long)>(GlobalSimLoopExitEvent* (*&)(unsigned long)) && (
this=0x7fffffffcd00, f=@0x337a938: 0xdea9e1 <simulate(unsigned long)>) at ext/pybind11/include/pybind11/cast.h:1837
#14 0x000000000165cd6b in void pybind11::cpp_function::initialize<GlobalSimLoopExitEvent* (*&)(unsigned long), GlobalSimLoopExitEvent*, unsigned long, pybind11::name, pybind11::scope, pybind11::sibling, pybind11::arg_v>(GlobalSimLoopExitEvent* (*&)(unsigned long), GlobalSimLoopExitEvent* (*)(unsigned long), pybind11::name const&, pybind11::scope const&, pybind11::sibling const&, pybind11::arg_v const&)::{lambda(pybind11::detail::function_call&)#3}::operator()(pybind11::detail::function_call&) const (__closure=0x0, call=...) at ext/pybind11/include/pybind11/pybind11.h:153
#15 0x000000000165cdd7 in void pybind11::cpp_function::initialize<GlobalSimLoopExitEvent* (*&)(unsigned long), GlobalSimLoopExitEvent*, unsigned long, pybind11::name, pybind11::scope, pybind11::sibling, pybind11::arg_v>(GlobalSimLoopExitEvent* (*&)(unsigned long), GlobalSimLoopExitEvent* (*)(unsigned long), pybind11::name const&, pybind11::scope const&, pybind11::sibling const&, pybind11::arg_v const&)::{lambda(pybind11::detail::function_call&)#3}::_FUN(pybind11::detail::function_call&) ()
at ext/pybind11/include/pybind11/pybind11.h:131
#16 0x0000000000e1c9af in pybind11::cpp_function::dispatcher (self=<PyCapsule at remote 0x7ffff7eb9d20>, args_in=(18446744073709551615L,), kwargs_in={}) at ext/pybind11/include/pybind11/pybind11.h:629
#17 0x00007ffff78fa772 in ext_do_call (nk=<optimized out>, na=<optimized out>, flags=<optimized out>, pp_stack=0x7fffffffd1a8, func=<built-in method simulate of PyCapsule object at remote 0x7ffff7eb9d20>) at ../Python/ceval.c:4661
#18 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:3026
#19 0x00007ffff7a3105c in PyEval_EvalCodeEx (co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=1, kws=<optimized out>, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:3582
#20 0x00007ffff78f9f1d in fast_function (nk=0, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffd3a0, func=<optimized out>) at ../Python/ceval.c:4445
#21 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd3a0) at ../Python/ceval.c:4370
#22 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:2987
#23 0x00007ffff7a3105c in PyEval_EvalCodeEx (co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=3, kws=<optimized out>, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:3582
#24 0x00007ffff78f9f1d in fast_function (nk=0, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffd5a0, func=<optimized out>) at ../Python/ceval.c:4445
#25 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd5a0) at ../Python/ceval.c:4370
#26 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:2987
#27 0x00007ffff7a3105c in PyEval_EvalCodeEx (co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=4, kws=<optimized out>, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:3582
#28 0x00007ffff78f9f1d in fast_function (nk=0, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffd7a0, func=<optimized out>) at ../Python/ceval.c:4445
#29 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd7a0) at ../Python/ceval.c:4370
#30 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:2987
#31 0x00007ffff7a3105c in PyEval_EvalCodeEx (co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=0, kws=<optimized out>, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:3582
#32 0x00007ffff78f2da9 in PyEval_EvalCode (co=***@entry=0x7ffff43263b0,
globals=***@entry={'IOCache': <MetaSimObject(cxx_exports=[], __module__='common.Caches', _value_dict={'tag_latency': 50, 'cxx_param_exports': [], 'abstract': False, 'tgts_per_mshr': 12, 'cxx_exports': [...], 'assoc': 8, 'response_latency': 50, 'cxx_extra_bases': [], 'data_latency': 50, 'mshrs': 20, 'size': '1kB'}, _children=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={'replacement_policy': <LRURP(_hr_values=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent={}) at remote 0x7ffff5128e50>) at remote 0x7ffff4fbb3d0>) at remote 0x7ffff4fbbb10>) at remote 0x7ffff4edf650>, _children={}, _instantiated=False, _name='replacement_policy', _parent=<MetaSimObject(cxx_exports=[], __module__='m5.objects.Cache', cxx_type='BaseCache *', _value_dict={'replacement_policy': <ParamDesc(default=<...>, ptype_str='BaseReplacementPolicy', ptype=<MetaSimObject(cxx_exports=[], __mo...(truncated),
locals=***@entry={'IOCache': <MetaSimObject(cxx_exports=[], __module__='common.Caches', _value_dict={'tag_latency': 50, 'cxx_param_exports': [], 'abstract': False, 'tgts_per_mshr': 12, 'cxx_exports': [...], 'assoc': 8, 'response_latency': 50, 'cxx_extra_bases': [], 'data_latency': 50, 'mshrs': 20, 'size': '1kB'}, _children=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={'replacement_policy': <LRURP(_hr_values=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent={}) at remote 0x7ffff5128e50>) at remote 0x7ffff4fbb3d0>) at remote 0x7ffff4fbbb10>) at remote 0x7ffff4edf650>, _children={}, _instantiated=False, _name='replacement_policy', _parent=<MetaSimObject(cxx_exports=[], __module__='m5.objects.Cache', cxx_type='BaseCache *', _value_dict={'replacement_policy': <ParamDesc(default=<...>, ptype_str='BaseReplacementPolicy', ptype=<MetaSimObject(cxx_exports=[], __mo...(truncated)) at ../Python/ceval.c:669
#33 0x00007ffff78f905b in exec_statement (
locals={'IOCache': <MetaSimObject(cxx_exports=[], __module__='common.Caches', _value_dict={'tag_latency': 50, 'cxx_param_exports': [], 'abstract': False, 'tgts_per_mshr': 12, 'cxx_exports': [...], 'assoc': 8, 'response_latency': 50, 'cxx_extra_bases': [], 'data_latency': 50, 'mshrs': 20, 'size': '1kB'}, _children=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={'replacement_policy': <LRURP(_hr_values=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent={}) at remote 0x7ffff5128e50>) at remote 0x7ffff4fbb3d0>) at remote 0x7ffff4fbbb10>) at remote 0x7ffff4edf650>, _children={}, _instantiated=False, _name='replacement_policy', _parent=<MetaSimObject(cxx_exports=[], __module__='m5.objects.Cache', cxx_type='BaseCache *', _value_dict={'replacement_policy': <ParamDesc(default=<...>, ptype_str='BaseReplacementPolicy', ptype=<MetaSimObject(cxx_exports=[], __mo...(truncated),
globals={'IOCache': <MetaSimObject(cxx_exports=[], __module__='common.Caches', _value_dict={'tag_latency': 50, 'cxx_param_exports': [], 'abstract': False, 'tgts_per_mshr': 12, 'cxx_exports': [...], 'assoc': 8, 'response_latency': 50, 'cxx_extra_bases': [], 'data_latency': 50, 'mshrs': 20, 'size': '1kB'}, _children=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={'replacement_policy': <LRURP(_hr_values=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent=<multidict(deleted={}, local={}, parent={}) at remote 0x7ffff5128e50>) at remote 0x7ffff4fbb3d0>) at remote 0x7ffff4fbbb10>) at remote 0x7ffff4edf650>, _children={}, _instantiated=False, _name='replacement_policy', _parent=<MetaSimObject(cxx_exports=[], __module__='m5.objects.Cache', cxx_type='BaseCache *', _value_dict={'replacement_policy': <ParamDesc(default=<...>, ptype_str='BaseReplacementPolicy', ptype=<MetaSimObject(cxx_exports=[], __mo...(truncated), prog=<optimized out>,
f=Frame 0x3339820, for file /home/petross/gem5/src/python/m5/main.py, line 435, in main (args=(), m5=<module at remote 0x7ffff53f2e88>, core=<module at remote 0x7ffff5130168>, debug=<module at remote 0x7ffff4c7b980>, event=<module at remote 0x7ffff4c611a0>, info=<module at remote 0x7ffff4c7b948>, stats=<module at remote 0x7ffff4c61088>, trace=<module at remote 0x7ffff4c7b9b8>, inform=<function at remote 0x7ffff53796e0>, panic=<function at remote 0x7ffff5381cf8>, isInteractive=<function at remote 0x7ffff5379c80>, options=<OptionParser(_group=<OptionGroup(_long_opt={'--dump-config': <Option(_long_opts=['--dump-config'], help='Dump configuration output file [Default: %default]', callback_args=None, callback=None, default='config.ini', nargs=1, choices=None, dest='dump_config', container=<OptionGroup(_long_opt={...}, title='Configuration Options', parser=<OptionParser(process_default_values=True, allow_interspersed_args=False, _long_opt={...}, largs=[], formatter=<TitledHelpFormatter(option_strings={}, level=0, hel...(truncated)) at ../Python/ceval.c:5048
#34 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:2106
#35 0x00007ffff7a3105c in PyEval_EvalCodeEx (co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=0, kws=<optimized out>, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:3582
Best,
Petros