Dear list,

I'm setting up Flexus 4.1, carefully following the guidelines provided to
run the flexus-test-app for Solaris, and I'm having some problems when
creating the Flex-points using UP.Trace (everything until that point seems
to work fine). When I execute "run_job" as follows, I get a seg fault
during the initialization of the flexus components.  Is there anything that
I'm missing?  See the debugging output below.

Thanks in advance for your help!

Rubén

~/flexus-4.1$ run_job -postprocess
"/home/ruben/flexus/scripts/postprocess_ckptgen.sh flexpoint 28 test_app"
-cfg trace -run flexpoint -local -ckpt-gen UP.Trace flexus_test_app_v9

1 <startup.cpp:121> {0}- Initializing Flexus.
Initializing Flexus::ComponentManager...done
2 <ComponentManager.cpp:79> {0}- Instantiating system with a width factor
of: 1
[......]
Warning: The 'flexus-UP.Trace-v9-iface-gcc' module was supposed to register
the 'DecoupledFeeder' class, but did not

WARNING: There is no parameter named "-L1d:bsize"
[......]
WARNING: There is no parameter named "-bpwarm:cores"
[cpu0 info] Note that on this cpu, instruction-fetch-trace is implemented
using instruction-cache-access-trace with a suitable cache line size.
7 <ComponentManager.cpp:94> {0}- Initalizing components...
7 <ComponentManager.cpp:94> {0}- Initalizing components...
Segmentation fault (SIGSEGV) in main thread


Running from inside gdb, I can see that "theInstantiationFunctions" object
is empty when ComponentManagerImpl::instantiateComponents is called:

Flexus::Core::aux_::ComponentManagerImpl::instantiateComponents
(this=0x16b9be0, aSystemWidth=1)
    at components/ComponentManager.cpp:81
81    instatiation_vector::iterator iter =
theInstantiationFunctions.begin();
(gdb)

Similarly, "theComponents" is also empty when
ComponentManagerImpl::initComponents is called:

Breakpoint 3, Flexus::Core::aux_::ComponentManagerImpl::initComponents
(this=0x16b9be0)
    at components/ComponentManager.cpp:94
95    std::vector< ComponentInterface * >::iterator iter =
theComponents.begin();
(gdb) n

Shortly after that, the program receives a SIGSEGV.

0x00007fffebee8e0f in
Flexus::Core::ComponentInstance<MagicBreakInterface>::operator[]
(this=0x7fffec620f60,
     anIndex=0) at /home/ruben/flexus-4.1/core/component.hpp:271
271    return theComponent[anIndex];
(gdb) p theComponent
$7 = (MagicBreakInterface **) 0x0

Reply via email to