Hi,
I get SIGSEGV in flexus-4.0 either, but I think the problematic function is 
different from the previous version. 


(gdb) backtrace 
#0  *__GI___libc_free (mem=0x4011) at malloc.c:3687
#1  0x01eb9ce5 in Flexus::Simics::MMU::fm_init_mmu_from_simics (mmu=0xa5d3020, 
chmmu=0xa368410)
    at simics/sparcmmu.cpp:1461
#2  0x01ebb822 in Flexus::Simics::v9ProcessorImpl::initializeMMUs 
(this=0xa563c20)
    at simics/sparcmmu.cpp:91
#3  0x01988684 in microArchImpl (this=0xa563c10, options=..., _squash=..., 
_redirect=..., 

    _changeState=..., _feedback=..., _signalStoreForwardingHit=...) at 
microArch.cpp:185
#4  0x0197908b in nuArch::microArch::construct(nuArch::uArchOptions_t, 
boost::function<void ()(Flexus::SharedTypes::eSquashCause), 
std::allocator<void> 
>, boost::function<void ()(Flexus::Core::MemoryAddress_<long long, true>, 
Flexus::Core::MemoryAddress_<long long, true>), std::allocator<void> >, 
boost::function<void ()(int, int), std::allocator<void> >, boost::function<void 
()(boost::intrusive_ptr<Flexus::SharedTypes::BranchFeedback>), 
std::allocator<void> >, boost::function<void ()(bool), std::allocator<void> >) 
(options=..., squash=..., redirect=..., changeState=..., feedback=..., 

    signalStoreForwardingHit=...) at microArch.cpp:834
#5  0x01996f96 in nuArch::uArchComponent::initialize (this=0xa30d250) at 
uArchImpl.cpp:303
#6  0x01d7609c in Flexus::Core::aux_::ComponentManagerImpl::initComponents 
(this=0xa2ec950)
    at components/ComponentManager.cpp:100
#7  0x01e803f3 in Flexus::Core::FlexusImpl::initializeComponents 
(this=0xa0f0290)
    at flexus.cpp:246
#8  0x01e8cbca in Flexus::Core::FlexusImpl::doLoad (this=0xa0f0290, 
aDirName=...)
    at flexus.cpp:538
#9  0x01e8cf8c in Flexus::Core::FlexusImpl::loadState (this=0xa0f0290, 
aDirName=...)
    at flexus.cpp:528

 
// Naderan *Mahmood;




________________________________
From: Lotfi Kamran Pejman <[email protected]>
To: Mahmood Naderan <[email protected]>; simflex <[email protected]>
Sent: Mon, July 12, 2010 5:05:00 PM
Subject: RE: SIGSEGV in mm_free()

Mahmood,

We need to reproduce this problem in Flexus 4. Please redo the same experiment 
with Flexus 4 and send us steps to reproduce the problem.

Pejman
________________________________________
From: Mahmood Naderan [[email protected]]
Sent: Saturday, July 10, 2010 4:22 PM
To: simflex
Subject: SIGSEGV in mm_free()

Hi all,
There is no problem with the image processing example (flexpoint+timing), 
however when I want to do a timing simulation for my own workload (no problem 
with flexpoint phase), I recevie SIGSEGV just before the simulation (I mean it 
is not my code).

