Hello Bong Haseung,

I also faced a similar error. I think the discussion here might help you
out: https://harmonylists.io/empathy/thread/DEWQNROAXTLSSEBQ742SJKJV3DZUSQCT

Best,
Gagan

On Tue, Jun 14, 2022 at 2:59 AM 봉하승 <hasu...@ajou.ac.kr> wrote:

> Hello. everyone!
>
> I made simpoints on workload and checkpoints using simpoints.
> How to create a checkpoint is
> http://cluelessram.blogspot.com/2017/10/using-simpoint-in-gem5-to-speed-up_11.html
> I referred to this site.
> Segmentation fault occurred when restoring the checkpoint created by the
> above method.
> As a result of checking with gdb, the object of params.decoder[i] was
> omitted.
>
> The execution command is as follows.
> build/ARM/gem5.opt ./configs/example/se.py \
> -r 1 \
> --restore-simpoint-checkpoint \
> --cmd=/home/hasueng/builded_spec/502.gcc_r/exe/cpugcc_r_base.mytest-64 -o \
> "-O3 -finline-limit=50000 -I/usr/aarch64-linux-gnu/include
> -I/home/hasueng/SimPoint.3.2/exe/include \
> /home/hasueng/makeBBV/502.gcc_r.bbv/hello_loop_arm.c -o hello_loop_arm.s" \
> --checkpoint-dir /home/hasueng/DATA_hybrid/m5out_gcc_r_CP_interval_06_08 \
> --cpu-type=O3CPU \
> --restore-with-cpu=DerivO3CPU \
> --mem-size=8GB \
> --l1d_size=16kB --l1d_assoc=4 \
> --l1i_size=8kB --l1i_assoc=1 \
> --l2_size=1MB --l2_assoc=8 \
> --cacheline_size=64 --caches --l2cache \
> --bp-type=LocalBP
>
>
> The gdb results are as follows.
> Program received signal SIGSEGV, Segmentation fault.
> gem5::o3::Fetch::Fetch (this=0x55555c2ba4e0, _cpu=0x55555c2ba000,
> params=...) at build/ARM/cpu/o3/fetch.cc:139
> 139             decoder[tid] = params.decoder[tid];
> (gdb) bt
> #0  gem5::o3::Fetch::Fetch (this=0x55555c2ba4e0, _cpu=0x55555c2ba000,
> params=...) at build/ARM/cpu/o3/fetch.cc:139
> #1  0x0000555557c090e1 in gem5::o3::CPU::CPU (this=0x55555c2ba000,
> params=...) at build/ARM/cpu/o3/cpu.cc:118
> #2  0x000055555818e2bf in gem5::(anonymous
> namespace)::DummyO3CPUShunt<gem5::o3::CPU, void>::create (p=...) at
> build/ARM/python/_m5/param_O3CPU.cc:185
> #3  0x000055555818e292 in gem5::O3CPUParams::create (this=0x55555b5a9080)
> at build/ARM/python/_m5/param_O3CPU.cc:209
> #4  0x00005555581909db in
> pybind11::cpp_function::cpp_function<gem5::o3::CPU*, gem5::O3CPUParams, ,
> pybind11::name, pybind11::is_method, pybind11::sibling>(gem5::o3::CPU*
> (gem5::O3CPUParams::*)() const, pybind11::name const&, pybind11::is_method
> const&, pybind11::sibling const&)::{lambda(gem5::O3CPUParams
> const*)#1}::operator()(gem5::O3CPUParams const*) const
> (this=0x55555abf8158, c=0x55555b5a9080) at
> ext/pybind11/include/pybind11/pybind11.h:126
> #5  0x00005555581969c9 in
> pybind11::detail::argument_loader<gem5::O3CPUParams
> const*>::call_impl<gem5::o3::CPU*,
> pybind11::cpp_function::cpp_function<gem5::o3::CPU*, gem5::O3CPUParams, ,
> pybind11::name, pybind11::is_method, pybind11::sibling>(gem5::o3::CPU*
> (gem5::O3CPUParams::*)() const, pybind11::name const&, pybind11::is_method
> const&, pybind11::sibling const&)::{lambda(gem5::O3CPUParams const*)#1}&,
> 0ul,
> pybind11::detail::void_type>(pybind11::cpp_function::cpp_function<gem5::o3::CPU*,
> gem5::O3CPUParams, , pybind11::name, pybind11::is_method,
> pybind11::sibling>(gem5::o3::CPU* (gem5::O3CPUParams::*)() const,
> pybind11::name const&, pybind11::is_method const&, pybind11::sibling
> const&)::{lambda(gem5::O3CPUParams const*)#1}&,
> std::integer_sequence<unsigned long, 0ul>, pybind11::detail::void_type&&)
> && (this=0x7fffffffc620, f=...) at ext/pybind11/include/pybind11/cast.h:1217
> #6  0x0000555558195650 in
> pybind11::detail::argument_loader<gem5::O3CPUParams
> const*>::call<gem5::o3::CPU*, pybind11::detail::void_type,
> pybind11::cpp_function::cpp_function<gem5::o3::CPU*, gem5::O3CPUParams, ,
> pybind11::name, pybind11::is_method, pybind11::sibling>(gem5::o3::CPU*
> (gem5::O3CPUParams::*)() const, pybind11::name const&, pybind11::is_method
> const&, pybind11::sibling const&)::{lambda(gem5::O3CPUParams
> const*)#1}&>(pybind11::cpp_function::cpp_function<gem5::o3::CPU*,
> gem5::O3CPUParams, , pybind11::name, pybind11::is_method,
> pybind11::sibling>(gem5::o3::CPU* (gem5::O3CPUParams::*)() const,
> pybind11::name const&, pybind11::is_method const&, pybind11::sibling
> const&)::{lambda(gem5::O3CPUParams const*)#1}&) && (this=0x7fffffffc620,
> f=...) at ext/pybind11/include/pybind11/cast.h:1189
> #7  0x0000555558191b21 in
> pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<gem5::o3::CPU*,
> gem5::O3CPUParams, , pybind11::name, pybind11::is_method,
> pybind11::sibling>(gem5::o3::CPU* (gem5::O3CPUParams::*)() const,
> pybind11::name const&, pybind11::is_method const&, pybind11::sibling
> const&)::{lambda(gem5::O3CPUParams const*)#1}, gem5::o3::CPU*,
> gem5::O3CPUParams const*, pybind11::name, pybind11::is_method,
> pybind11::sibling>(pybind11::cpp_function::initialize<gem5::o3::CPU*,
> gem5::O3CPUParams, , pybind11::name, pybind11::is_method,
> pybind11::sibling>(gem5::o3::CPU* (gem5::O3CPUParams::*)() const,
> pybind11::name const&, pybind11::is_method const&, pybind11::sibling
> const&)::{lambda(gem5::O3CPUParams const*)#1}&&, gem5::o3::CPU*
> (*)(gem5::O3CPUParams const*), pybind11::name const&, pybind11::is_method
> const&, pybind11::sibling
> const&)::{lambda(pybind11::detail::function_call&)#3}::operator()(pybind11::detail::function_call)
> const (this=0x0, call=...) at ext/pybind11/include/pybind11/pybind11.h:232
> #8  0x0000555558191c4f in
> pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<gem5::o3::CPU*,
> gem5::O3CPUParams, , pybind11::name, pybind11::is_method,
> pybind11::sibling>(gem5::o3::CPU* (gem5::O3CPUParams::*)() const,
> pybind11::name const&, pybind11::is_method const&, pybind11::sibling
> const&)::{lambda(gem5::O3CPUParams const*)#1}, gem5::o3::CPU*,
> gem5::O3CPUParams const*, pybind11::name, pybind11::is_method,
> pybind11::sibling>(pybind11::cpp_function::initialize<gem5::o3::CPU*,
> gem5::O3CPUParams, , pybind11::name, pybind11::is_method,
> pybind11::sibling>(gem5::o3::CPU* (gem5::O3CPUParams::*)() const,
> pybind11::name const&, pybind11::is_method const&, pybind11::sibling
> const&)::{lambda(gem5::O3CPUParams const*)#1}&&, gem5::o3::CPU*
> (*)(gem5::O3CPUParams const*), pybind11::name const&, pybind11::is_method
> const&, pybind11::sibling
> const&)::{lambda(pybind11::detail::function_call&)#3}::_FUN(pybind11::detail::function_call)
> () at ext/pybind11/include/pybind11/pybind11.h:210
> #9  0x0000555555c81a30 in pybind11::cpp_function::dispatcher
> (self=0x7ffff5f44b40, args_in=0x7ffff506d820, kwargs_in=0x0) at
> ext/pybind11/include/pybind11/pybind11.h:814
> #10 0x00007ffff7cfa738 in ?? () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #11 0x00007ffff7cfab1b in _PyObject_MakeTpCall () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #12 0x00007ffff7cfade0 in ?? () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #13 0x00007ffff7ac6d6d in ?? () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #14 0x00007ffff7aceef6 in _PyEval_EvalFrameDefault () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #15 0x00007ffff7ad206b in ?? () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #16 0x00007ffff7cfadaa in ?? () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #17 0x00007ffff7ac6d6d in ?? () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #18 0x00007ffff7aceef6 in _PyEval_EvalFrameDefault () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #19 0x00007ffff7ad206b in ?? () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #20 0x00007ffff7cfadaa in ?? () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #21 0x00007ffff7ac6d6d in ?? () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #22 0x00007ffff7aceef6 in _PyEval_EvalFrameDefault () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #23 0x00007ffff7c1ce3b in _PyEval_EvalCodeWithName () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #24 0x00007ffff7cfa114 in _PyFunction_Vectorcall () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #25 0x00007ffff7ac6d6d in ?? () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #26 0x00007ffff7aceef6 in _PyEval_EvalFrameDefault () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #27 0x00007ffff7c1ce3b in _PyEval_EvalCodeWithName () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #28 0x00007ffff7cfa114 in _PyFunction_Vectorcall () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #29 0x00007ffff7ac6d6d in ?? () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #30 0x00007ffff7aceef6 in _PyEval_EvalFrameDefault () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #31 0x00007ffff7c1ce3b in _PyEval_EvalCodeWithName () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #32 0x00007ffff7c1d1c2 in PyEval_EvalCodeEx () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #33 0x00007ffff7c1d5af in PyEval_EvalCode () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #34 0x00007ffff7c21bf1 in ?? () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #35 0x00007ffff7cb1537 in ?? () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #36 0x00007ffff7ac6d6d in ?? () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #37 0x00007ffff7ac846d in _PyEval_EvalFrameDefault () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #38 0x00007ffff7ad206b in ?? () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #39 0x00007ffff7cfa830 in PyVectorcall_Call () from
> /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> #40 0x0000555555c8a8b2 in
> pybind11::detail::simple_collector<(pybind11::return_value_policy)1>::call
> (this=0x7fffffffdb00, ptr=0x7ffff560b670) at
> ext/pybind11/include/pybind11/cast.h:1239
> #41 0x0000555555c9dc32 in
> pybind11::detail::object_api<pybind11::detail::accessor<pybind11::detail::accessor_policies::str_attr>
> >::operator()<(pybind11::return_value_policy)1> (this=0x7fffffffdb80) at
> ext/pybind11/include/pybind11/cast.h:1400
> #42 0x0000555555c9bedd in main (argc=23, argv=0x7fffffffdcb8) at
> build/ARM/sim/main.cc:69
>
>
> This error occurs in all decoder access areas when
> --cpu-type=AtomicSimpleCPU, --cpu-type=TimingSimpleCPU.
>
> I think this error is related to switch_cpus. If I create a checkpoint by
> specifying a number without using a simpoint in the workload above,
> There is no need for a switch_cpus process. No error occurred when
> switch_cpus was not used.
>
> Regards,
> Bong Haseung
>
> _______________________________________________
> gem5-users mailing list -- gem5-users@gem5.org
> To unsubscribe send an email to gem5-users-le...@gem5.org
>
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org

Reply via email to