Hi,

I am trying to fast-forward a large workload with X86KvmCPU, but the 
constructor falls into a segmentation fault.
I use the commit tagged with "v20.0.0.0" 
(b1b8af04439240c532d3530a02773b75b9853f77).

The stack trace looks like:
    #0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at 
../sysdeps/unix/sysv/linux/pthread_kill.c:56
    #1  0x000055c0eab76e92 in raiseFatalSignal (signo=signo@entry=11) at 
build/X86/sim/init_signals.cc:105
    #2  0x000055c0eab76ee9 in segvHandler (sigtype=<optimized out>) at 
build/X86/sim/init_signals.cc:165
    #3  <signal handler called>
    #4  KvmVM::allocVCPUID (this=0x0) at build/X86/cpu/kvm/vm.cc:560
    #5  0x000055c0eb2ed251 in BaseKvmCPU::BaseKvmCPU (this=0x55c0ecf152a0, 
params=0x55c0ed604e90) at /usr/include/c++/8/ext/new_allocator.h:86
    #6  0x000055c0eb2f86e1 in X86KvmCPU::X86KvmCPU (this=0x55c0ecf152a0, 
params=0x55c0ed604e90) at build/X86/cpu/kvm/x86_cpu.cc:523
    #7  0x000055c0eb2f8921 in X86KvmCPUParams::create (this=0x55c0ed604e90) at 
build/X86/cpu/kvm/x86_cpu.cc:1628
    ...

The KvmVM::allocVCPUID function has only 1 line (return nextVCPUID++),
and accessing nextVCPUID on gdb returns an error:
     (gdb) f 4
     #4  KvmVM::allocVCPUID (this=0x0) at build/X86/cpu/kvm/vm.cc:560
     560       return nextVCPUID++;
     (gdb) p nextVCPUID
     Cannot access memory at address 0xc0

Does anyone have experience of hitting / workarounding this issue?
Given that the address of nextVCPUID (0xc0) looks broken (also that "this" is 
0x0 there), it guess there is an out-of-bound-related bug.
The smallest config that can reproduce this phenomenon is as follows.

import m5
from m5.objects import *

system = System()
system.cpu = X86KvmCPU()

system.cpu.createThreads()
system.cpu.createInterruptController()
system.clk_domain = SrcClockDomain()
system.clk_domain.clock = '1GHz'
system.clk_domain.voltage_domain = VoltageDomain()

root = Root(full_system = False, system = system)
m5.instantiate()

Best regards,

Soramichi
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to