Flexus Simics simulator - Built as UniFlex.OoO v3.0
2 <ComponentManager.cpp:81> {0}- Instantiating system with a width factor of: 1
3 <uFetch.hpp:76> {0}- ufetch port FetchSnoopOut is not wired
4 <Cache.hpp:82> {0}- L1d port BackSideOut_Prefetch is not wired
5 <Cache.hpp:82> {0}- L2 port BackSideOut_Snoop is not wired
6 <Cache.hpp:82> {0}- L2 port BackSideOut_Prefetch is not wired
7 <wiring.cpp:89> {0}-  initializing Parameters...
Warning: The 'flexus-UniFlex.OoO-v9-verb-gcc' module unexpectedly defined the 
'Flexus' class
Warning: The 'flexus-UniFlex.OoO-v9-verb-gcc' module unexpectedly defined the 
'SimicsInterface' class
8 <flexus.cpp:377> {0}- Set stat interval to : 50000
9 <flexus.cpp:382> {0}- Set region interval to : 50000
Opening debug output file: trace.out
Successfully parsed debug configurations from iteration.trace.cfg
10 <flexus.cpp:599> {0}- Switched to VVerb debugging.
11 <simics_command_manager.cpp:72> {0}- Call Gate: object flexus
12 <simics_command_manager.cpp:80> {0}- Call Gate: Parameter 1
13 <simics_command_manager.cpp:92> {0}- Call Gate: Parameter 2
14 <simics_command_manager.cpp:57> {0}- Call Gate: invoke 36
15 <simics_command_manager.cpp:188> {0}- Invoke: 36
WARNING: There is no parameter named "-L2:allow_offchip_stream_fetch"
16 <simics_command_manager.cpp:72> {0}- Call Gate: object flexus
17 <simics_command_manager.cpp:80> {0}- Call Gate: Parameter 1
18 <simics_command_manager.cpp:92> {0}- Call Gate: Parameter 2
19 <simics_command_manager.cpp:57> {0}- Call Gate: invoke 36
20 <simics_command_manager.cpp:188> {0}- Invoke: 36
WARNING: There is no parameter named "-L2:bypass_bus"
21 <simics_command_manager.cpp:72> {0}- Call Gate: object flexus
22 <simics_command_manager.cpp:80> {0}- Call Gate: Parameter 1
23 <simics_command_manager.cpp:57> {0}- Call Gate: invoke 26
24 <simics_command_manager.cpp:188> {0}- Invoke: 26
25 <flexus.cpp:521> {0}- Loading Flexus state from subdirectory flex_state_in
26 <ComponentManager.cpp:96> {0}- Initalizing components...
27 <FetchAddressGenerateImpl.cpp:92> {0}- Thread[0.0] connected to cpu0 Initial 
PC: v:00001153c
Segmentation fault (SIGSEGV) in main thread
The simulation state has been corrupted. Simulation cannot continue.


the call stack is:
Program received signal SIGSEGV, Segmentation fault.
0x0021b8da in mm_free ()
  from 
/home/mahmood/flexus-3.0.0/flexus-test-app/runs/mahmood-timing-09Jul10-171358/flexpoint_000/simics/x86-linux/bin/libsimics-common.so

(gdb) backtrace
#0  0x0021b8da in mm_free ()
  from 
/home/mahmood/flexus-3.0.0/flexus-test-app/runs/mahmood-timing-09Jul10-171358/flexpoint_000/simics/x86-linux/bin/libsimics-common.so

#1  0x028efda5 in 
Flexus::Simics::MMU::fm_init_mmu_from_simics(Flexus::Simics::MMU::mmu*, 
Flexus::Simics::API::conf_object*) ()
  from 
/home/mahmood/flexus-3.0.0/flexus-test-app/runs/mahmood-timing-09Jul10-171358/flexpoint_000/simics/x86-linux/lib/libflexus_UniFlex.OoO_v9_verb_gcc.so

#2  0x028f0c00 in Flexus::Simics::v9ProcessorImpl::initializeMMUs() ()
  from 
/home/mahmood/flexus-3.0.0/flexus-test-app/runs/mahmood-timing-09Jul10-171358/flexpoint_000/simics/x86-linux/lib/libflexus_UniFlex.OoO_v9_verb_gcc.so

#3  0x025eb103 in nuArch::microArchImpl::microArchImpl(nuArch::uArchOptions_t, 
boost::function<void ()(Flexus::SharedTypes::eSquashCause), 
std::allocator<void> 
>, boost::function<void ()(Flexus::Core::MemoryAddress_<long long, true>, 
Flexus::Core::MemoryAddress_<long long, true>), std::allocator<void> >, 
boost::function<void ()(int, int), std::allocator<void> >, boost::function<void 
()(boost::intrusive_ptr<Flexus::SharedTypes::BranchFeedback>), 
std::allocator<void> >) ()
  from 
