Dear Yarong, This error usually implies that you have misconfigured the simulator in the wiring file. In other words, your wiring.cpp file is not consistent with the config file. Highly likely it is related to the number of memory controllers (unless you added your own components that you did not configure correctly).
In your wiring file, make sure your memory controller component instantiates the correct number of instances: FLEXUS_INSTANTIATE_COMPONENT_ARRAY( MemoryLoopback, theMemoryCfg, theMemory, SCALE_WITH_SYSTEM_WIDTH, DIVIDE, 8 ); This line says that the number of controllers will be determined by the number of cores divided by 8. You can choose another number according to your needs. So, if you use, lets say, 32 cores, the total number of memory controllers will be 32/8=4. That is the number you need to specify in the configuration file: flexus.set "-net-mapper:MemControllers" "4" Probably the numbers you have do not match, hence the error. After correcting this, you need to recompile the simulator. Let us know if this solved the problem. Regards, Djordje ________________________________________ From: Yarong Guo <[email protected]<mailto:[email protected]>> Subject: Re: Crash while initializing sys-uarch Date: July 31, 2013 12:45:08 AM GMT+03:00 To: Cansu Kaynak <[email protected]<mailto:[email protected]>> Hello, Thanks for the suggestion. I attached gdb to the process, and did a back trace Program received signal SIGSEGV, Segmentation fault. 0x00000038f2e721d5 in _int_malloc () from /lib64/libc.so.6 (gdb) backtrace #0 0x00000038f2e721d5 in _int_malloc () from /lib64/libc.so.6 #1 0x00000038f2e73f2e in malloc () from /lib64/libc.so.6 #2 0x00002b031dcd7066 in mm_malloc () from /m/sda10/yarong/FLEXUS/simics-3.0.31/amd64-linux/bin/libsimics-common.so #3 0x00002b032419b6b1 in SIM_flush_I_STC_logical () from /m/sda10/yarong/FLEXUS/simics-3.0.31/amd64-linux/lib/cheetah+mmu.so #4 0x00002b031dc41d55 in ?? () from /m/sda10/yarong/FLEXUS/simics-3.0.31/amd64-linux/bin/libsimics-common.so #5 0x00002b031dc41ee7 in ?? () from /m/sda10/yarong/FLEXUS/simics-3.0.31/amd64-linux/bin/libsimics-common.so #6 0x00002b031dc41f1f in SIM_get_attribute () from /m/sda10/yarong/FLEXUS/simics-3.0.31/amd64-linux/bin/libsimics-common.so #7 0x00002b0326c35ce1 in Flexus::Simics::MMU::fm_init_mmu_from_simics(Flexus::Simics::MMU::mmu*, Flexus::Simics::API::conf_object*) () from /m/sda10/yarong/FLEXUS/flexus-4.1/timing_v9-UP.OoO-30Jul13-143238/continues/continues_f_000_004/libflexus_UP.OoO_v9_iface_gcc.so<http://libflexus_up.ooo_v9_iface_gcc.so/> #8 0x00002b0326c37cc8 in Flexus::Simics::v9ProcessorImpl::initializeMMUs() () from /m/sda10/yarong/FLEXUS/flexus-4.1/timing_v9-UP.OoO-30Jul13-143238/continues/continues_f_000_004/libflexus_UP.OoO_v9_iface_gcc.so<http://libflexus_up.ooo_v9_iface_gcc.so/> ---Type <return> to continue, or q <return> to quit---q However, all the files are in .so format, any hints on where I should go look for the problem? Thank you very much! Yarong 2013/7/29 Cansu Kaynak <[email protected]<mailto:[email protected]>> Hi Yarong. Unfortunately, the error output does not say much. I suggest you start the simulation by attaching gdb to the simics process (after you compile the simulator with -g flag) and take a look at the backtrace output after the simulation crashes. Most probably, this has to do with the configuration parameters or loading the flexpoint. Hope this helps. -- Cansu On Jul 27, 2013, at 4:51 AM, Yarong Guo <[email protected]<mailto:[email protected]>> wrote: Hello, I am having a little issue running flexus after flex points have been created. I successfully created flex points for a solaris sytem I installed using Simics. However, when I run the simulation using the run_job script, it seems to crash when initializing sys-uarch. Image memory limited to 1 GB Opening debug output file: debug.out Opening debug output file: stats.out Opening debug output file: trace.out Successfully parsed debug configurations from debug.cfg Initializing Flexus::ConfigurationManager...done Initializing Flexus::ComponentManager...done Entered init_local Flexus (C) 2006-2010 The SimFlex Project Eric Chung, Michael Ferdman, Brian Gold, Nikos Hardavellas, Jangwook Kim, Ippokratis Pandis, Minglong Shao, Jared Smolens, Stephen Somogyi, Evangelos Vlachos, Thomas Wenisch, Roland Wunderlich Anastassia Ailamaki, Babak Falsafi and James C. Hoe. Flexus Simics simulator - Built as UP.OoO v1.0 1 <startup.cpp:121> {0}- Initializing Flexus. 2 <ComponentManager.cpp:79> {0}- Instantiating system with a width factor of: 1 3 <WhiteBoxImpl.cpp:416> {0}- Creating WhiteBox 4 <WhiteBoxImpl.cpp:99> {0}- symtable loaded 5 <uFetch.hpp:82> {0}- ufetch port InstructionFetchSeen is not wired 6 <uFetch.hpp:82> {0}- ufetch port ClockTickSeen is not wired 7 <v9Decoder.hpp:66> {0}- decoder port DispatchedInstructionOut is not wired 8 <uArch.hpp:121> {0}- uarch port StoreForwardingHitSeen is not wired 9 <Cache.hpp:92> {0}- L1d port FrontSideOut_I is not wired 10 <Cache.hpp:92> {0}- L1d port BackSideOut_Prefetch is not wired 11 <wiring.cpp:101> {0}- initializing Parameters... Warning: The 'flexus-UP.OoO-v9-iface-gcc' module unexpectedly defined the 'Flexus' class Warning: The 'flexus-UP.OoO-v9-iface-gcc' module unexpectedly defined the 'SimicsInterface' class WARNING: There is no parameter named "-uarch:early_sgp" WARNING: There is no parameter named "-uarch:track_parallel" 12 <configuration.hpp:189> {0}- Bad Lexical Cast attempting to set dynamic parameter. WARNING: Unable to set parameter CacheLevel to eL1 13 <configuration.hpp:189> {0}- Bad Lexical Cast attempting to set dynamic parameter. WARNING: Unable to set parameter CacheLevel to eL2 14 <flexus.cpp:385> {0}- Set region interval to : 50000 [cpu0 info] Note that on this cpu, instruction-fetch-trace is implemented using instruction-cache-access-trace with a suitable cache line size. 15 <flexus.cpp:532> {0}- Loading Flexus state from subdirectory flexus_state_in 16 <ComponentManager.cpp:94> {0}- Initalizing components... 17 <ComponentManager.cpp:98> {0}- Initalizing sys-white-box 18 <ComponentManager.cpp:98> {0}- Initalizing sys-fag 19 <mai_api.cpp:279> {0}- Searching 1 cpus. 20 <mai_api.cpp:283> {0}- Processor 0: cpu0 - CPU 0 21 <mai_api.cpp:305> {0}- Found CPU: '' - 0 22 <mai_api.cpp:325> {0}- Found 1 Flexus CPUs and 0 Client CPUs and 0 Besim CPUs in 0 VMs 23 <mai_api.cpp:428> {0}- Automatic organization of equal-size VMs 24 <mai_api.cpp:435> {0}- Square topology of VMs: 1x1 25 <mai_api.cpp:439> {0}- Square VM: 1x1 26 <mai_api.cpp:467> {0}- VMS per row = 1, CPVM = 1, GridOfVM = 1*1, NumRows = 1 27 <mai_api.cpp:527> {0}- theProcMap[0] = (0, 0) (abs_index = 0) 28 <mai_api.cpp:541> {0}- Finished creating Processor Mapper. 29 <FetchAddressGenerateImpl.cpp:88> {0}- sys-fag Thread[0.0] connected to cpu0 Initial PC: v:000010704 30 <ComponentManager.cpp:98> {0}- Initalizing sys-ufetch 31 <ComponentManager.cpp:98> {0}- Initalizing sys-combiner 32 <ComponentManager.cpp:98> {0}- Initalizing sys-decoder 33 <ComponentManager.cpp:98> {0}- Initalizing sys-uarch Segmentation fault (SIGSEGV) in main thread Crash stack trace: #0 0x00000038f2e721d5 <unknown> ./go.sh: line 4: 23436 Segmentation fault /m/sda10/yarong/FLEXUS/simics-3.0.31/scripts/start-simics -no-copyright -x start.simics -no-win -ma -batch-mode -q Cannot open stats database ../stats_db.out.gz Does everybody know where the bug might be? Thank you!!! Yarong
