Hi there,

  I am discovering DRD tool today, after reading the following documentation:
http://valgrind.org/docs/manual/drd-manual.html#drd-manual.data-races

  I am trying to apply this to the following output (*). According to
the doc, I need to:

"Start at the bottom of both call stacks, and count the number stack
frames with identical function name, file name and line number. In the
above example the three bottommost frames are identical (clone,
start_thread and vg_thread_wrapper). "

  However in my case, there does not seems to be any identical
function name/filename/line number. can I still deduce anything from
that particular output ?

Thanks !

(*)
==15069== Thread 2:
==15069== Conflicting load by thread 2 at 0x00650958 size 8
==15069==    at 0x77FEEFD: std::basic_ostream<char,
std::char_traits<char> >& std::__ostream_insert<char,
std::char_traits<char> >(std::basic_ostream<char,
std::char_traits<char> >&, char const*, long) (in
/usr/lib/libstdc++.so.6.0.13)
==15069==    by 0x77FF2EE: std::basic_ostream<char,
std::char_traits<char> >& std::operator<< <std::char_traits<char>
>(std::basic_ostream<char, std::char_traits<char> >&, char const*) (in
/usr/lib/libstdc++.so.6.0.13)
==15069==    by 0x64AFBC8: tlp::PluginLoaderTxt::start(std::string
const&, std::string const&) (PluginLoaderTxt.cpp:33)
==15069==    by 0x64DFDF3: tlp::loadPluginsFromDir(std::string,
std::string, tlp::PluginLoader*) (TlpTools.cpp:174)
==15069==    by 0x6C0F1BF:
tlp::GlyphManager::loadPlugins(tlp::PluginLoader*)
(GlyphManager.cpp:92)
==15069==    by 0x5895107: Visualization::display(void*) (Visualization.cc:275)
==15069==    by 0x4C2FA44: vgDrd_thread_wrapper (drd_pthread_intercepts.c:272)
==15069==    by 0x754C739: start_thread (pthread_create.c:300)
==15069==    by 0x7FD569C: clone (clone.S:112)
==15069== Allocation context: BSS section of
de/Csm-gcc/CodeGenerator/Testing/GeneratedEpidemiology/Bin/main
==15069== Other segment start (thread 1)
==15069==    at 0x7FD5661: clone (clone.S:84)
==15069==    by 0x754C923: T.102 (createthread.c:75)
==15069==    by 0x754CE33: pthread_create@@GLIBC_2.2.5 (createthread.c:249)
==15069==    by 0x4C2F566: pthread_cre...@* (drd_pthread_intercepts.c:409)
==15069==    by 0x58B15F0:
GraphicDisplayProbeExtension::GraphicDisplayProbe::GraphicDisplayProbe()
(GraphicDisplayProbe.cc:28)
==15069==    by 0x58B58E1: Csm::TemplateProbeFactory<Csm::Entity*,
GraphicDisplayProbeExtension::GraphicDisplayProbe>::makeObject() const
(csmTemplateProbeFactory.txx:31)
==15069==    by 0x42C3B0:
Csm::ProbeFactory<Csm::Entity*>::createProbe(std::string)
(csmProbeFactory.txx:50)
==15069==    by 0x4402A9:
Csm::GenericProbeLoader<Csm::Entity*>::Load(_xmlDoc*, _xmlNode*)
(csmGenericProbeLoader.txx:56)
==15069==    by 0x4408AE:
Csm::SimulationLoader<Csm::Entity*>::loadProbes(_xmlDoc*, _xmlNode*)
(csmSimulationLoader.txx:133)
==15069==    by 0x4420B2:
Csm::SimulationLoader<Csm::Entity*>::load(std::string&)
(csmSimulationLoader.txx:101)
==15069==    by 0x442149:
Csm::Simulator<Csm::Entity*>::SetConfigurationFile(std::string,
std::string) (Simulator.txx:97)
==15069==    by 0x427BFD: main (main.cxx:84)
==15069== Other segment end (thread 1)
==15069==    at 0x4C26668: pthread_mutex_lock (drd_pthread_intercepts.c:580)
==15069==    by 0x77CE1BE: std::locale::locale() (in
/usr/lib/libstdc++.so.6.0.13)
==15069==    by 0x77CA82F: std::ios_base::_M_init() (in
/usr/lib/libstdc++.so.6.0.13)
==15069==    by 0x77DF228: std::basic_ios<char, std::char_traits<char>
>::init(std::basic_streambuf<char, std::char_traits<char> >*) (in
/usr/lib/libstdc++.so.6.0.13)
==15069==    by 0x7802652: std::basic_stringstream<char,
std::char_traits<char>, std::allocator<char>
>::basic_stringstream(std::_Ios_Openmode) (in
/usr/lib/libstdc++.so.6.0.13)
==15069==    by 0x5892EAB:
Visualization::createGraph(std::list<std::pair<std::map<unsigned int,
Visualization::HumanData*, std::less<unsigned int>,
std::allocator<std::pair<unsigned int const,
Visualization::HumanData*> > >*, std::list<std::pair<unsigned int,
unsigned int>, std::allocator<std::pair<unsigned int, unsigned int> >
>*>, std::allocator<std::pair<std::map<unsigned int,
Visualization::HumanData*, std::less<unsigned int>,
std::allocator<std::pair<unsigned int const,
Visualization::HumanData*> > >*, std::list<std::pair<unsigned int,
unsigned int>, std::allocator<std::pair<unsigned int, unsigned int> >
>*> > >*) (Visualization.cc:343)
==15069==    by 0x58B119F:
GraphicDisplayProbeExtension::GraphicDisplayProbe::react()
(GraphicDisplayProbe.cc:115)
==15069==    by 0x58B1235:
GraphicDisplayProbeExtension::GraphicDisplayProbe::run()
(GraphicDisplayProbe.cc:41)
==15069==    by 0x432265:
Csm::RepeatTaskBlock<Csm::SchedulerTrait<float,
Csm::TaskTrait<Csm::Entity*, Csm::EnvironmentInterface<Csm::Entity*>,
void (Csm::Entity::*)(Csm::EnvironmentInterface<Csm::Entity*>*)> >
>::runSimulation() (csmRepeatTaskBlock.txx:324)
==15069==    by 0x43CA07:
Csm::RepeatTaskBlock<Csm::SchedulerTrait<float,
Csm::TaskTrait<Csm::Entity*, Csm::EnvironmentInterface<Csm::Entity*>,
void (Csm::Entity::*)(Csm::EnvironmentInterface<Csm::Entity*>*)> >
>::run() (csmRepeatTaskBlock.txx:279)
==15069==    by 0x433A52: Csm::Scheduler<Csm::SchedulerTrait<float,
Csm::TaskTrait<Csm::Entity*, Csm::EnvironmentInterface<Csm::Entity*>,
void (Csm::Entity::*)(Csm::EnvironmentInterface<Csm::Entity*>*)> >
>::runSimulation() (csmScheduler.txx:465)
==15069==    by 0x436EA5: Csm::Scheduler<Csm::SchedulerTrait<float,
Csm::TaskTrait<Csm::Entity*, Csm::EnvironmentInterface<Csm::Entity*>,
void (Csm::Entity::*)(Csm::EnvironmentInterface<Csm::Entity*>*)> >
>::run() (csmScheduler.txx:445)


-- 
Mathieu

------------------------------------------------------------------------------
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
_______________________________________________
Valgrind-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to