Date: | Thu, 23 Jul 2009 22:10:31 +0200 |
---|---|
From: | David Bonavila <david.bonavila@xxxxxxxxxxxxxxxxxx> |
Subject: | [Gems-users] "Segmentation fault" when executing "opal0.sim-step"... |
Hi. I'm trying to run a simulation with Ruby and Opal, loading a checkpoint from a machine with 1 CPU and Solaris 10 installed. I have executed ./simics abisko-common.simics, Solaris loaded fine, and I have created the checkpoint test-1p.check. ----------------------------------------------------------------------------------------------------------------- abisko-common.simics contains the following lines: $os = "solaris10" if not defined create_network {$create_network = "yes"} $disk_size = 8513945600 ### run-command-file "%script%/serengeti-6800-system.include" instantiate-components $eth_comp = $pci_hme $eth_cnt = "" run-command-file "%simics%/targets/common/add-eth-link.include" run-command-file "%script%/abisko-setup.include" ----------------------------------------------------------------------------------------------------------------- So by default, it has just 1 cpu. Then I run the following commands from Simics and I get this output: simics> read-configuration test-1p.check simics> cpu-switch-time 1 The switch time will change to 1 cycles (for CPU-0) once all processors have synchronized. simics> instruction-fetch-mode instruction-fetch-trace [cpu0 info] Note that on this cpu, instruction-fetch-trace is implemented using instruction-cache-access-trace with a suitable cache line size. simics> istc-disable Turning I-STC off and flushing old data simics> dstc-disable Turning D-STC off and flushing old data simics> load-module ruby successful installation of the ruby timing model. simics> ruby0.setparam g_NUM_PROCESSORS 1 simics> ruby0.setparam g_PROCS_PER_CHIP 1 simics> ruby0.setparam NUMBER_OF_VIRTUAL_NETWORKS 5 simics> ruby0.init Ruby Timing Mode Creating event queue... Creating event queue done Creating system... Processors: 1 Creating system done Ruby initialization complete simics> load-module opal Queue registration cpu0 successful installation of the opal queue. hfa_init_local done: simics> opal0.init pstate_t: warning: control register #0 == "(null)" has simics name "g0". pstate_t: warning: control register #1 == "(null)" has simics name "g1". pstate_t: warning: control register #2 == "(null)" has simics name "g2". pstate_t: warning: control register #3 == "(null)" has simics name "g3". pstate_t: warning: control register #4 == "(null)" has simics name "g4". pstate_t: warning: control register #5 == "(null)" has simics name "g5". pstate_t: warning: control register #6 == "(null)" has simics name "g6". pstate_t: warning: control register #7 == "(null)" has simics name "g7". pstate_t: warning: control register #8 == "(null)" has simics name "o0". pstate_t: warning: control register #9 == "(null)" has simics name "o1". pstate_t: warning: control register #10 == "(null)" has simics name "o2". pstate_t: warning: control register #11 == "(null)" has simics name "o3". pstate_t: warning: control register #12 == "(null)" has simics name "o4". pstate_t: warning: control register #13 == "(null)" has simics name "o5". pstate_t: warning: control register #14 == "(null)" has simics name "o6". pstate_t: warning: control register #15 == "(null)" has simics name "o7". pstate_t: warning: control register #16 == "(null)" has simics name "l0". pstate_t: warning: control register #17 == "(null)" has simics name "l1". pstate_t: warning: control register #18 == "(null)" has simics name "l2". pstate_t: warning: control register #19 == "(null)" has simics name "l3". pstate_t: warning: control register #20 == "(null)" has simics name "l4". pstate_t: warning: control register #21 == "(null)" has simics name "l5". pstate_t: warning: control register #22 == "(null)" has simics name "l6". pstate_t: warning: control register #23 == "(null)" has simics name "l7". pstate_t: warning: control register #24 == "(null)" has simics name "i0". pstate_t: warning: control register #25 == "(null)" has simics name "i1". pstate_t: warning: control register #26 == "(null)" has simics name "i2". pstate_t: warning: control register #27 == "(null)" has simics name "i3". pstate_t: warning: control register #28 == "(null)" has simics name "i4". pstate_t: warning: control register #29 == "(null)" has simics name "i5". pstate_t: warning: control register #30 == "(null)" has simics name "i6". pstate_t: warning: control register #31 == "(null)" has simics name "i7". pstate_t: warning: control register #99 == "(null)" has simics name "ecache_error_enable". pstate_t: warning: control register #100 == "(null)" has simics name "asynchronous_fault_status". pstate_t: warning: control register #101 == "(null)" has simics name "asynchronous_fault_address". pstate_t: warning: control register #102 == "(null)" has simics name "out_intr_data0". pstate_t: warning: control register #103 == "(null)" has simics name "out_intr_data1". pstate_t: warning: control register #104 == "(null)" has simics name "out_intr_data2". pstate_t: warning: control register #105 == "(null)" has simics name "out_intr_data3". pstate_t: warning: control register #106 == "(null)" has simics name "out_intr_data4". pstate_t: warning: control register #107 == "(null)" has simics name "out_intr_data5". pstate_t: warning: control register #108 == "(null)" has simics name "out_intr_data6". pstate_t: warning: control register #109 == "(null)" has simics name "out_intr_data7". Ruby: ruby-opal link established. removing timing_model. opalinterface: doing notify callback Opal: opal-ruby link established. OpalInterface: installation successful. simics> opal0.sim-start "output_test1.opal" [0] PC 0x105b6d4 NPC 0x105b6d8 ctx 0x0 simics> opal0.sim-step 100000 Segmentation fault (SIGSEGV) in main thread The simulation state has been corrupted. Simulation cannot continue. Please restart Simics. So them both seem to load and init correctly, but when I execute "opal0.sim-step 100000", it gives the segmentation fault you can see above. If I start the simulation without Opal (just "c" after initializing Ruby), everything works fine. Opal and Ruby are compiled with gcc/g++ 3.4, and all this commands work fine on a 2-core system checkpoint I created from the same abisko-sol10.state and a persistent-state (with a CMP protocol of course). But with 1 processor it is not working. I am using Simics 3.0.29 and GEMS 2.1. Can anyone help me?? Thanks!! Regards, David |
[← Prev in Thread] | Current Thread | [Next in Thread→] |
---|---|---|
|
Previous by Date: | [Gems-users] Does GEMS support x86_64 target, Jie Yu |
---|---|
Next by Date: | [Gems-users] Garnet Network Debugging, Huaping Wu |
Previous by Thread: | Re: [Gems-users] segmentation fault in MESI_CMP_filter_directory, huitzu shih |
Next by Thread: | [Gems-users] simulation state has been corrupted, Srividya Ramanathan |
Indexes: | [Date] [Thread] |