-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Description
Attempted in #346, and passed all CI checks; however, thread sanitizer finds a data race when this feature is actually used in #342:
// in FiducialFilter::Start:
o_enable_pcal_cuts = GetOptionScalar<bool>("enable_pcal_cuts")causes
WARNING: ThreadSanitizer: data race (pid=1132)
Read of size 4 at 0x7f2018465670 by thread T4:
#0 memcmp <null> (iguana_test+0xd06a7) (BuildId: 96c49e37913521c975860a995e999cb3665d4ac7)
#1 YAML::convert<bool>::decode(YAML::Node const&, bool&) <null> (libyaml-cpp.so.0.8+0x1dd5c) (BuildId: da72f921b47ab808f29f1db32d0581f18b84a914)
#2 bool YAML::Node::as<bool>() const /usr/include/yaml-cpp/node/impl.h:156:10 (libIguanaServices.so+0xf0672) (BuildId: 4cc9529f1462d8609fcbe1b01ad36243e8694a63)
#3 std::optional<bool> iguana::YAMLReader::GetScalar<bool>(YAML::Node) /__w/iguana/iguana/iguana_build/../iguana_src/src/iguana/services/YAMLReader.cc:29:21 (libIguanaServices.so+0xf0370) (BuildId: 4cc9529f1462d8609fcbe1b01ad36243e8694a63)
#4 std::optional<bool> iguana::YAMLReader::GetScalar<bool>(std::deque<std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::function<YAML::Node (YAML::Node)>>, std::allocator<std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::function<YAML::Node (YAML::Node)>>>>) /__w/iguana/iguana/iguana_build/../iguana_src/src/iguana/services/YAMLReader.cc:53:16 (libIguanaServices.so+0xf1b08) (BuildId: 4cc9529f1462d8609fcbe1b01ad36243e8694a63)
#5 bool iguana::Algorithm::GetOptionScalar<bool>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::deque<std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::function<YAML::Node (YAML::Node)>>, std::allocator<std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::function<YAML::Node (YAML::Node)>>>>) const /__w/iguana/iguana/iguana_build/../iguana_src/src/iguana/algorithms/Algorithm.cc:20:28 (libIguanaAlgorithms.so+0x19009f) (BuildId: 44d9753790d65ce89b89ce9c96ede6114141fbc5)
#6 iguana::clas12::FiducialFilter::Start(std::vector<hipo::bank, std::allocator<hipo::bank>>&) /__w/iguana/iguana/iguana_build/../iguana_src/src/iguana/algorithms/clas12/FiducialFilter/Algorithm.cc:18:33 (libIguanaAlgorithms.so+0x24b991) (BuildId: 44d9753790d65ce89b89ce9c96ede6114141fbc5)
I'm not sure if this is a yaml-cpp problem or if #346 is incomplete; at the very least, this issue serves as documentation of the attempt...
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Unsorted