Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ==36369== Helgrind, a thread error detector
- ==36369== Copyright (C) 2007-2013, and GNU GPL'd, by OpenWorks LLP et al.
- ==36369== Using Valgrind-3.9.0 and LibVEX; rerun with -h for copyright info
- ==36369== Command: ./chai_thread
- ==36369==
- ==36369== ---Thread-Announcement------------------------------------------
- ==36369==
- ==36369== Thread #4 was created
- ==36369== at 0x37D78E899E: clone (in /lib64/libc-2.12.so)
- ==36369== by 0x37D80068BF: do_clone.clone.0 (in /lib64/libpthread-2.12.so)
- ==36369== by 0x37D8006DA1: pthread_create@@GLIBC_2.2.5 (in /lib64/libpthread-2.12.so)
- ==36369== by 0x4A0C7F8: ??? (in /opt/rh/devtoolset-3/root/usr/lib64/valgrind/vgpreload_helgrind-amd64-linux.so)
- ==36369== by 0x4A0C907: pthread_create@* (in /opt/rh/devtoolset-3/root/usr/lib64/valgrind/vgpreload_helgrind-amd64-linux.so)
- ==36369== by 0x37E38B65A6: std::thread::_M_start_thread(std::shared_ptr<std::thread::_Impl_base>) (in /usr/lib64/libstdc++.so.6.0.13)
- ==36369== by 0x447A6B: std::thread::thread<void (&)()>(void (&)()) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x40680F: main (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== ---Thread-Announcement------------------------------------------
- ==36369==
- ==36369== Thread #3 was created
- ==36369== at 0x37D78E899E: clone (in /lib64/libc-2.12.so)
- ==36369== by 0x37D80068BF: do_clone.clone.0 (in /lib64/libpthread-2.12.so)
- ==36369== by 0x37D8006DA1: pthread_create@@GLIBC_2.2.5 (in /lib64/libpthread-2.12.so)
- ==36369== by 0x4A0C7F8: ??? (in /opt/rh/devtoolset-3/root/usr/lib64/valgrind/vgpreload_helgrind-amd64-linux.so)
- ==36369== by 0x4A0C907: pthread_create@* (in /opt/rh/devtoolset-3/root/usr/lib64/valgrind/vgpreload_helgrind-amd64-linux.so)
- ==36369== by 0x37E38B65A6: std::thread::_M_start_thread(std::shared_ptr<std::thread::_Impl_base>) (in /usr/lib64/libstdc++.so.6.0.13)
- ==36369== by 0x447A6B: std::thread::thread<void (&)()>(void (&)()) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x40680F: main (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== ----------------------------------------------------------------
- ==36369==
- ==36369== Possible data race during read of size 8 at 0x9001D0 by thread #4
- ==36369== Locks held: none
- ==36369== at 0x489860: std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_begin() const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x46403D: std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::find(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x439C1A: std::set<std::string, std::less<std::string>, std::allocator<std::string> >::count(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417B08: chaiscript::Name_Validator::is_reserved_word(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417D46: chaiscript::Name_Validator::valid_object_name(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x57B330: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::validate_object_name(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56EDCD: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Id(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56193C: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Def(bool, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x54FC15: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Statements(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x53DEF0: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::parse_internal(std::string const&, std::string) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x51A1C9: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::parse(std::string const&, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x41ADAA: chaiscript::ChaiScript_Basic::do_eval(std::string const&, std::string const&, bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== This conflicts with a previous write of size 8 by thread #3
- ==36369== Locks held: none
- ==36369== at 0x4896C9: std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_Rb_tree_impl<std::less<std::string>, true>::_Rb_tree_impl(std::less<std::string> const&, std::allocator<std::_Rb_tree_node<std::string> >&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x463EC6: std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_Rb_tree(std::less<std::string> const&, std::allocator<std::string> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x439B1B: std::set<std::string, std::less<std::string>, std::allocator<std::string> >::set(std::initializer_list<std::string>, std::less<std::string> const&, std::allocator<std::string> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417982: chaiscript::Name_Validator::is_reserved_word(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417D46: chaiscript::Name_Validator::valid_object_name(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x57B330: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::validate_object_name(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56EDCD: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Id(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56193C: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Def(bool, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== ----------------------------------------------------------------
- ==36369==
- ==36369== Lock at 0x6430A38 was first observed
- ==36369== at 0x4A0B903: pthread_mutex_lock (in /opt/rh/devtoolset-3/root/usr/lib64/valgrind/vgpreload_helgrind-amd64-linux.so)
- ==36369== by 0x406267: __gthread_mutex_lock(pthread_mutex_t*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x407C09: std::mutex::lock() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x43BEDE: std::unique_lock<std::mutex>::lock() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x430242: std::unique_lock<std::mutex>::unique_lock(std::mutex&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x410EED: chaiscript::detail::Dispatch_Engine::add_global_const(chaiscript::Boxed_Value const&, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x411A3C: chaiscript::detail::Dispatch_Engine::add(chaiscript::Type_Info const&, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x48C539: _ZZN10chaiscript6Module5applyINS_6detail15Dispatch_EngineEN9__gnu_cxx17__normal_iteratorIPKSt4pairINS_9Type_InfoESsESt6vectorIS8_SaIS8_EEEEEEvT0_SF_RT_ENKUlRKSG_E_clIS8_EEDaRKT_ (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x48C59F: _ZSt8for_eachIN9__gnu_cxx17__normal_iteratorIPKSt4pairIN10chaiscript9Type_InfoESsESt6vectorIS5_SaIS5_EEEEZNS3_6Module5applyINS3_6detail15Dispatch_EngineESB_EEvT0_SG_RT_EUlRKSH_E_ESG_SH_SH_SG_ (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x466ABD: void chaiscript::Module::apply<chaiscript::detail::Dispatch_Engine, __gnu_cxx::__normal_iterator<std::pair<chaiscript::Type_Info, std::string> const*, std::vector<std::pair<chaiscript::Type_Info, std::string>, std::allocator<std::pair<chaiscript::Type_Info, std::string> > > > >(__gnu_cxx::__normal_iterator<std::pair<chaiscript::Type_Info, std::string> const*, std::vector<std::pair<chaiscript::Type_Info, std::string>, std::allocator<std::pair<chaiscript::Type_Info, std::string> > > >, __gnu_cxx::__normal_iterator<std::pair<chaiscript::Type_Info, std::string> const*, std::vector<std::pair<chaiscript::Type_Info, std::string>, std::allocator<std::pair<chaiscript::Type_Info, std::string> > > >, chaiscript::detail::Dispatch_Engine&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x43C098: void chaiscript::Module::apply<chaiscript::ChaiScript_Basic, chaiscript::detail::Dispatch_Engine>(chaiscript::ChaiScript_Basic&, chaiscript::detail::Dispatch_Engine&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x41E57C: chaiscript::ChaiScript_Basic::add(std::shared_ptr<chaiscript::Module> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== Possible data race during read of size 8 at 0x4CD3EE0 by thread #4
- ==36369== Locks held: none
- ==36369== at 0x37E389C473: std::string::compare(std::string const&) const (in /usr/lib64/libstdc++.so.6.0.13)
- ==36369== by 0x473748: bool std::operator< <char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4485CC: std::less<std::string>::operator()(std::string const&, std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4898B3: std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_lower_bound(std::_Rb_tree_node<std::string> const*, std::_Rb_tree_node<std::string> const*, std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x464056: std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::find(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x439C1A: std::set<std::string, std::less<std::string>, std::allocator<std::string> >::count(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417B08: chaiscript::Name_Validator::is_reserved_word(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417D46: chaiscript::Name_Validator::valid_object_name(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x57B330: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::validate_object_name(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56EDCD: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Id(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56193C: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Def(bool, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x54FC15: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Statements(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== This conflicts with a previous write of size 8 by thread #3
- ==36369== Locks held: 1, at address 0x6430A38
- ==36369== at 0x447FF3: std::__shared_ptr<chaiscript::Boxed_Value::Data, (__gnu_cxx::_Lock_policy)2>::__shared_ptr(std::__shared_ptr<chaiscript::Boxed_Value::Data, (__gnu_cxx::_Lock_policy)2>&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x42F6BB: std::shared_ptr<chaiscript::Boxed_Value::Data>::shared_ptr(std::shared_ptr<chaiscript::Boxed_Value::Data>&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x408CCE: chaiscript::Boxed_Value::Boxed_Value(chaiscript::Boxed_Value&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x410DC7: std::pair<std::string, chaiscript::Boxed_Value>::pair(std::pair<std::string, chaiscript::Boxed_Value>&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4D6FD5: void std::_Construct<std::pair<std::string, chaiscript::Boxed_Value>, std::pair<std::string, chaiscript::Boxed_Value> >(std::pair<std::string, chaiscript::Boxed_Value>*, std::pair<std::string, chaiscript::Boxed_Value>&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4C9E52: std::pair<std::string, chaiscript::Boxed_Value>* std::__uninitialized_copy<false>::__uninit_copy<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*>(std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4B823F: std::pair<std::string, chaiscript::Boxed_Value>* std::uninitialized_copy<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*>(std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4A1BB2: std::pair<std::string, chaiscript::Boxed_Value>* std::__uninitialized_copy_a<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*, std::pair<std::string, chaiscript::Boxed_Value> >(std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*, std::allocator<std::pair<std::string, chaiscript::Boxed_Value> >&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== Address 0x4CD3EE0 is 32 bytes inside a block of size 40 alloc'd
- ==36369== at 0x4A078C3: operator new(unsigned long) (in /opt/rh/devtoolset-3/root/usr/lib64/valgrind/vgpreload_helgrind-amd64-linux.so)
- ==36369== by 0x4D863F: __gnu_cxx::new_allocator<std::_Rb_tree_node<std::string> >::allocate(unsigned long, void const*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4CC36C: std::allocator_traits<std::allocator<std::_Rb_tree_node<std::string> > >::allocate(std::allocator<std::_Rb_tree_node<std::string> >&, unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4BBC4C: std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_get_node() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4A6ACE: std::_Rb_tree_node<std::string>* std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_create_node<std::string const&>(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x48C356: std::_Rb_tree_iterator<std::string> std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_insert_<std::string const&>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x48979E: std::_Rb_tree_iterator<std::string> std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_insert_unique_<std::string const&>(std::_Rb_tree_const_iterator<std::string>, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x463F45: void std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_insert_unique<std::string const*>(std::string const*, std::string const*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x439B57: std::set<std::string, std::less<std::string>, std::allocator<std::string> >::set(std::initializer_list<std::string>, std::less<std::string> const&, std::allocator<std::string> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417982: chaiscript::Name_Validator::is_reserved_word(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417D46: chaiscript::Name_Validator::valid_object_name(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x57B330: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::validate_object_name(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== ----------------------------------------------------------------
- ==36369==
- ==36369== Lock at 0x6430A38 was first observed
- ==36369== at 0x4A0B903: pthread_mutex_lock (in /opt/rh/devtoolset-3/root/usr/lib64/valgrind/vgpreload_helgrind-amd64-linux.so)
- ==36369== by 0x406267: __gthread_mutex_lock(pthread_mutex_t*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x407C09: std::mutex::lock() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x43BEDE: std::unique_lock<std::mutex>::lock() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x430242: std::unique_lock<std::mutex>::unique_lock(std::mutex&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x410EED: chaiscript::detail::Dispatch_Engine::add_global_const(chaiscript::Boxed_Value const&, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x411A3C: chaiscript::detail::Dispatch_Engine::add(chaiscript::Type_Info const&, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x48C539: _ZZN10chaiscript6Module5applyINS_6detail15Dispatch_EngineEN9__gnu_cxx17__normal_iteratorIPKSt4pairINS_9Type_InfoESsESt6vectorIS8_SaIS8_EEEEEEvT0_SF_RT_ENKUlRKSG_E_clIS8_EEDaRKT_ (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x48C59F: _ZSt8for_eachIN9__gnu_cxx17__normal_iteratorIPKSt4pairIN10chaiscript9Type_InfoESsESt6vectorIS5_SaIS5_EEEEZNS3_6Module5applyINS3_6detail15Dispatch_EngineESB_EEvT0_SG_RT_EUlRKSH_E_ESG_SH_SH_SG_ (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x466ABD: void chaiscript::Module::apply<chaiscript::detail::Dispatch_Engine, __gnu_cxx::__normal_iterator<std::pair<chaiscript::Type_Info, std::string> const*, std::vector<std::pair<chaiscript::Type_Info, std::string>, std::allocator<std::pair<chaiscript::Type_Info, std::string> > > > >(__gnu_cxx::__normal_iterator<std::pair<chaiscript::Type_Info, std::string> const*, std::vector<std::pair<chaiscript::Type_Info, std::string>, std::allocator<std::pair<chaiscript::Type_Info, std::string> > > >, __gnu_cxx::__normal_iterator<std::pair<chaiscript::Type_Info, std::string> const*, std::vector<std::pair<chaiscript::Type_Info, std::string>, std::allocator<std::pair<chaiscript::Type_Info, std::string> > > >, chaiscript::detail::Dispatch_Engine&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x43C098: void chaiscript::Module::apply<chaiscript::ChaiScript_Basic, chaiscript::detail::Dispatch_Engine>(chaiscript::ChaiScript_Basic&, chaiscript::detail::Dispatch_Engine&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x41E57C: chaiscript::ChaiScript_Basic::add(std::shared_ptr<chaiscript::Module> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== Possible data race during read of size 8 at 0x4CD3530 by thread #4
- ==36369== Locks held: none
- ==36369== at 0x37E389C479: std::string::compare(std::string const&) const (in /usr/lib64/libstdc++.so.6.0.13)
- ==36369== by 0x473748: bool std::operator< <char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4485CC: std::less<std::string>::operator()(std::string const&, std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4898B3: std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_lower_bound(std::_Rb_tree_node<std::string> const*, std::_Rb_tree_node<std::string> const*, std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x464056: std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::find(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x439C1A: std::set<std::string, std::less<std::string>, std::allocator<std::string> >::count(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417B08: chaiscript::Name_Validator::is_reserved_word(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417D46: chaiscript::Name_Validator::valid_object_name(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x57B330: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::validate_object_name(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56EDCD: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Id(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56193C: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Def(bool, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x54FC15: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Statements(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== This conflicts with a previous write of size 8 by thread #3
- ==36369== Locks held: 1, at address 0x6430A38
- ==36369== at 0x5E0271: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x410DAC: std::pair<std::string, chaiscript::Boxed_Value>::pair(std::pair<std::string, chaiscript::Boxed_Value>&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4D6FD5: void std::_Construct<std::pair<std::string, chaiscript::Boxed_Value>, std::pair<std::string, chaiscript::Boxed_Value> >(std::pair<std::string, chaiscript::Boxed_Value>*, std::pair<std::string, chaiscript::Boxed_Value>&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4C9E52: std::pair<std::string, chaiscript::Boxed_Value>* std::__uninitialized_copy<false>::__uninit_copy<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*>(std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4B823F: std::pair<std::string, chaiscript::Boxed_Value>* std::uninitialized_copy<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*>(std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4A1BB2: std::pair<std::string, chaiscript::Boxed_Value>* std::__uninitialized_copy_a<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*, std::pair<std::string, chaiscript::Boxed_Value> >(std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*, std::allocator<std::pair<std::string, chaiscript::Boxed_Value> >&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4889EA: std::pair<std::string, chaiscript::Boxed_Value>* std::vector<std::pair<std::string, chaiscript::Boxed_Value>, std::allocator<std::pair<std::string, chaiscript::Boxed_Value> > >::_M_allocate_and_copy<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*> >(unsigned long, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x462C3E: std::vector<std::pair<std::string, chaiscript::Boxed_Value>, std::allocator<std::pair<std::string, chaiscript::Boxed_Value> > >::reserve(unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== Address 0x4CD3530 is 0 bytes inside a block of size 29 alloc'd
- ==36369== at 0x4A078C3: operator new(unsigned long) (in /opt/rh/devtoolset-3/root/usr/lib64/valgrind/vgpreload_helgrind-amd64-linux.so)
- ==36369== by 0x37E389C3C8: std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) (in /usr/lib64/libstdc++.so.6.0.13)
- ==36369== by 0x37E389CDE4: ??? (in /usr/lib64/libstdc++.so.6.0.13)
- ==36369== by 0x37E389CF32: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (in /usr/lib64/libstdc++.so.6.0.13)
- ==36369== by 0x417624: chaiscript::Name_Validator::is_reserved_word(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417D46: chaiscript::Name_Validator::valid_object_name(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x57B330: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::validate_object_name(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56EDCD: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Id(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56193C: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Def(bool, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x54FC15: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Statements(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x53DEF0: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::parse_internal(std::string const&, std::string) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x51A1C9: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::parse(std::string const&, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== ----------------------------------------------------------------
- ==36369==
- ==36369== Lock at 0x6430A38 was first observed
- ==36369== at 0x4A0B903: pthread_mutex_lock (in /opt/rh/devtoolset-3/root/usr/lib64/valgrind/vgpreload_helgrind-amd64-linux.so)
- ==36369== by 0x406267: __gthread_mutex_lock(pthread_mutex_t*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x407C09: std::mutex::lock() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x43BEDE: std::unique_lock<std::mutex>::lock() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x430242: std::unique_lock<std::mutex>::unique_lock(std::mutex&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x410EED: chaiscript::detail::Dispatch_Engine::add_global_const(chaiscript::Boxed_Value const&, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x411A3C: chaiscript::detail::Dispatch_Engine::add(chaiscript::Type_Info const&, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x48C539: _ZZN10chaiscript6Module5applyINS_6detail15Dispatch_EngineEN9__gnu_cxx17__normal_iteratorIPKSt4pairINS_9Type_InfoESsESt6vectorIS8_SaIS8_EEEEEEvT0_SF_RT_ENKUlRKSG_E_clIS8_EEDaRKT_ (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x48C59F: _ZSt8for_eachIN9__gnu_cxx17__normal_iteratorIPKSt4pairIN10chaiscript9Type_InfoESsESt6vectorIS5_SaIS5_EEEEZNS3_6Module5applyINS3_6detail15Dispatch_EngineESB_EEvT0_SG_RT_EUlRKSH_E_ESG_SH_SH_SG_ (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x466ABD: void chaiscript::Module::apply<chaiscript::detail::Dispatch_Engine, __gnu_cxx::__normal_iterator<std::pair<chaiscript::Type_Info, std::string> const*, std::vector<std::pair<chaiscript::Type_Info, std::string>, std::allocator<std::pair<chaiscript::Type_Info, std::string> > > > >(__gnu_cxx::__normal_iterator<std::pair<chaiscript::Type_Info, std::string> const*, std::vector<std::pair<chaiscript::Type_Info, std::string>, std::allocator<std::pair<chaiscript::Type_Info, std::string> > > >, __gnu_cxx::__normal_iterator<std::pair<chaiscript::Type_Info, std::string> const*, std::vector<std::pair<chaiscript::Type_Info, std::string>, std::allocator<std::pair<chaiscript::Type_Info, std::string> > > >, chaiscript::detail::Dispatch_Engine&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x43C098: void chaiscript::Module::apply<chaiscript::ChaiScript_Basic, chaiscript::detail::Dispatch_Engine>(chaiscript::ChaiScript_Basic&, chaiscript::detail::Dispatch_Engine&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x41E57C: chaiscript::ChaiScript_Basic::add(std::shared_ptr<chaiscript::Module> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== Possible data race during read of size 1 at 0x4CD3548 by thread #4
- ==36369== Locks held: none
- ==36369== at 0x37E389C48E: std::string::compare(std::string const&) const (in /usr/lib64/libstdc++.so.6.0.13)
- ==36369== by 0x473748: bool std::operator< <char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4485CC: std::less<std::string>::operator()(std::string const&, std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4898B3: std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_lower_bound(std::_Rb_tree_node<std::string> const*, std::_Rb_tree_node<std::string> const*, std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x464056: std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::find(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x439C1A: std::set<std::string, std::less<std::string>, std::allocator<std::string> >::count(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417B08: chaiscript::Name_Validator::is_reserved_word(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417D46: chaiscript::Name_Validator::valid_object_name(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x57B330: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::validate_object_name(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56EDCD: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Id(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56193C: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Def(bool, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x54FC15: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Statements(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== This conflicts with a previous write of size 8 by thread #3
- ==36369== Locks held: 1, at address 0x6430A38
- ==36369== at 0x5E0271: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x410DAC: std::pair<std::string, chaiscript::Boxed_Value>::pair(std::pair<std::string, chaiscript::Boxed_Value>&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4D6FD5: void std::_Construct<std::pair<std::string, chaiscript::Boxed_Value>, std::pair<std::string, chaiscript::Boxed_Value> >(std::pair<std::string, chaiscript::Boxed_Value>*, std::pair<std::string, chaiscript::Boxed_Value>&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4C9E52: std::pair<std::string, chaiscript::Boxed_Value>* std::__uninitialized_copy<false>::__uninit_copy<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*>(std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4B823F: std::pair<std::string, chaiscript::Boxed_Value>* std::uninitialized_copy<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*>(std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4A1BB2: std::pair<std::string, chaiscript::Boxed_Value>* std::__uninitialized_copy_a<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*, std::pair<std::string, chaiscript::Boxed_Value> >(std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*, std::allocator<std::pair<std::string, chaiscript::Boxed_Value> >&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4889EA: std::pair<std::string, chaiscript::Boxed_Value>* std::vector<std::pair<std::string, chaiscript::Boxed_Value>, std::allocator<std::pair<std::string, chaiscript::Boxed_Value> > >::_M_allocate_and_copy<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*> >(unsigned long, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x462C3E: std::vector<std::pair<std::string, chaiscript::Boxed_Value>, std::allocator<std::pair<std::string, chaiscript::Boxed_Value> > >::reserve(unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== Address 0x4CD3548 is 24 bytes inside a block of size 29 alloc'd
- ==36369== at 0x4A078C3: operator new(unsigned long) (in /opt/rh/devtoolset-3/root/usr/lib64/valgrind/vgpreload_helgrind-amd64-linux.so)
- ==36369== by 0x37E389C3C8: std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) (in /usr/lib64/libstdc++.so.6.0.13)
- ==36369== by 0x37E389CDE4: ??? (in /usr/lib64/libstdc++.so.6.0.13)
- ==36369== by 0x37E389CF32: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (in /usr/lib64/libstdc++.so.6.0.13)
- ==36369== by 0x417624: chaiscript::Name_Validator::is_reserved_word(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417D46: chaiscript::Name_Validator::valid_object_name(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x57B330: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::validate_object_name(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56EDCD: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Id(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56193C: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Def(bool, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x54FC15: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Statements(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x53DEF0: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::parse_internal(std::string const&, std::string) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x51A1C9: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::parse(std::string const&, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== ----------------------------------------------------------------
- ==36369==
- ==36369== Lock at 0x6430A38 was first observed
- ==36369== at 0x4A0B903: pthread_mutex_lock (in /opt/rh/devtoolset-3/root/usr/lib64/valgrind/vgpreload_helgrind-amd64-linux.so)
- ==36369== by 0x406267: __gthread_mutex_lock(pthread_mutex_t*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x407C09: std::mutex::lock() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x43BEDE: std::unique_lock<std::mutex>::lock() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x430242: std::unique_lock<std::mutex>::unique_lock(std::mutex&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x410EED: chaiscript::detail::Dispatch_Engine::add_global_const(chaiscript::Boxed_Value const&, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x411A3C: chaiscript::detail::Dispatch_Engine::add(chaiscript::Type_Info const&, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x48C539: _ZZN10chaiscript6Module5applyINS_6detail15Dispatch_EngineEN9__gnu_cxx17__normal_iteratorIPKSt4pairINS_9Type_InfoESsESt6vectorIS8_SaIS8_EEEEEEvT0_SF_RT_ENKUlRKSG_E_clIS8_EEDaRKT_ (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x48C59F: _ZSt8for_eachIN9__gnu_cxx17__normal_iteratorIPKSt4pairIN10chaiscript9Type_InfoESsESt6vectorIS5_SaIS5_EEEEZNS3_6Module5applyINS3_6detail15Dispatch_EngineESB_EEvT0_SG_RT_EUlRKSH_E_ESG_SH_SH_SG_ (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x466ABD: void chaiscript::Module::apply<chaiscript::detail::Dispatch_Engine, __gnu_cxx::__normal_iterator<std::pair<chaiscript::Type_Info, std::string> const*, std::vector<std::pair<chaiscript::Type_Info, std::string>, std::allocator<std::pair<chaiscript::Type_Info, std::string> > > > >(__gnu_cxx::__normal_iterator<std::pair<chaiscript::Type_Info, std::string> const*, std::vector<std::pair<chaiscript::Type_Info, std::string>, std::allocator<std::pair<chaiscript::Type_Info, std::string> > > >, __gnu_cxx::__normal_iterator<std::pair<chaiscript::Type_Info, std::string> const*, std::vector<std::pair<chaiscript::Type_Info, std::string>, std::allocator<std::pair<chaiscript::Type_Info, std::string> > > >, chaiscript::detail::Dispatch_Engine&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x43C098: void chaiscript::Module::apply<chaiscript::ChaiScript_Basic, chaiscript::detail::Dispatch_Engine>(chaiscript::ChaiScript_Basic&, chaiscript::detail::Dispatch_Engine&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x41E57C: chaiscript::ChaiScript_Basic::add(std::shared_ptr<chaiscript::Module> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== Possible data race during read of size 8 at 0x4CD3ED0 by thread #4
- ==36369== Locks held: none
- ==36369== at 0x4A4F7B: std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_S_left(std::_Rb_tree_node_base const*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4898CE: std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_lower_bound(std::_Rb_tree_node<std::string> const*, std::_Rb_tree_node<std::string> const*, std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x464056: std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::find(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x439C1A: std::set<std::string, std::less<std::string>, std::allocator<std::string> >::count(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417B08: chaiscript::Name_Validator::is_reserved_word(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417D46: chaiscript::Name_Validator::valid_object_name(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x57B330: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::validate_object_name(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56EDCD: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Id(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56193C: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Def(bool, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x54FC15: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Statements(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x53DEF0: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::parse_internal(std::string const&, std::string) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x51A1C9: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::parse(std::string const&, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== This conflicts with a previous write of size 8 by thread #3
- ==36369== Locks held: 1, at address 0x6430A38
- ==36369== at 0x46F908: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::_M_swap(std::__shared_count<(__gnu_cxx::_Lock_policy)2>&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x447FEE: std::__shared_ptr<chaiscript::Boxed_Value::Data, (__gnu_cxx::_Lock_policy)2>::__shared_ptr(std::__shared_ptr<chaiscript::Boxed_Value::Data, (__gnu_cxx::_Lock_policy)2>&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x42F6BB: std::shared_ptr<chaiscript::Boxed_Value::Data>::shared_ptr(std::shared_ptr<chaiscript::Boxed_Value::Data>&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x408CCE: chaiscript::Boxed_Value::Boxed_Value(chaiscript::Boxed_Value&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x410DC7: std::pair<std::string, chaiscript::Boxed_Value>::pair(std::pair<std::string, chaiscript::Boxed_Value>&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4D6FD5: void std::_Construct<std::pair<std::string, chaiscript::Boxed_Value>, std::pair<std::string, chaiscript::Boxed_Value> >(std::pair<std::string, chaiscript::Boxed_Value>*, std::pair<std::string, chaiscript::Boxed_Value>&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4C9E52: std::pair<std::string, chaiscript::Boxed_Value>* std::__uninitialized_copy<false>::__uninit_copy<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*>(std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4B823F: std::pair<std::string, chaiscript::Boxed_Value>* std::uninitialized_copy<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*>(std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== Address 0x4CD3ED0 is 16 bytes inside a block of size 40 alloc'd
- ==36369== at 0x4A078C3: operator new(unsigned long) (in /opt/rh/devtoolset-3/root/usr/lib64/valgrind/vgpreload_helgrind-amd64-linux.so)
- ==36369== by 0x4D863F: __gnu_cxx::new_allocator<std::_Rb_tree_node<std::string> >::allocate(unsigned long, void const*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4CC36C: std::allocator_traits<std::allocator<std::_Rb_tree_node<std::string> > >::allocate(std::allocator<std::_Rb_tree_node<std::string> >&, unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4BBC4C: std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_get_node() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4A6ACE: std::_Rb_tree_node<std::string>* std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_create_node<std::string const&>(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x48C356: std::_Rb_tree_iterator<std::string> std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_insert_<std::string const&>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x48979E: std::_Rb_tree_iterator<std::string> std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_insert_unique_<std::string const&>(std::_Rb_tree_const_iterator<std::string>, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x463F45: void std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_insert_unique<std::string const*>(std::string const*, std::string const*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x439B57: std::set<std::string, std::less<std::string>, std::allocator<std::string> >::set(std::initializer_list<std::string>, std::less<std::string> const&, std::allocator<std::string> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417982: chaiscript::Name_Validator::is_reserved_word(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417D46: chaiscript::Name_Validator::valid_object_name(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x57B330: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::validate_object_name(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== ----------------------------------------------------------------
- ==36369==
- ==36369== Lock at 0x6430A38 was first observed
- ==36369== at 0x4A0B903: pthread_mutex_lock (in /opt/rh/devtoolset-3/root/usr/lib64/valgrind/vgpreload_helgrind-amd64-linux.so)
- ==36369== by 0x406267: __gthread_mutex_lock(pthread_mutex_t*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x407C09: std::mutex::lock() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x43BEDE: std::unique_lock<std::mutex>::lock() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x430242: std::unique_lock<std::mutex>::unique_lock(std::mutex&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x410EED: chaiscript::detail::Dispatch_Engine::add_global_const(chaiscript::Boxed_Value const&, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x411A3C: chaiscript::detail::Dispatch_Engine::add(chaiscript::Type_Info const&, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x48C539: _ZZN10chaiscript6Module5applyINS_6detail15Dispatch_EngineEN9__gnu_cxx17__normal_iteratorIPKSt4pairINS_9Type_InfoESsESt6vectorIS8_SaIS8_EEEEEEvT0_SF_RT_ENKUlRKSG_E_clIS8_EEDaRKT_ (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x48C59F: _ZSt8for_eachIN9__gnu_cxx17__normal_iteratorIPKSt4pairIN10chaiscript9Type_InfoESsESt6vectorIS5_SaIS5_EEEEZNS3_6Module5applyINS3_6detail15Dispatch_EngineESB_EEvT0_SG_RT_EUlRKSH_E_ESG_SH_SH_SG_ (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x466ABD: void chaiscript::Module::apply<chaiscript::detail::Dispatch_Engine, __gnu_cxx::__normal_iterator<std::pair<chaiscript::Type_Info, std::string> const*, std::vector<std::pair<chaiscript::Type_Info, std::string>, std::allocator<std::pair<chaiscript::Type_Info, std::string> > > > >(__gnu_cxx::__normal_iterator<std::pair<chaiscript::Type_Info, std::string> const*, std::vector<std::pair<chaiscript::Type_Info, std::string>, std::allocator<std::pair<chaiscript::Type_Info, std::string> > > >, __gnu_cxx::__normal_iterator<std::pair<chaiscript::Type_Info, std::string> const*, std::vector<std::pair<chaiscript::Type_Info, std::string>, std::allocator<std::pair<chaiscript::Type_Info, std::string> > > >, chaiscript::detail::Dispatch_Engine&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x43C098: void chaiscript::Module::apply<chaiscript::ChaiScript_Basic, chaiscript::detail::Dispatch_Engine>(chaiscript::ChaiScript_Basic&, chaiscript::detail::Dispatch_Engine&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x41E57C: chaiscript::ChaiScript_Basic::add(std::shared_ptr<chaiscript::Module> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== Possible data race during read of size 8 at 0x4CD4028 by thread #4
- ==36369== Locks held: none
- ==36369== at 0x4A4F8D: std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_S_right(std::_Rb_tree_node_base const*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4898E0: std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_lower_bound(std::_Rb_tree_node<std::string> const*, std::_Rb_tree_node<std::string> const*, std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x464056: std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::find(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x439C1A: std::set<std::string, std::less<std::string>, std::allocator<std::string> >::count(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417B08: chaiscript::Name_Validator::is_reserved_word(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417D46: chaiscript::Name_Validator::valid_object_name(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x57B330: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::validate_object_name(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56EDCD: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Id(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56193C: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Def(bool, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x54FC15: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Statements(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x53DEF0: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::parse_internal(std::string const&, std::string) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x51A1C9: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::parse(std::string const&, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== This conflicts with a previous write of size 8 by thread #3
- ==36369== Locks held: 1, at address 0x6430A38
- ==36369== at 0x5E0271: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x410DAC: std::pair<std::string, chaiscript::Boxed_Value>::pair(std::pair<std::string, chaiscript::Boxed_Value>&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4D6FD5: void std::_Construct<std::pair<std::string, chaiscript::Boxed_Value>, std::pair<std::string, chaiscript::Boxed_Value> >(std::pair<std::string, chaiscript::Boxed_Value>*, std::pair<std::string, chaiscript::Boxed_Value>&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4C9E52: std::pair<std::string, chaiscript::Boxed_Value>* std::__uninitialized_copy<false>::__uninit_copy<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*>(std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4B823F: std::pair<std::string, chaiscript::Boxed_Value>* std::uninitialized_copy<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*>(std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4A1BB2: std::pair<std::string, chaiscript::Boxed_Value>* std::__uninitialized_copy_a<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*, std::pair<std::string, chaiscript::Boxed_Value> >(std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*, std::allocator<std::pair<std::string, chaiscript::Boxed_Value> >&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4889EA: std::pair<std::string, chaiscript::Boxed_Value>* std::vector<std::pair<std::string, chaiscript::Boxed_Value>, std::allocator<std::pair<std::string, chaiscript::Boxed_Value> > >::_M_allocate_and_copy<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*> >(unsigned long, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x462C3E: std::vector<std::pair<std::string, chaiscript::Boxed_Value>, std::allocator<std::pair<std::string, chaiscript::Boxed_Value> > >::reserve(unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== Address 0x4CD4028 is 24 bytes inside a block of size 40 alloc'd
- ==36369== at 0x4A078C3: operator new(unsigned long) (in /opt/rh/devtoolset-3/root/usr/lib64/valgrind/vgpreload_helgrind-amd64-linux.so)
- ==36369== by 0x4D863F: __gnu_cxx::new_allocator<std::_Rb_tree_node<std::string> >::allocate(unsigned long, void const*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4CC36C: std::allocator_traits<std::allocator<std::_Rb_tree_node<std::string> > >::allocate(std::allocator<std::_Rb_tree_node<std::string> >&, unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4BBC4C: std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_get_node() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4A6ACE: std::_Rb_tree_node<std::string>* std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_create_node<std::string const&>(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x48C356: std::_Rb_tree_iterator<std::string> std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_insert_<std::string const&>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x48979E: std::_Rb_tree_iterator<std::string> std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_insert_unique_<std::string const&>(std::_Rb_tree_const_iterator<std::string>, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x463F45: void std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_insert_unique<std::string const*>(std::string const*, std::string const*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x439B57: std::set<std::string, std::less<std::string>, std::allocator<std::string> >::set(std::initializer_list<std::string>, std::less<std::string> const&, std::allocator<std::string> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417982: chaiscript::Name_Validator::is_reserved_word(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417D46: chaiscript::Name_Validator::valid_object_name(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x57B330: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::validate_object_name(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== ----------------------------------------------------------------
- ==36369==
- ==36369== Possible data race during read of size 8 at 0x9001F0 by thread #4
- ==36369== Locks held: none
- ==36369== at 0x408A20: std::__shared_ptr<chaiscript::Boxed_Value::Data, (__gnu_cxx::_Lock_policy)2>::__shared_ptr(std::__shared_ptr<chaiscript::Boxed_Value::Data, (__gnu_cxx::_Lock_policy)2> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x408A6A: std::shared_ptr<chaiscript::Boxed_Value::Data>::shared_ptr(std::shared_ptr<chaiscript::Boxed_Value::Data> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x408A90: chaiscript::Boxed_Value::Boxed_Value(chaiscript::Boxed_Value const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x409143: chaiscript::const_var(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56EE6C: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Id(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x582026: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Dot_Fun_Array() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x57A0EB: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Value() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56D6A3: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Operator(unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56D1D7: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Operator(unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56D1D7: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Operator(unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56D1D7: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Operator(unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56D1D7: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Operator(unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== This conflicts with a previous write of size 8 by thread #3
- ==36369== Locks held: none
- ==36369== at 0x4C5291: std::__shared_ptr<chaiscript::Boxed_Value::Data, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<chaiscript::Boxed_Value::Data>, chaiscript::Type_Info, chaiscript::detail::Any, bool, bool const*&, bool&>(std::_Sp_make_shared_tag, std::allocator<chaiscript::Boxed_Value::Data> const&, chaiscript::Type_Info&&, chaiscript::detail::Any&&, bool&&, bool const*&, bool&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4B2E9F: std::shared_ptr<chaiscript::Boxed_Value::Data>::shared_ptr<std::allocator<chaiscript::Boxed_Value::Data>, chaiscript::Type_Info, chaiscript::detail::Any, bool, bool const*&, bool&>(std::_Sp_make_shared_tag, std::allocator<chaiscript::Boxed_Value::Data> const&, chaiscript::Type_Info&&, chaiscript::detail::Any&&, bool&&, bool const*&, bool&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x49BFBE: std::shared_ptr<chaiscript::Boxed_Value::Data> std::allocate_shared<chaiscript::Boxed_Value::Data, std::allocator<chaiscript::Boxed_Value::Data>, chaiscript::Type_Info, chaiscript::detail::Any, bool, bool const*&, bool&>(std::allocator<chaiscript::Boxed_Value::Data> const&, chaiscript::Type_Info&&, chaiscript::detail::Any&&, bool&&, bool const*&, bool&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4740C3: std::shared_ptr<chaiscript::Boxed_Value::Data> std::make_shared<chaiscript::Boxed_Value::Data, chaiscript::Type_Info, chaiscript::detail::Any, bool, bool const*&, bool&>(chaiscript::Type_Info&&, chaiscript::detail::Any&&, bool&&, bool const*&, bool&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4488BA: _ZN10chaiscript11Boxed_Value11Object_Data3getIKbEEDaOSt10shared_ptrIT_Eb (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x448927: chaiscript::Boxed_Value::Boxed_Value<std::shared_ptr<bool const>, void>(std::shared_ptr<bool const>&&, bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x42FF91: chaiscript::Boxed_Value chaiscript::detail::const_var_impl<bool>(bool const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4090B3: chaiscript::const_var(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== ----------------------------------------------------------------
- ==36369==
- ==36369== Possible data race during read of size 8 at 0x9001F8 by thread #4
- ==36369== Locks held: none
- ==36369== at 0x42FC12: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x408A44: std::__shared_ptr<chaiscript::Boxed_Value::Data, (__gnu_cxx::_Lock_policy)2>::__shared_ptr(std::__shared_ptr<chaiscript::Boxed_Value::Data, (__gnu_cxx::_Lock_policy)2> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x408A6A: std::shared_ptr<chaiscript::Boxed_Value::Data>::shared_ptr(std::shared_ptr<chaiscript::Boxed_Value::Data> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x408A90: chaiscript::Boxed_Value::Boxed_Value(chaiscript::Boxed_Value const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x409143: chaiscript::const_var(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56EE6C: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Id(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x582026: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Dot_Fun_Array() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x57A0EB: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Value() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56D6A3: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Operator(unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56D1D7: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Operator(unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56D1D7: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Operator(unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56D1D7: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Operator(unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== This conflicts with a previous write of size 8 by thread #3
- ==36369== Locks held: none
- ==36369== at 0x4D2AF9: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<chaiscript::Boxed_Value::Data, std::allocator<chaiscript::Boxed_Value::Data>, chaiscript::Type_Info, chaiscript::detail::Any, bool, bool const*&, bool&>(std::_Sp_make_shared_tag, chaiscript::Boxed_Value::Data*, std::allocator<chaiscript::Boxed_Value::Data> const&, chaiscript::Type_Info&&, chaiscript::detail::Any&&, bool&&, bool const*&, bool&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4C530D: std::__shared_ptr<chaiscript::Boxed_Value::Data, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<chaiscript::Boxed_Value::Data>, chaiscript::Type_Info, chaiscript::detail::Any, bool, bool const*&, bool&>(std::_Sp_make_shared_tag, std::allocator<chaiscript::Boxed_Value::Data> const&, chaiscript::Type_Info&&, chaiscript::detail::Any&&, bool&&, bool const*&, bool&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4B2E9F: std::shared_ptr<chaiscript::Boxed_Value::Data>::shared_ptr<std::allocator<chaiscript::Boxed_Value::Data>, chaiscript::Type_Info, chaiscript::detail::Any, bool, bool const*&, bool&>(std::_Sp_make_shared_tag, std::allocator<chaiscript::Boxed_Value::Data> const&, chaiscript::Type_Info&&, chaiscript::detail::Any&&, bool&&, bool const*&, bool&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x49BFBE: std::shared_ptr<chaiscript::Boxed_Value::Data> std::allocate_shared<chaiscript::Boxed_Value::Data, std::allocator<chaiscript::Boxed_Value::Data>, chaiscript::Type_Info, chaiscript::detail::Any, bool, bool const*&, bool&>(std::allocator<chaiscript::Boxed_Value::Data> const&, chaiscript::Type_Info&&, chaiscript::detail::Any&&, bool&&, bool const*&, bool&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4740C3: std::shared_ptr<chaiscript::Boxed_Value::Data> std::make_shared<chaiscript::Boxed_Value::Data, chaiscript::Type_Info, chaiscript::detail::Any, bool, bool const*&, bool&>(chaiscript::Type_Info&&, chaiscript::detail::Any&&, bool&&, bool const*&, bool&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4488BA: _ZN10chaiscript11Boxed_Value11Object_Data3getIKbEEDaOSt10shared_ptrIT_Eb (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x448927: chaiscript::Boxed_Value::Boxed_Value<std::shared_ptr<bool const>, void>(std::shared_ptr<bool const>&&, bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x42FF91: chaiscript::Boxed_Value chaiscript::detail::const_var_impl<bool>(bool const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== ----------------------------------------------------------------
- ==36369==
- ==36369== Possible data race during read of size 4 at 0x4D2AD48 by thread #4
- ==36369== Locks held: none
- ==36369== at 0x406300: __gnu_cxx::__atomic_add(int volatile*, int) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4063BD: __gnu_cxx::__atomic_add_dispatch(int*, int) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x448522: std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_add_ref_copy() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x42FC36: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x408A44: std::__shared_ptr<chaiscript::Boxed_Value::Data, (__gnu_cxx::_Lock_policy)2>::__shared_ptr(std::__shared_ptr<chaiscript::Boxed_Value::Data, (__gnu_cxx::_Lock_policy)2> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x408A6A: std::shared_ptr<chaiscript::Boxed_Value::Data>::shared_ptr(std::shared_ptr<chaiscript::Boxed_Value::Data> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x408A90: chaiscript::Boxed_Value::Boxed_Value(chaiscript::Boxed_Value const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x409143: chaiscript::const_var(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56EE6C: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Id(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x582026: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Dot_Fun_Array() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x57A0EB: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Value() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56D6A3: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Operator(unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== Address 0x4D2AD48 is 8 bytes inside a block of size 80 alloc'd
- ==36369== at 0x4A078C3: operator new(unsigned long) (in /opt/rh/devtoolset-3/root/usr/lib64/valgrind/vgpreload_helgrind-amd64-linux.so)
- ==36369== by 0x4D2813: __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<chaiscript::Boxed_Value::Data, std::allocator<chaiscript::Boxed_Value::Data>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4C4D8D: std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<chaiscript::Boxed_Value::Data, std::allocator<chaiscript::Boxed_Value::Data>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<chaiscript::Boxed_Value::Data, std::allocator<chaiscript::Boxed_Value::Data>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4D2B23: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<chaiscript::Boxed_Value::Data, std::allocator<chaiscript::Boxed_Value::Data>, chaiscript::Type_Info, chaiscript::detail::Any, bool, bool const*&, bool&>(std::_Sp_make_shared_tag, chaiscript::Boxed_Value::Data*, std::allocator<chaiscript::Boxed_Value::Data> const&, chaiscript::Type_Info&&, chaiscript::detail::Any&&, bool&&, bool const*&, bool&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4C530D: std::__shared_ptr<chaiscript::Boxed_Value::Data, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<chaiscript::Boxed_Value::Data>, chaiscript::Type_Info, chaiscript::detail::Any, bool, bool const*&, bool&>(std::_Sp_make_shared_tag, std::allocator<chaiscript::Boxed_Value::Data> const&, chaiscript::Type_Info&&, chaiscript::detail::Any&&, bool&&, bool const*&, bool&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4B2E9F: std::shared_ptr<chaiscript::Boxed_Value::Data>::shared_ptr<std::allocator<chaiscript::Boxed_Value::Data>, chaiscript::Type_Info, chaiscript::detail::Any, bool, bool const*&, bool&>(std::_Sp_make_shared_tag, std::allocator<chaiscript::Boxed_Value::Data> const&, chaiscript::Type_Info&&, chaiscript::detail::Any&&, bool&&, bool const*&, bool&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x49BFBE: std::shared_ptr<chaiscript::Boxed_Value::Data> std::allocate_shared<chaiscript::Boxed_Value::Data, std::allocator<chaiscript::Boxed_Value::Data>, chaiscript::Type_Info, chaiscript::detail::Any, bool, bool const*&, bool&>(std::allocator<chaiscript::Boxed_Value::Data> const&, chaiscript::Type_Info&&, chaiscript::detail::Any&&, bool&&, bool const*&, bool&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4740C3: std::shared_ptr<chaiscript::Boxed_Value::Data> std::make_shared<chaiscript::Boxed_Value::Data, chaiscript::Type_Info, chaiscript::detail::Any, bool, bool const*&, bool&>(chaiscript::Type_Info&&, chaiscript::detail::Any&&, bool&&, bool const*&, bool&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4488BA: _ZN10chaiscript11Boxed_Value11Object_Data3getIKbEEDaOSt10shared_ptrIT_Eb (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x448927: chaiscript::Boxed_Value::Boxed_Value<std::shared_ptr<bool const>, void>(std::shared_ptr<bool const>&&, bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x42FF91: chaiscript::Boxed_Value chaiscript::detail::const_var_impl<bool>(bool const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4090B3: chaiscript::const_var(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== ----------------------------------------------------------------
- ==36369==
- ==36369== Lock at 0x6430A38 was first observed
- ==36369== at 0x4A0B903: pthread_mutex_lock (in /opt/rh/devtoolset-3/root/usr/lib64/valgrind/vgpreload_helgrind-amd64-linux.so)
- ==36369== by 0x406267: __gthread_mutex_lock(pthread_mutex_t*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x407C09: std::mutex::lock() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x43BEDE: std::unique_lock<std::mutex>::lock() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x430242: std::unique_lock<std::mutex>::unique_lock(std::mutex&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x410EED: chaiscript::detail::Dispatch_Engine::add_global_const(chaiscript::Boxed_Value const&, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x411A3C: chaiscript::detail::Dispatch_Engine::add(chaiscript::Type_Info const&, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x48C539: _ZZN10chaiscript6Module5applyINS_6detail15Dispatch_EngineEN9__gnu_cxx17__normal_iteratorIPKSt4pairINS_9Type_InfoESsESt6vectorIS8_SaIS8_EEEEEEvT0_SF_RT_ENKUlRKSG_E_clIS8_EEDaRKT_ (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x48C59F: _ZSt8for_eachIN9__gnu_cxx17__normal_iteratorIPKSt4pairIN10chaiscript9Type_InfoESsESt6vectorIS5_SaIS5_EEEEZNS3_6Module5applyINS3_6detail15Dispatch_EngineESB_EEvT0_SG_RT_EUlRKSH_E_ESG_SH_SH_SG_ (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x466ABD: void chaiscript::Module::apply<chaiscript::detail::Dispatch_Engine, __gnu_cxx::__normal_iterator<std::pair<chaiscript::Type_Info, std::string> const*, std::vector<std::pair<chaiscript::Type_Info, std::string>, std::allocator<std::pair<chaiscript::Type_Info, std::string> > > > >(__gnu_cxx::__normal_iterator<std::pair<chaiscript::Type_Info, std::string> const*, std::vector<std::pair<chaiscript::Type_Info, std::string>, std::allocator<std::pair<chaiscript::Type_Info, std::string> > > >, __gnu_cxx::__normal_iterator<std::pair<chaiscript::Type_Info, std::string> const*, std::vector<std::pair<chaiscript::Type_Info, std::string>, std::allocator<std::pair<chaiscript::Type_Info, std::string> > > >, chaiscript::detail::Dispatch_Engine&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x43C098: void chaiscript::Module::apply<chaiscript::ChaiScript_Basic, chaiscript::detail::Dispatch_Engine>(chaiscript::ChaiScript_Basic&, chaiscript::detail::Dispatch_Engine&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x41E57C: chaiscript::ChaiScript_Basic::add(std::shared_ptr<chaiscript::Module> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== Possible data race during read of size 8 at 0x4CD3470 by thread #4
- ==36369== Locks held: none
- ==36369== at 0x37E389C47D: std::string::compare(std::string const&) const (in /usr/lib64/libstdc++.so.6.0.13)
- ==36369== by 0x473748: bool std::operator< <char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4485CC: std::less<std::string>::operator()(std::string const&, std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4640A8: std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::find(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x439C1A: std::set<std::string, std::less<std::string>, std::allocator<std::string> >::count(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417B08: chaiscript::Name_Validator::is_reserved_word(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417D46: chaiscript::Name_Validator::valid_object_name(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x57B330: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::validate_object_name(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56EDCD: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Id(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x5829B5: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Dot_Fun_Array() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x57A0EB: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Value() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56D6A3: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Operator(unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== This conflicts with a previous write of size 8 by thread #3
- ==36369== Locks held: 1, at address 0x6430A38
- ==36369== at 0x5E0271: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x410DAC: std::pair<std::string, chaiscript::Boxed_Value>::pair(std::pair<std::string, chaiscript::Boxed_Value>&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4D6FD5: void std::_Construct<std::pair<std::string, chaiscript::Boxed_Value>, std::pair<std::string, chaiscript::Boxed_Value> >(std::pair<std::string, chaiscript::Boxed_Value>*, std::pair<std::string, chaiscript::Boxed_Value>&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4C9E52: std::pair<std::string, chaiscript::Boxed_Value>* std::__uninitialized_copy<false>::__uninit_copy<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*>(std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4B823F: std::pair<std::string, chaiscript::Boxed_Value>* std::uninitialized_copy<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*>(std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4A1BB2: std::pair<std::string, chaiscript::Boxed_Value>* std::__uninitialized_copy_a<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*, std::pair<std::string, chaiscript::Boxed_Value> >(std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*, std::allocator<std::pair<std::string, chaiscript::Boxed_Value> >&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4889EA: std::pair<std::string, chaiscript::Boxed_Value>* std::vector<std::pair<std::string, chaiscript::Boxed_Value>, std::allocator<std::pair<std::string, chaiscript::Boxed_Value> > >::_M_allocate_and_copy<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*> >(unsigned long, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x462C3E: std::vector<std::pair<std::string, chaiscript::Boxed_Value>, std::allocator<std::pair<std::string, chaiscript::Boxed_Value> > >::reserve(unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== Address 0x4CD3470 is 0 bytes inside a block of size 28 alloc'd
- ==36369== at 0x4A078C3: operator new(unsigned long) (in /opt/rh/devtoolset-3/root/usr/lib64/valgrind/vgpreload_helgrind-amd64-linux.so)
- ==36369== by 0x37E389C3C8: std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) (in /usr/lib64/libstdc++.so.6.0.13)
- ==36369== by 0x37E389CDE4: ??? (in /usr/lib64/libstdc++.so.6.0.13)
- ==36369== by 0x37E389CF32: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (in /usr/lib64/libstdc++.so.6.0.13)
- ==36369== by 0x4175CE: chaiscript::Name_Validator::is_reserved_word(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417D46: chaiscript::Name_Validator::valid_object_name(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x57B330: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::validate_object_name(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56EDCD: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Id(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56193C: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Def(bool, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x54FC15: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Statements(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x53DEF0: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::parse_internal(std::string const&, std::string) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x51A1C9: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::parse(std::string const&, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== ----------------------------------------------------------------
- ==36369==
- ==36369== Lock at 0x6430A38 was first observed
- ==36369== at 0x4A0B903: pthread_mutex_lock (in /opt/rh/devtoolset-3/root/usr/lib64/valgrind/vgpreload_helgrind-amd64-linux.so)
- ==36369== by 0x406267: __gthread_mutex_lock(pthread_mutex_t*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x407C09: std::mutex::lock() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x43BEDE: std::unique_lock<std::mutex>::lock() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x430242: std::unique_lock<std::mutex>::unique_lock(std::mutex&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x410EED: chaiscript::detail::Dispatch_Engine::add_global_const(chaiscript::Boxed_Value const&, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x411A3C: chaiscript::detail::Dispatch_Engine::add(chaiscript::Type_Info const&, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x48C539: _ZZN10chaiscript6Module5applyINS_6detail15Dispatch_EngineEN9__gnu_cxx17__normal_iteratorIPKSt4pairINS_9Type_InfoESsESt6vectorIS8_SaIS8_EEEEEEvT0_SF_RT_ENKUlRKSG_E_clIS8_EEDaRKT_ (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x48C59F: _ZSt8for_eachIN9__gnu_cxx17__normal_iteratorIPKSt4pairIN10chaiscript9Type_InfoESsESt6vectorIS5_SaIS5_EEEEZNS3_6Module5applyINS3_6detail15Dispatch_EngineESB_EEvT0_SG_RT_EUlRKSH_E_ESG_SH_SH_SG_ (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x466ABD: void chaiscript::Module::apply<chaiscript::detail::Dispatch_Engine, __gnu_cxx::__normal_iterator<std::pair<chaiscript::Type_Info, std::string> const*, std::vector<std::pair<chaiscript::Type_Info, std::string>, std::allocator<std::pair<chaiscript::Type_Info, std::string> > > > >(__gnu_cxx::__normal_iterator<std::pair<chaiscript::Type_Info, std::string> const*, std::vector<std::pair<chaiscript::Type_Info, std::string>, std::allocator<std::pair<chaiscript::Type_Info, std::string> > > >, __gnu_cxx::__normal_iterator<std::pair<chaiscript::Type_Info, std::string> const*, std::vector<std::pair<chaiscript::Type_Info, std::string>, std::allocator<std::pair<chaiscript::Type_Info, std::string> > > >, chaiscript::detail::Dispatch_Engine&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x43C098: void chaiscript::Module::apply<chaiscript::ChaiScript_Basic, chaiscript::detail::Dispatch_Engine>(chaiscript::ChaiScript_Basic&, chaiscript::detail::Dispatch_Engine&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x41E57C: chaiscript::ChaiScript_Basic::add(std::shared_ptr<chaiscript::Module> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== Possible data race during read of size 1 at 0x4CD3488 by thread #4
- ==36369== Locks held: none
- ==36369== at 0x37E389C48E: std::string::compare(std::string const&) const (in /usr/lib64/libstdc++.so.6.0.13)
- ==36369== by 0x473748: bool std::operator< <char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4485CC: std::less<std::string>::operator()(std::string const&, std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4640A8: std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::find(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x439C1A: std::set<std::string, std::less<std::string>, std::allocator<std::string> >::count(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417B08: chaiscript::Name_Validator::is_reserved_word(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417D46: chaiscript::Name_Validator::valid_object_name(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x57B330: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::validate_object_name(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56EDCD: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Id(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x5829B5: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Dot_Fun_Array() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x57A0EB: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Value() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56D6A3: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Operator(unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== This conflicts with a previous write of size 8 by thread #3
- ==36369== Locks held: 1, at address 0x6430A38
- ==36369== at 0x5E0271: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x410DAC: std::pair<std::string, chaiscript::Boxed_Value>::pair(std::pair<std::string, chaiscript::Boxed_Value>&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4D6FD5: void std::_Construct<std::pair<std::string, chaiscript::Boxed_Value>, std::pair<std::string, chaiscript::Boxed_Value> >(std::pair<std::string, chaiscript::Boxed_Value>*, std::pair<std::string, chaiscript::Boxed_Value>&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4C9E52: std::pair<std::string, chaiscript::Boxed_Value>* std::__uninitialized_copy<false>::__uninit_copy<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*>(std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4B823F: std::pair<std::string, chaiscript::Boxed_Value>* std::uninitialized_copy<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*>(std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4A1BB2: std::pair<std::string, chaiscript::Boxed_Value>* std::__uninitialized_copy_a<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*, std::pair<std::string, chaiscript::Boxed_Value> >(std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*, std::allocator<std::pair<std::string, chaiscript::Boxed_Value> >&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4889EA: std::pair<std::string, chaiscript::Boxed_Value>* std::vector<std::pair<std::string, chaiscript::Boxed_Value>, std::allocator<std::pair<std::string, chaiscript::Boxed_Value> > >::_M_allocate_and_copy<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*> >(unsigned long, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x462C3E: std::vector<std::pair<std::string, chaiscript::Boxed_Value>, std::allocator<std::pair<std::string, chaiscript::Boxed_Value> > >::reserve(unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== Address 0x4CD3488 is 24 bytes inside a block of size 28 alloc'd
- ==36369== at 0x4A078C3: operator new(unsigned long) (in /opt/rh/devtoolset-3/root/usr/lib64/valgrind/vgpreload_helgrind-amd64-linux.so)
- ==36369== by 0x37E389C3C8: std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) (in /usr/lib64/libstdc++.so.6.0.13)
- ==36369== by 0x37E389CDE4: ??? (in /usr/lib64/libstdc++.so.6.0.13)
- ==36369== by 0x37E389CF32: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (in /usr/lib64/libstdc++.so.6.0.13)
- ==36369== by 0x4175CE: chaiscript::Name_Validator::is_reserved_word(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417D46: chaiscript::Name_Validator::valid_object_name(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x57B330: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::validate_object_name(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56EDCD: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Id(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56193C: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Def(bool, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x54FC15: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Statements(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x53DEF0: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::parse_internal(std::string const&, std::string) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x51A1C9: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::parse(std::string const&, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== ----------------------------------------------------------------
- ==36369==
- ==36369== Possible data race during read of size 8 at 0x900200 by thread #4
- ==36369== Locks held: none
- ==36369== at 0x408A20: std::__shared_ptr<chaiscript::Boxed_Value::Data, (__gnu_cxx::_Lock_policy)2>::__shared_ptr(std::__shared_ptr<chaiscript::Boxed_Value::Data, (__gnu_cxx::_Lock_policy)2> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x408A6A: std::shared_ptr<chaiscript::Boxed_Value::Data>::shared_ptr(std::shared_ptr<chaiscript::Boxed_Value::Data> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x408A90: chaiscript::Boxed_Value::Boxed_Value(chaiscript::Boxed_Value const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x409156: chaiscript::const_var(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56EF2C: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Id(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x582026: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Dot_Fun_Array() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x57A0EB: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Value() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56D6A3: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Operator(unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56D1D7: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Operator(unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56D1D7: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Operator(unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56D1D7: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Operator(unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56D1D7: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Operator(unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== This conflicts with a previous write of size 8 by thread #3
- ==36369== Locks held: none
- ==36369== at 0x4C5291: std::__shared_ptr<chaiscript::Boxed_Value::Data, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<chaiscript::Boxed_Value::Data>, chaiscript::Type_Info, chaiscript::detail::Any, bool, bool const*&, bool&>(std::_Sp_make_shared_tag, std::allocator<chaiscript::Boxed_Value::Data> const&, chaiscript::Type_Info&&, chaiscript::detail::Any&&, bool&&, bool const*&, bool&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4B2E9F: std::shared_ptr<chaiscript::Boxed_Value::Data>::shared_ptr<std::allocator<chaiscript::Boxed_Value::Data>, chaiscript::Type_Info, chaiscript::detail::Any, bool, bool const*&, bool&>(std::_Sp_make_shared_tag, std::allocator<chaiscript::Boxed_Value::Data> const&, chaiscript::Type_Info&&, chaiscript::detail::Any&&, bool&&, bool const*&, bool&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x49BFBE: std::shared_ptr<chaiscript::Boxed_Value::Data> std::allocate_shared<chaiscript::Boxed_Value::Data, std::allocator<chaiscript::Boxed_Value::Data>, chaiscript::Type_Info, chaiscript::detail::Any, bool, bool const*&, bool&>(std::allocator<chaiscript::Boxed_Value::Data> const&, chaiscript::Type_Info&&, chaiscript::detail::Any&&, bool&&, bool const*&, bool&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4740C3: std::shared_ptr<chaiscript::Boxed_Value::Data> std::make_shared<chaiscript::Boxed_Value::Data, chaiscript::Type_Info, chaiscript::detail::Any, bool, bool const*&, bool&>(chaiscript::Type_Info&&, chaiscript::detail::Any&&, bool&&, bool const*&, bool&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4488BA: _ZN10chaiscript11Boxed_Value11Object_Data3getIKbEEDaOSt10shared_ptrIT_Eb (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x448927: chaiscript::Boxed_Value::Boxed_Value<std::shared_ptr<bool const>, void>(std::shared_ptr<bool const>&&, bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x42FF91: chaiscript::Boxed_Value chaiscript::detail::const_var_impl<bool>(bool const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x40910E: chaiscript::const_var(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== ----------------------------------------------------------------
- ==36369==
- ==36369== Possible data race during read of size 4 at 0x900238 by thread #4
- ==36369== Locks held: none
- ==36369== at 0x5DFD37: __cxa_thread_atexit (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x45FC9A: chaiscript::detail::threading::Thread_Storage<chaiscript::detail::Stack_Holder>::t() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4369BA: chaiscript::detail::threading::Thread_Storage<chaiscript::detail::Stack_Holder>::operator*() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4155E3: chaiscript::detail::Dispatch_Engine::get_stack_holder() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x416219: chaiscript::detail::Dispatch_State::Dispatch_State(chaiscript::detail::Dispatch_Engine&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x41ADDD: chaiscript::ChaiScript_Basic::do_eval(std::string const&, std::string const&, bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x41F082: chaiscript::ChaiScript_Basic::eval(std::string const&, std::shared_ptr<chaiscript::detail::Exception_Handler_Base> const&, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x466BC4: void chaiscript::Module::apply_eval<chaiscript::ChaiScript_Basic, __gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > > >(__gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > >, __gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > >, chaiscript::ChaiScript_Basic&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x43C108: void chaiscript::Module::apply<chaiscript::ChaiScript_Basic, chaiscript::detail::Dispatch_Engine>(chaiscript::ChaiScript_Basic&, chaiscript::detail::Dispatch_Engine&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x41E57C: chaiscript::ChaiScript_Basic::add(std::shared_ptr<chaiscript::Module> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x41B842: chaiscript::ChaiScript_Basic::build_eval_system(std::shared_ptr<chaiscript::Module> const&, std::vector<chaiscript::Options, std::allocator<chaiscript::Options> > const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x41DD03: chaiscript::ChaiScript_Basic::ChaiScript_Basic(std::shared_ptr<chaiscript::Module> const&, std::unique_ptr<chaiscript::parser::ChaiScript_Parser_Base, std::default_delete<chaiscript::parser::ChaiScript_Parser_Base> >&&, std::vector<std::string, std::allocator<std::string> >, std::vector<std::string, std::allocator<std::string> >, std::vector<chaiscript::Options, std::allocator<chaiscript::Options> > const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== This conflicts with a previous write of size 4 by thread #3
- ==36369== Locks held: none
- ==36369== at 0x37D800C63B: pthread_key_create (in /lib64/libpthread-2.12.so)
- ==36369== by 0x5DFCCE: (anonymous namespace)::key_init() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x37D800CD32: pthread_once (in /lib64/libpthread-2.12.so)
- ==36369== by 0x5DFD36: __cxa_thread_atexit (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x45FC9A: chaiscript::detail::threading::Thread_Storage<chaiscript::detail::Stack_Holder>::t() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4369BA: chaiscript::detail::threading::Thread_Storage<chaiscript::detail::Stack_Holder>::operator*() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4155E3: chaiscript::detail::Dispatch_Engine::get_stack_holder() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x416219: chaiscript::detail::Dispatch_State::Dispatch_State(chaiscript::detail::Dispatch_Engine&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== ----------------------------------------------------------------
- ==36369==
- ==36369== Possible data race during read of size 8 at 0x900210 by thread #4
- ==36369== Locks held: none
- ==36369== at 0x408A20: std::__shared_ptr<chaiscript::Boxed_Value::Data, (__gnu_cxx::_Lock_policy)2>::__shared_ptr(std::__shared_ptr<chaiscript::Boxed_Value::Data, (__gnu_cxx::_Lock_policy)2> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x408A6A: std::shared_ptr<chaiscript::Boxed_Value::Data>::shared_ptr(std::shared_ptr<chaiscript::Boxed_Value::Data> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x408A90: chaiscript::Boxed_Value::Boxed_Value(chaiscript::Boxed_Value const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x409036: chaiscript::void_var() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x5CDF24: chaiscript::eval::Method_AST_Node<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail> >::eval_internal(chaiscript::detail::Dispatch_State const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x50C0A6: chaiscript::eval::AST_Node_Impl<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail> >::eval(chaiscript::detail::Dispatch_State const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x5D158E: chaiscript::eval::File_AST_Node<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail> >::eval_internal(chaiscript::detail::Dispatch_State const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x50C0A6: chaiscript::eval::AST_Node_Impl<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail> >::eval(chaiscript::detail::Dispatch_State const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x41ADEE: chaiscript::ChaiScript_Basic::do_eval(std::string const&, std::string const&, bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x41F082: chaiscript::ChaiScript_Basic::eval(std::string const&, std::shared_ptr<chaiscript::detail::Exception_Handler_Base> const&, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x466BC4: void chaiscript::Module::apply_eval<chaiscript::ChaiScript_Basic, __gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > > >(__gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > >, __gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > >, chaiscript::ChaiScript_Basic&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x43C108: void chaiscript::Module::apply<chaiscript::ChaiScript_Basic, chaiscript::detail::Dispatch_Engine>(chaiscript::ChaiScript_Basic&, chaiscript::detail::Dispatch_Engine&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== This conflicts with a previous write of size 8 by thread #3
- ==36369== Locks held: none
- ==36369== at 0x49B78B: std::__shared_ptr<chaiscript::Boxed_Value::Data, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<chaiscript::Boxed_Value::Data>, chaiscript::Type_Info, chaiscript::detail::Any, bool, decltype(nullptr), bool&>(std::_Sp_make_shared_tag, std::allocator<chaiscript::Boxed_Value::Data> const&, chaiscript::Type_Info&&, chaiscript::detail::Any&&, bool&&, decltype(nullptr)&&, bool&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x473581: std::shared_ptr<chaiscript::Boxed_Value::Data>::shared_ptr<std::allocator<chaiscript::Boxed_Value::Data>, chaiscript::Type_Info, chaiscript::detail::Any, bool, decltype(nullptr), bool&>(std::_Sp_make_shared_tag, std::allocator<chaiscript::Boxed_Value::Data> const&, chaiscript::Type_Info&&, chaiscript::detail::Any&&, bool&&, decltype(nullptr)&&, bool&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x448406: std::shared_ptr<chaiscript::Boxed_Value::Data> std::allocate_shared<chaiscript::Boxed_Value::Data, std::allocator<chaiscript::Boxed_Value::Data>, chaiscript::Type_Info, chaiscript::detail::Any, bool, decltype(nullptr), bool&>(std::allocator<chaiscript::Boxed_Value::Data> const&, chaiscript::Type_Info&&, chaiscript::detail::Any&&, bool&&, decltype(nullptr)&&, bool&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x42FACC: std::shared_ptr<chaiscript::Boxed_Value::Data> std::make_shared<chaiscript::Boxed_Value::Data, chaiscript::Type_Info, chaiscript::detail::Any, bool, decltype(nullptr), bool&>(chaiscript::Type_Info&&, chaiscript::detail::Any&&, bool&&, decltype(nullptr)&&, bool&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x40892A: chaiscript::Boxed_Value::Object_Data::get(chaiscript::Boxed_Value::Void_Type, bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x42FF0F: chaiscript::Boxed_Value::Boxed_Value<chaiscript::Boxed_Value::Void_Type, void>(chaiscript::Boxed_Value::Void_Type&&, bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x409007: chaiscript::void_var() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x5CDF24: chaiscript::eval::Method_AST_Node<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail> >::eval_internal(chaiscript::detail::Dispatch_State const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== ----------------------------------------------------------------
- ==36369==
- ==36369== Lock at 0x6430A38 was first observed
- ==36369== at 0x4A0B903: pthread_mutex_lock (in /opt/rh/devtoolset-3/root/usr/lib64/valgrind/vgpreload_helgrind-amd64-linux.so)
- ==36369== by 0x406267: __gthread_mutex_lock(pthread_mutex_t*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x407C09: std::mutex::lock() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x43BEDE: std::unique_lock<std::mutex>::lock() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x430242: std::unique_lock<std::mutex>::unique_lock(std::mutex&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x410EED: chaiscript::detail::Dispatch_Engine::add_global_const(chaiscript::Boxed_Value const&, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x411A3C: chaiscript::detail::Dispatch_Engine::add(chaiscript::Type_Info const&, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x48C539: _ZZN10chaiscript6Module5applyINS_6detail15Dispatch_EngineEN9__gnu_cxx17__normal_iteratorIPKSt4pairINS_9Type_InfoESsESt6vectorIS8_SaIS8_EEEEEEvT0_SF_RT_ENKUlRKSG_E_clIS8_EEDaRKT_ (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x48C59F: _ZSt8for_eachIN9__gnu_cxx17__normal_iteratorIPKSt4pairIN10chaiscript9Type_InfoESsESt6vectorIS5_SaIS5_EEEEZNS3_6Module5applyINS3_6detail15Dispatch_EngineESB_EEvT0_SG_RT_EUlRKSH_E_ESG_SH_SH_SG_ (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x466ABD: void chaiscript::Module::apply<chaiscript::detail::Dispatch_Engine, __gnu_cxx::__normal_iterator<std::pair<chaiscript::Type_Info, std::string> const*, std::vector<std::pair<chaiscript::Type_Info, std::string>, std::allocator<std::pair<chaiscript::Type_Info, std::string> > > > >(__gnu_cxx::__normal_iterator<std::pair<chaiscript::Type_Info, std::string> const*, std::vector<std::pair<chaiscript::Type_Info, std::string>, std::allocator<std::pair<chaiscript::Type_Info, std::string> > > >, __gnu_cxx::__normal_iterator<std::pair<chaiscript::Type_Info, std::string> const*, std::vector<std::pair<chaiscript::Type_Info, std::string>, std::allocator<std::pair<chaiscript::Type_Info, std::string> > > >, chaiscript::detail::Dispatch_Engine&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x43C098: void chaiscript::Module::apply<chaiscript::ChaiScript_Basic, chaiscript::detail::Dispatch_Engine>(chaiscript::ChaiScript_Basic&, chaiscript::detail::Dispatch_Engine&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x41E57C: chaiscript::ChaiScript_Basic::add(std::shared_ptr<chaiscript::Module> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== Possible data race during read of size 4 at 0x4CB8F28 by thread #4
- ==36369== Locks held: none
- ==36369== at 0x4062E6: __gnu_cxx::__exchange_and_add(int volatile*, int) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x40637A: __gnu_cxx::__exchange_and_add_dispatch(int*, int) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x447D02: std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x42F40E: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4085C1: std::__shared_ptr<chaiscript::Boxed_Value::Data, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4085DB: std::shared_ptr<chaiscript::Boxed_Value::Data>::~shared_ptr() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x408AAB: chaiscript::Boxed_Value::~Boxed_Value() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x466BD0: void chaiscript::Module::apply_eval<chaiscript::ChaiScript_Basic, __gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > > >(__gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > >, __gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > >, chaiscript::ChaiScript_Basic&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x43C108: void chaiscript::Module::apply<chaiscript::ChaiScript_Basic, chaiscript::detail::Dispatch_Engine>(chaiscript::ChaiScript_Basic&, chaiscript::detail::Dispatch_Engine&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x41E57C: chaiscript::ChaiScript_Basic::add(std::shared_ptr<chaiscript::Module> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x41B842: chaiscript::ChaiScript_Basic::build_eval_system(std::shared_ptr<chaiscript::Module> const&, std::vector<chaiscript::Options, std::allocator<chaiscript::Options> > const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x41DD03: chaiscript::ChaiScript_Basic::ChaiScript_Basic(std::shared_ptr<chaiscript::Module> const&, std::unique_ptr<chaiscript::parser::ChaiScript_Parser_Base, std::default_delete<chaiscript::parser::ChaiScript_Parser_Base> >&&, std::vector<std::string, std::allocator<std::string> >, std::vector<std::string, std::allocator<std::string> >, std::vector<chaiscript::Options, std::allocator<chaiscript::Options> > const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== This conflicts with a previous write of size 8 by thread #3
- ==36369== Locks held: 1, at address 0x6430A38
- ==36369== at 0x46F908: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::_M_swap(std::__shared_count<(__gnu_cxx::_Lock_policy)2>&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x447FEE: std::__shared_ptr<chaiscript::Boxed_Value::Data, (__gnu_cxx::_Lock_policy)2>::__shared_ptr(std::__shared_ptr<chaiscript::Boxed_Value::Data, (__gnu_cxx::_Lock_policy)2>&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x42F6BB: std::shared_ptr<chaiscript::Boxed_Value::Data>::shared_ptr(std::shared_ptr<chaiscript::Boxed_Value::Data>&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x408CCE: chaiscript::Boxed_Value::Boxed_Value(chaiscript::Boxed_Value&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x410DC7: std::pair<std::string, chaiscript::Boxed_Value>::pair(std::pair<std::string, chaiscript::Boxed_Value>&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4D6FD5: void std::_Construct<std::pair<std::string, chaiscript::Boxed_Value>, std::pair<std::string, chaiscript::Boxed_Value> >(std::pair<std::string, chaiscript::Boxed_Value>*, std::pair<std::string, chaiscript::Boxed_Value>&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4C9E52: std::pair<std::string, chaiscript::Boxed_Value>* std::__uninitialized_copy<false>::__uninit_copy<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*>(std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4B823F: std::pair<std::string, chaiscript::Boxed_Value>* std::uninitialized_copy<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*>(std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== Address 0x4CB8F28 is 8 bytes inside a block of size 80 alloc'd
- ==36369== at 0x4A078C3: operator new(unsigned long) (in /opt/rh/devtoolset-3/root/usr/lib64/valgrind/vgpreload_helgrind-amd64-linux.so)
- ==36369== by 0x4D2813: __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<chaiscript::Boxed_Value::Data, std::allocator<chaiscript::Boxed_Value::Data>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4C4D8D: std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<chaiscript::Boxed_Value::Data, std::allocator<chaiscript::Boxed_Value::Data>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<chaiscript::Boxed_Value::Data, std::allocator<chaiscript::Boxed_Value::Data>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4B2977: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<chaiscript::Boxed_Value::Data, std::allocator<chaiscript::Boxed_Value::Data>, chaiscript::Type_Info, chaiscript::detail::Any, bool, decltype(nullptr), bool&>(std::_Sp_make_shared_tag, chaiscript::Boxed_Value::Data*, std::allocator<chaiscript::Boxed_Value::Data> const&, chaiscript::Type_Info&&, chaiscript::detail::Any&&, bool&&, decltype(nullptr)&&, bool&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x49B807: std::__shared_ptr<chaiscript::Boxed_Value::Data, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<chaiscript::Boxed_Value::Data>, chaiscript::Type_Info, chaiscript::detail::Any, bool, decltype(nullptr), bool&>(std::_Sp_make_shared_tag, std::allocator<chaiscript::Boxed_Value::Data> const&, chaiscript::Type_Info&&, chaiscript::detail::Any&&, bool&&, decltype(nullptr)&&, bool&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x473581: std::shared_ptr<chaiscript::Boxed_Value::Data>::shared_ptr<std::allocator<chaiscript::Boxed_Value::Data>, chaiscript::Type_Info, chaiscript::detail::Any, bool, decltype(nullptr), bool&>(std::_Sp_make_shared_tag, std::allocator<chaiscript::Boxed_Value::Data> const&, chaiscript::Type_Info&&, chaiscript::detail::Any&&, bool&&, decltype(nullptr)&&, bool&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x448406: std::shared_ptr<chaiscript::Boxed_Value::Data> std::allocate_shared<chaiscript::Boxed_Value::Data, std::allocator<chaiscript::Boxed_Value::Data>, chaiscript::Type_Info, chaiscript::detail::Any, bool, decltype(nullptr), bool&>(std::allocator<chaiscript::Boxed_Value::Data> const&, chaiscript::Type_Info&&, chaiscript::detail::Any&&, bool&&, decltype(nullptr)&&, bool&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x42FACC: std::shared_ptr<chaiscript::Boxed_Value::Data> std::make_shared<chaiscript::Boxed_Value::Data, chaiscript::Type_Info, chaiscript::detail::Any, bool, decltype(nullptr), bool&>(chaiscript::Type_Info&&, chaiscript::detail::Any&&, bool&&, decltype(nullptr)&&, bool&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x40892A: chaiscript::Boxed_Value::Object_Data::get(chaiscript::Boxed_Value::Void_Type, bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x42FF0F: chaiscript::Boxed_Value::Boxed_Value<chaiscript::Boxed_Value::Void_Type, void>(chaiscript::Boxed_Value::Void_Type&&, bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x409007: chaiscript::void_var() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x5CDF24: chaiscript::eval::Method_AST_Node<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail> >::eval_internal(chaiscript::detail::Dispatch_State const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== ---Thread-Announcement------------------------------------------
- ==36369==
- ==36369== Thread #2 was created
- ==36369== at 0x37D78E899E: clone (in /lib64/libc-2.12.so)
- ==36369== by 0x37D80068BF: do_clone.clone.0 (in /lib64/libpthread-2.12.so)
- ==36369== by 0x37D8006DA1: pthread_create@@GLIBC_2.2.5 (in /lib64/libpthread-2.12.so)
- ==36369== by 0x4A0C7F8: ??? (in /opt/rh/devtoolset-3/root/usr/lib64/valgrind/vgpreload_helgrind-amd64-linux.so)
- ==36369== by 0x4A0C907: pthread_create@* (in /opt/rh/devtoolset-3/root/usr/lib64/valgrind/vgpreload_helgrind-amd64-linux.so)
- ==36369== by 0x37E38B65A6: std::thread::_M_start_thread(std::shared_ptr<std::thread::_Impl_base>) (in /usr/lib64/libstdc++.so.6.0.13)
- ==36369== by 0x447A6B: std::thread::thread<void (&)()>(void (&)()) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x40680F: main (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== ----------------------------------------------------------------
- ==36369==
- ==36369== Lock at 0x6430A38 was first observed
- ==36369== at 0x4A0B903: pthread_mutex_lock (in /opt/rh/devtoolset-3/root/usr/lib64/valgrind/vgpreload_helgrind-amd64-linux.so)
- ==36369== by 0x406267: __gthread_mutex_lock(pthread_mutex_t*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x407C09: std::mutex::lock() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x43BEDE: std::unique_lock<std::mutex>::lock() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x430242: std::unique_lock<std::mutex>::unique_lock(std::mutex&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x410EED: chaiscript::detail::Dispatch_Engine::add_global_const(chaiscript::Boxed_Value const&, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x411A3C: chaiscript::detail::Dispatch_Engine::add(chaiscript::Type_Info const&, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x48C539: _ZZN10chaiscript6Module5applyINS_6detail15Dispatch_EngineEN9__gnu_cxx17__normal_iteratorIPKSt4pairINS_9Type_InfoESsESt6vectorIS8_SaIS8_EEEEEEvT0_SF_RT_ENKUlRKSG_E_clIS8_EEDaRKT_ (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x48C59F: _ZSt8for_eachIN9__gnu_cxx17__normal_iteratorIPKSt4pairIN10chaiscript9Type_InfoESsESt6vectorIS5_SaIS5_EEEEZNS3_6Module5applyINS3_6detail15Dispatch_EngineESB_EEvT0_SG_RT_EUlRKSH_E_ESG_SH_SH_SG_ (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x466ABD: void chaiscript::Module::apply<chaiscript::detail::Dispatch_Engine, __gnu_cxx::__normal_iterator<std::pair<chaiscript::Type_Info, std::string> const*, std::vector<std::pair<chaiscript::Type_Info, std::string>, std::allocator<std::pair<chaiscript::Type_Info, std::string> > > > >(__gnu_cxx::__normal_iterator<std::pair<chaiscript::Type_Info, std::string> const*, std::vector<std::pair<chaiscript::Type_Info, std::string>, std::allocator<std::pair<chaiscript::Type_Info, std::string> > > >, __gnu_cxx::__normal_iterator<std::pair<chaiscript::Type_Info, std::string> const*, std::vector<std::pair<chaiscript::Type_Info, std::string>, std::allocator<std::pair<chaiscript::Type_Info, std::string> > > >, chaiscript::detail::Dispatch_Engine&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x43C098: void chaiscript::Module::apply<chaiscript::ChaiScript_Basic, chaiscript::detail::Dispatch_Engine>(chaiscript::ChaiScript_Basic&, chaiscript::detail::Dispatch_Engine&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x41E57C: chaiscript::ChaiScript_Basic::add(std::shared_ptr<chaiscript::Module> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== Possible data race during read of size 8 at 0x4CD4110 by thread #2
- ==36369== Locks held: none
- ==36369== at 0x37E389C476: std::string::compare(std::string const&) const (in /usr/lib64/libstdc++.so.6.0.13)
- ==36369== by 0x473748: bool std::operator< <char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4485CC: std::less<std::string>::operator()(std::string const&, std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4640A8: std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::find(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x439C1A: std::set<std::string, std::less<std::string>, std::allocator<std::string> >::count(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417B08: chaiscript::Name_Validator::is_reserved_word(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417D46: chaiscript::Name_Validator::valid_object_name(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x57B330: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::validate_object_name(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56EDCD: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Id(bool) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x5829B5: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Dot_Fun_Array() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x57A0EB: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Value() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x56D6A3: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::Operator(unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== This conflicts with a previous write of size 8 by thread #3
- ==36369== Locks held: 1, at address 0x6430A38
- ==36369== at 0x46F908: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::_M_swap(std::__shared_count<(__gnu_cxx::_Lock_policy)2>&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x447FEE: std::__shared_ptr<chaiscript::Boxed_Value::Data, (__gnu_cxx::_Lock_policy)2>::__shared_ptr(std::__shared_ptr<chaiscript::Boxed_Value::Data, (__gnu_cxx::_Lock_policy)2>&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x42F6BB: std::shared_ptr<chaiscript::Boxed_Value::Data>::shared_ptr(std::shared_ptr<chaiscript::Boxed_Value::Data>&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x408CCE: chaiscript::Boxed_Value::Boxed_Value(chaiscript::Boxed_Value&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x410DC7: std::pair<std::string, chaiscript::Boxed_Value>::pair(std::pair<std::string, chaiscript::Boxed_Value>&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4D6FD5: void std::_Construct<std::pair<std::string, chaiscript::Boxed_Value>, std::pair<std::string, chaiscript::Boxed_Value> >(std::pair<std::string, chaiscript::Boxed_Value>*, std::pair<std::string, chaiscript::Boxed_Value>&&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4C9E52: std::pair<std::string, chaiscript::Boxed_Value>* std::__uninitialized_copy<false>::__uninit_copy<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*>(std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4B823F: std::pair<std::string, chaiscript::Boxed_Value>* std::uninitialized_copy<std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*>(std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::move_iterator<std::pair<std::string, chaiscript::Boxed_Value>*>, std::pair<std::string, chaiscript::Boxed_Value>*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== Address 0x4CD4110 is 32 bytes inside a block of size 40 alloc'd
- ==36369== at 0x4A078C3: operator new(unsigned long) (in /opt/rh/devtoolset-3/root/usr/lib64/valgrind/vgpreload_helgrind-amd64-linux.so)
- ==36369== by 0x4D863F: __gnu_cxx::new_allocator<std::_Rb_tree_node<std::string> >::allocate(unsigned long, void const*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4CC36C: std::allocator_traits<std::allocator<std::_Rb_tree_node<std::string> > >::allocate(std::allocator<std::_Rb_tree_node<std::string> >&, unsigned long) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4BBC4C: std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_get_node() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4A6ACE: std::_Rb_tree_node<std::string>* std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_create_node<std::string const&>(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x48C356: std::_Rb_tree_iterator<std::string> std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_insert_<std::string const&>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x48979E: std::_Rb_tree_iterator<std::string> std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_insert_unique_<std::string const&>(std::_Rb_tree_const_iterator<std::string>, std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x463F45: void std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_insert_unique<std::string const*>(std::string const*, std::string const*) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x439B57: std::set<std::string, std::less<std::string>, std::allocator<std::string> >::set(std::initializer_list<std::string>, std::less<std::string> const&, std::allocator<std::string> const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417982: chaiscript::Name_Validator::is_reserved_word(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x417D46: chaiscript::Name_Validator::valid_object_name(std::string const&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x57B330: chaiscript::parser::ChaiScript_Parser<chaiscript::eval::Tracer<chaiscript::eval::Noop_Tracer_Detail>, chaiscript::optimizer::Optimizer<chaiscript::optimizer::Partial_Fold, chaiscript::optimizer::Unused_Return, chaiscript::optimizer::Constant_Fold, chaiscript::optimizer::If, chaiscript::optimizer::Return, chaiscript::optimizer::Dead_Code, chaiscript::optimizer::Block, chaiscript::optimizer::For_Loop, chaiscript::optimizer::Assign_Decl>, 512ul>::validate_object_name(std::string const&) const (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369== ----------------------------------------------------------------
- ==36369==
- ==36369== Possible data race during read of size 4 at 0x900238 by thread #4
- ==36369== Locks held: none
- ==36369== at 0x5DFD37: __cxa_thread_atexit (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x448B5E: chaiscript::detail::threading::Thread_Storage<std::set<std::type_info const*, chaiscript::Type_Conversions::Less_Than, std::allocator<std::type_info const*> > >::t() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x430150: chaiscript::detail::threading::Thread_Storage<std::set<std::type_info const*, chaiscript::Type_Conversions::Less_Than, std::allocator<std::type_info const*> > >::~Thread_Storage() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x410847: chaiscript::Type_Conversions::~Type_Conversions() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x41D889: chaiscript::detail::Dispatch_Engine::~Dispatch_Engine() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x41DEB7: chaiscript::ChaiScript_Basic::~ChaiScript_Basic() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x42ECDB: chaiscript::ChaiScript::~ChaiScript() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4066E6: call_from_thread() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x54F98C: void std::_Bind_simple<void (*())()>::_M_invoke<>(std::_Index_tuple<>) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x53DD5C: std::_Bind_simple<void (*())()>::operator()() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x51A151: std::thread::_Impl<std::_Bind_simple<void (*())()> >::_M_run() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x37E38B646F: ??? (in /usr/lib64/libstdc++.so.6.0.13)
- ==36369==
- ==36369== This conflicts with a previous write of size 4 by thread #3
- ==36369== Locks held: none
- ==36369== at 0x37D800C63B: pthread_key_create (in /lib64/libpthread-2.12.so)
- ==36369== by 0x5DFCCE: (anonymous namespace)::key_init() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x37D800CD32: pthread_once (in /lib64/libpthread-2.12.so)
- ==36369== by 0x5DFD36: __cxa_thread_atexit (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x45FC9A: chaiscript::detail::threading::Thread_Storage<chaiscript::detail::Stack_Holder>::t() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4369BA: chaiscript::detail::threading::Thread_Storage<chaiscript::detail::Stack_Holder>::operator*() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x4155E3: chaiscript::detail::Dispatch_Engine::get_stack_holder() (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369== by 0x416219: chaiscript::detail::Dispatch_State::Dispatch_State(chaiscript::detail::Dispatch_Engine&) (in /home/pbpddev/Documents/Test/chai_thread)
- ==36369==
- ==36369==
- ==36369== For counts of detected and suppressed errors, rerun with: -v
- ==36369== Use --history-level=approx or =none to gain increased speed, at
- ==36369== the cost of reduced accuracy of conflicting-access information
- ==36369== ERROR SUMMARY: 42025 errors from 17 contexts (suppressed: 475 from 46)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement