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