/home/mahmood/flexus-3.0.0/flexus-test-app/runs/mahmood-timing-09Jul10-171358/flexpoint_000/simics/x86-linux/lib/libflexus_UniFlex.OoO_v9_verb_gcc.so

#4  0x025d958a in nuArch::microArch::construct(nuArch::uArchOptions_t, 
boost::function<void ()(Flexus::SharedTypes::eSquashCause), 
std::allocator<void> 
>, boost::function<void ()(Flexus::Core::MemoryAddress_<long long, true>, 
Flexus::Core::MemoryAddress_<long long, true>), std::allocator<void> >, 
boost::function<void ()(int, int), std::allocator<void> >, boost::function<void 
()(boost::intrusive_ptr<Flexus::SharedTypes::BranchFeedback>), 
std::allocator<void> >) ()
  from 
/home/mahmood/flexus-3.0.0/flexus-test-app/runs/mahmood-timing-09Jul10-171358/flexpoint_000/si---Type
 <return> to continue, or q <return> to quit---
mics/x86-linux/lib/libflexus_UniFlex.OoO_v9_verb_gcc.so
#5  0x025f9cbf in nuArch::uArchComponent::initialize() ()
  from 
/home/mahmood/flexus-3.0.0/flexus-test-app/runs/mahmood-timing-09Jul10-171358/flexpoint_000/simics/x86-linux/lib/libflexus_UniFlex.OoO_v9_verb_gcc.so

#6  0x027bb78f in Flexus::Core::aux_::ComponentManagerImpl::initComponents() ()
  from 
/home/mahmood/flexus-3.0.0/flexus-test-app/runs/mahmood-timing-09Jul10-171358/flexpoint_000/simics/x86-linux/lib/libflexus_UniFlex.OoO_v9_verb_gcc.so

#7  0x028c92c3 in Flexus::Core::FlexusImpl::initializeComponents() ()
  from 
/home/mahmood/flexus-3.0.0/flexus-test-app/runs/mahmood-timing-09Jul10-171358/flexpoint_000/simics/x86-linux/lib/libflexus_UniFlex.OoO_v9_verb_gcc.so

#8  0x028d2479 in Flexus::Core::FlexusImpl::doLoad(std::string const&) ()
  from 
/home/mahmood/flexus-3.0.0/flexus-test-app/runs/mahmood-timing-09Jul10-171358/flexpoint_000/simics/x86-linux/lib/libflexus_UniFlex.OoO_v9_verb_gcc.so

#9  0x028d27b5 in Flexus::Core::FlexusImpl::loadState(std::string const&) ()
  from 
/home/mahmood/flexus-3.0.0/flexus-test-app/runs/mahmood-timing-09Jul10-171358/flexpoint_000/simics/x86-linux/lib/libflexus_UniFlex.OoO_v9_verb_gcc.so



Is it related to simics or flexus?
Thanks,

// Naderan *Mahmood;


________________________________
From: Jason Zebchuk <[email protected]>
To: Mahmood Naderan <[email protected]>
Sent: Fri, July 9, 2010 2:31:57 PM
Subject: Re: gdb option in flexus 3.0

On 10-07-09 9:10 AM, Mahmood Naderan wrote:
Hi Jason,
-gdb is not a valid option for run-job in flexus3.0. So how can I attach 
run-timing-jobs to gdb? What should I do inorder to get simics pid?

// Naderan *Mahmood;



Hi Mahmood,

You have two options:

1. Use ps to determine the pid of simics (You can use ctrl-z to put the process 
into the background shortly after it starts so you can attach early enough)

2. Modify or duplicate the <simics dir>/scripts/start-simics script so that the 
last few lines look like:

#exec "$TARGETBIN" ${1+"$@"}
echo "$TARGETBIN" ${1+"$@"}
exec gdb "$TARGETBIN"




Jason


      

Reply via email to