Description
Observed this on an internal CI.
DEBUG: slave/containerizer/isolators/network/port_mapping.cpp: In static member function 'static Try<mesos::slave::Isolator*> mesos::internal::slave::PortMappingIsolatorProcess::create(const mesos::internal::slave::Flags&)': DEBUG: slave/containerizer/isolators/network/port_mapping.cpp:1591:32: error: no match for 'operator!=' (operand types are 'std::basic_string<char>' and 'int') DEBUG: } else if (mountShared.get() != 0) { DEBUG: ^ DEBUG: slave/containerizer/isolators/network/port_mapping.cpp:1591:32: note: candidates are: DEBUG: In file included from ../include/mesos/resources.hpp:29:0, DEBUG: from slave/containerizer/isolators/network/port_mapping.cpp:80: DEBUG: ../include/mesos/type_utils.hpp:66:6: note: bool mesos::operator!=(const mesos::TaskStatus&, const mesos::TaskStatus&) DEBUG: bool operator!=(const TaskStatus& left, const TaskStatus& right); DEBUG: ^ DEBUG: ../include/mesos/type_utils.hpp:66:6: note: no known conversion for argument 1 from 'std::basic_string<char>' to 'const mesos::TaskStatus&' DEBUG: ../include/mesos/type_utils.hpp:146:13: note: bool mesos::operator!=(const mesos::ContainerID&, const mesos::ContainerID&) DEBUG: inline bool operator!=(const ContainerID& left, const ContainerID& right) DEBUG: ^ DEBUG: ../include/mesos/type_utils.hpp:146:13: note: no known conversion for argument 1 from 'std::basic_string<char>' to 'const mesos::ContainerID&' DEBUG: ../include/mesos/type_utils.hpp:152:13: note: bool mesos::operator!=(const mesos::ExecutorID&, const mesos::ExecutorID&) DEBUG: inline bool operator!=(const ExecutorID& left, const ExecutorID& right) DEBUG: ^ DEBUG: ../include/mesos/type_utils.hpp:152:13: note: no known conversion for argument 1 from 'std::basic_string<char>' to 'const mesos::ExecutorID&' DEBUG: ../include/mesos/type_utils.hpp:158:13: note: bool mesos::operator!=(const mesos::FrameworkID&, const mesos::FrameworkID&) DEBUG: inline bool operator!=(const FrameworkID& left, const FrameworkID& right) DEBUG: ^ DEBUG: ../include/mesos/type_utils.hpp:158:13: note: no known conversion for argument 1 from 'std::basic_string<char>' to 'const mesos::FrameworkID&' DEBUG: ../include/mesos/type_utils.hpp:164:13: note: bool mesos::operator!=(const mesos::SlaveID&, const mesos::SlaveID&) DEBUG: inline bool operator!=(const SlaveID& left, const SlaveID& right) DEBUG: ^ DEBUG: ../include/mesos/type_utils.hpp:164:13: note: no known conversion for argument 1 from 'std::basic_string<char>' to 'const mesos::SlaveID&' DEBUG: In file included from /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/mutex:43:0, DEBUG: from /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/condition_variable:39, DEBUG: from ../3rdparty/libprocess/3rdparty/stout/include/stout/synchronized.hpp:19, DEBUG: from ../3rdparty/libprocess/include/process/future.hpp:46, DEBUG: from ../3rdparty/libprocess/include/process/check.hpp:22, DEBUG: from ../3rdparty/libprocess/include/process/collect.hpp:21, DEBUG: from slave/containerizer/isolators/network/port_mapping.cpp:30: DEBUG: /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/system_error:299:3: note: bool std::operator!=(const std::error_condition&, const std::error_condition&) DEBUG: operator!=(const error_condition& __lhs, DEBUG: ^ DEBUG: /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/system_error:299:3: note: no known conversion for argument 1 from 'std::basic_string<char>' to 'const std::error_condition&' DEBUG: /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/system_error:295:3: note: bool std::operator!=(const std::error_condition&, const std::error_code&) DEBUG: operator!=(const error_condition& __lhs, const error_code& __rhs) noexcept DEBUG: ^ DEBUG: /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/system_error:295:3: note: no known conversion for argument 1 from 'std::basic_string<char>' to 'const std::error_condition&' DEBUG: /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/system_error:291:3: note: bool std::operator!=(const std::error_code&, const std::error_condition&) DEBUG: operator!=(const error_code& __lhs, const error_condition& __rhs) noexcept DEBUG: ^ DEBUG: /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/system_error:291:3: note: no known conversion for argument 1 from 'std::basic_string<char>' to 'const std::error_code&' DEBUG: /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/system_error:287:3: note: bool std::operator!=(const std::error_code&, const std::error_code&) DEBUG: operator!=(const error_code& __lhs, const error_code& __rhs) noexcept DEBUG: ^ DEBUG: /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/system_error:287:3: note: no known conversion for argument 1 from 'std::basic_string<char>' to 'const std::error_code&' DEBUG: In file included from /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/queue:64:0, DEBUG: from ../3rdparty/libprocess/3rdparty/stout/include/stout/os.hpp:62, DEBUG: from ../3rdparty/libprocess/3rdparty/stout/include/stout/posix/net.hpp:39, DEBUG: from ../3rdparty/libprocess/3rdparty/stout/include/stout/net.hpp:59, DEBUG: from ../3rdparty/libprocess/include/process/address.hpp:31, DEBUG: from ../3rdparty/libprocess/include/process/pid.hpp:24, DEBUG: from ../3rdparty/libprocess/include/process/latch.hpp:18, DEBUG: from ../3rdparty/libprocess/include/process/future.hpp:33, DEBUG: from ../3rdparty/libprocess/include/process/check.hpp:22, DEBUG: from ../3rdparty/libprocess/include/process/collect.hpp:21, DEBUG: from slave/containerizer/isolators/network/port_mapping.cpp:30: DEBUG: /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/bits/stl_queue.h:292:5: note: template<class _Tp, class _Seq> bool std::operator!=(const std::queue<_Tp, _Seq>&, const std::queue<_Tp, _Seq>&) DEBUG: operator!=(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y) DEBUG: ^ DEBUG: /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/bits/stl_queue.h:292:5: note: template argument deduction/substitution failed: DEBUG: slave/containerizer/isolators/network/port_mapping.cpp:1591:35: note: 'std::basic_string<char>' is not derived from 'const std::queue<_Tp, _Seq>' DEBUG: } else if (mountShared.get() != 0) { DEBUG: ^ DEBUG: In file included from /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/deque:64:0, DEBUG: from ../3rdparty/libprocess/3rdparty/boost-1.53.0/boost/detail/container_fwd.hpp:91, DEBUG: from ../3rdparty/libprocess/3rdparty/boost-1.53.0/boost/functional/hash/extensions.hpp:17, DEBUG: from ../3rdparty/libprocess/3rdparty/boost-1.53.0/boost/functional/hash/hash.hpp:529, DEBUG: from ../3rdparty/libprocess/3rdparty/boost-1.53.0/boost/functional/hash.hpp:6, DEBUG: from ../3rdparty/libprocess/include/process/address.hpp:27, DEBUG: from ../3rdparty/libprocess/include/process/pid.hpp:24, DEBUG: from ../3rdparty/libprocess/include/process/latch.hpp:18, DEBUG: from ../3rdparty/libprocess/include/process/future.hpp:33, DEBUG: from ../3rdparty/libprocess/include/process/check.hpp:22, DEBUG: from ../3rdparty/libprocess/include/process/collect.hpp:21, DEBUG: from slave/containerizer/isolators/network/port_mapping.cpp:30: DEBUG: /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/bits/stl_deque.h:1983:5: note: template<class _Tp, class _Alloc> bool std::operator!=(const std::deque<_Tp, _Alloc>&, const std::deque<_Tp, _Alloc>&) DEBUG: operator!=(const deque<_Tp, _Alloc>& __x, DEBUG: ^ DEBUG: /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/bits/stl_deque.h:1983:5: note: template argument deduction/substitution failed: DEBUG: slave/containerizer/isolators/network/port_mapping.cpp:1591:35: note: 'std::basic_string<char>' is not derived from 'const std::deque<_Tp, _Alloc>' DEBUG: } else if (mountShared.get() != 0) { DEBUG: ^ DEBUG: In file included from /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/deque:64:0, DEBUG: from ../3rdparty/libprocess/3rdparty/boost-1.53.0/boost/detail/container_fwd.hpp:91, DEBUG: from ../3rdparty/libprocess/3rdparty/boost-1.53.0/boost/functional/hash/extensions.hpp:17, DEBUG: from ../3rdparty/libprocess/3rdparty/boost-1.53.0/boost/functional/hash/hash.hpp:529, DEBUG: from ../3rdparty/libprocess/3rdparty/boost-1.53.0/boost/functional/hash.hpp:6, DEBUG: from ../3rdparty/libprocess/include/process/address.hpp:27, DEBUG: from ../3rdparty/libprocess/include/process/pid.hpp:24, DEBUG: from ../3rdparty/libprocess/include/process/latch.hpp:18, DEBUG: from ../3rdparty/libprocess/include/process/future.hpp:33, DEBUG: from ../3rdparty/libprocess/include/process/check.hpp:22, DEBUG: from ../3rdparty/libprocess/include/process/collect.hpp:21, DEBUG: from slave/containerizer/isolators/network/port_mapping.cpp:30: DEBUG: /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/bits/stl_deque.h:267:5: note: template<class _Tp, class _RefL, class _PtrL, class _RefR, class _PtrR> bool std::operator!=(const std::_Deque_iterator<_Tp, _Ref, _Ptr>&, const std::_Deque_iterator<_Tp, _RefR, _PtrR>&) DEBUG: operator!=(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, DEBUG: ^ DEBUG: /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/bits/stl_deque.h:267:5: note: template argument deduction/substitution failed: DEBUG: slave/containerizer/isolators/network/port_mapping.cpp:1591:35: note: 'std::basic_string<char>' is not derived from 'const std::_Deque_iterator<_Tp, _Ref, _Ptr>' DEBUG: } else if (mountShared.get() != 0) { DEBUG: ^ DEBUG: In file included from /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/deque:64:0, DEBUG: from ../3rdparty/libprocess/3rdparty/boost-1.53.0/boost/detail/container_fwd.hpp:91, DEBUG: from ../3rdparty/libprocess/3rdparty/boost-1.53.0/boost/functional/hash/extensions.hpp:17, DEBUG: from ../3rdparty/libprocess/3rdparty/boost-1.53.0/boost/functional/hash/hash.hpp:529, DEBUG: from ../3rdparty/libprocess/3rdparty/boost-1.53.0/boost/functional/hash.hpp:6, DEBUG: from ../3rdparty/libprocess/include/process/address.hpp:27, DEBUG: from ../3rdparty/libprocess/include/process/pid.hpp:24, DEBUG: from ../3rdparty/libprocess/include/process/latch.hpp:18, DEBUG: from ../3rdparty/libprocess/include/process/future.hpp:33, DEBUG: from ../3rdparty/libprocess/include/process/check.hpp:22, DEBUG: from ../3rdparty/libprocess/include/process/collect.hpp:21, DEBUG: from slave/containerizer/isolators/network/port_mapping.cpp:30: DEBUG: /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/bits/stl_deque.h:260:5: note: template<class _Tp, class _Ref, class _Ptr> bool std::operator!=(const std::_Deque_iterator<_Tp, _Ref, _Ptr>&, const std::_Deque_iterator<_Tp, _Ref, _Ptr>&) DEBUG: operator!=(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, DEBUG: ^ DEBUG: /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/bits/stl_deque.h:260:5: note: template argument deduction/substitution failed: DEBUG: slave/containerizer/isolators/network/port_mapping.cpp:1591:35: note: 'std::basic_string<char>' is not derived from 'const std::_Deque_iterator<_Tp, _Ref, _Ptr>' DEBUG: } else if (mountShared.get() != 0) { DEBUG: ^ DEBUG: In file included from ../3rdparty/libprocess/3rdparty/boost-1.53.0/boost/config/no_tr1/complex.hpp:21:0, DEBUG: from ../3rdparty/libprocess/3rdparty/boost-1.53.0/boost/math/special_functions/math_fwd.hpp:30, DEBUG: from ../3rdparty/libprocess/3rdparty/boost-1.53.0/boost/math/special_functions/sign.hpp:17, DEBUG: from ../3rdparty/libprocess/3rdparty/boost-1.53.0/boost/lexical_cast.hpp:167, DEBUG: from ../3rdparty/libprocess/3rdparty/stout/include/stout/numify.hpp:19, DEBUG: from ../3rdparty/libprocess/3rdparty/stout/include/stout/duration.hpp:33, DEBUG: from ../3rdparty/libprocess/include/process/time.hpp:20, DEBUG: from ../3rdparty/libprocess/include/process/clock.hpp:20, DEBUG: from ../3rdparty/libprocess/include/process/future.hpp:32, DEBUG: from ../3rdparty/libprocess/include/process/check.hpp:22, DEBUG: from ../3rdparty/libprocess/include/process/collect.hpp:21, DEBUG: from slave/containerizer/isolators/network/port_mapping.cpp:30: DEBUG: /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/complex:484:5: note: template<class _Tp> constexpr bool std::operator!=(const _Tp&, const std::complex<_Tp>&) DEBUG: operator!=(const _Tp& __x, const complex<_Tp>& __y) DEBUG: ^ DEBUG: /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/complex:484:5: note: template argument deduction/substitution failed: DEBUG: slave/containerizer/isolators/network/port_mapping.cpp:1591:35: note: mismatched types 'const std::complex<_Tp>' and 'int' DEBUG: } else if (mountShared.get() != 0) { DEBUG: ^ DEBUG: In file included from ../3rdparty/libprocess/3rdparty/boost-1.53.0/boost/config/no_tr1/complex.hpp:21:0, DEBUG: from ../3rdparty/libprocess/3rdparty/boost-1.53.0/boost/math/special_functions/math_fwd.hpp:30, DEBUG: from ../3rdparty/libprocess/3rdparty/boost-1.53.0/boost/math/special_functions/sign.hpp:17, DEBUG: from ../3rdparty/libprocess/3rdparty/boost-1.53.0/boost/lexical_cast.hpp:167, DEBUG: from ../3rdparty/libprocess/3rdparty/stout/include/stout/numify.hpp:19, DEBUG: from ../3rdparty/libprocess/3rdparty/stout/include/stout/duration.hpp:33, DEBUG: from ../3rdparty/libprocess/include/process/time.hpp:20, DEBUG: from ../3rdparty/libprocess/include/process/clock.hpp:20, DEBUG: from ../3rdparty/libprocess/include/process/future.hpp:32, DEBUG: from ../3rdparty/libprocess/include/process/check.hpp:22, DEBUG: from ../3rdparty/libprocess/include/process/collect.hpp:21, DEBUG: from slave/containerizer/isolators/network/port_mapping.cpp:30: DEBUG: /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/complex:479:5: note: template<class _Tp> constexpr bool std::operator!=(const std::complex<_Tp>&, const _Tp&) DEBUG: operator!=(const complex<_Tp>& __x, const _Tp& __y) DEBUG: ^ DEBUG: /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/complex:479:5: note: template argument deduction/substitution failed: DEBUG: slave/containerizer/isolators/network/port_mapping.cpp:1591:35: note: 'std::basic_string<char>' is not derived from 'const std::complex<_Tp>' DEBUG: } else if (mountShared.get() != 0) { DEBUG: ^ DEBUG: In file included from ../3rdparty/libprocess/3rdparty/boost-1.53.0/boost/config/no_tr1/complex.hpp:21:0, DEBUG: from ../3rdparty/libprocess/3rdparty/boost-1.53.0/boost/math/special_functions/math_fwd.hpp:30, DEBUG: from ../3rdparty/libprocess/3rdparty/boost-1.53.0/boost/math/special_functions/sign.hpp:17, DEBUG: from ../3rdparty/libprocess/3rdparty/boost-1.53.0/boost/lexical_cast.hpp:167, DEBUG: from ../3rdparty/libprocess/3rdparty/stout/include/stout/numify.hpp:19, DEBUG: from ../3rdparty/libprocess/3rdparty/stout/include/stout/duration.hpp:33, DEBUG: from ../3rdparty/libprocess/include/process/time.hpp:20, DEBUG: from ../3rdparty/libprocess/include/process/clock.hpp:20, DEBUG: from ../3rdparty/libprocess/include/process/future.hpp:32, DEBUG: from ../3rdparty/libprocess/include/process/check.hpp:22, DEBUG: from ../3rdparty/libprocess/include/process/collect.hpp:21, DEBUG: from slave/containerizer/isolators/network/port_mapping.cpp:30: DEBUG: /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/complex:474:5: note: template<class _Tp> constexpr bool std::operator!=(const std::complex<_Tp>&, const std::complex<_Tp>&) DEBUG: operator!=(const complex<_Tp>& __x, const complex<_Tp>& __y) DEBUG: ^ DEBUG: /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/complex:474:5: note: template argument deduction/substitution failed: DEBUG: slave/containerizer/isolators/network/port_mapping.cpp:1591:35: note: 'std::basic_string<char>' is not derived from 'const std::complex<_Tp>' DEBUG: } else if (mountShared.get() != 0) { DEBUG: ^ DEBUG: In file included from /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/set:62:0, DEBUG: from ../3rdparty/libprocess/include/process/future.hpp:25, DEBUG: from ../3rdparty/libprocess/include/process/check.hpp:22, DEBUG: from ../3rdparty/libprocess/include/process/collect.hpp:21, DEBUG: from slave/containerizer/isolators/network/port_mapping.cpp:30: DEBUG: /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/bits/stl_multiset.h:763:5: note: template<class _Key, class _Compare, class _Alloc> bool std::operator!=(const std::multiset<_Key, _Compare, _Alloc>&, const std::multiset<_Key, _Compare, _Alloc>&) DEBUG: operator!=(const multiset<_Key, _Compare, _Alloc>& __x, DEBUG: ^ DEBUG: /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/bits/stl_multiset.h:763:5: note: template argument deduction/substitution failed: DEBUG: slave/containerizer/isolators/network/port_mapping.cpp:1591:35: note: 'std::basic_string<char>' is not derived from 'const std::multiset<_Key, _Compare, _Alloc>' DEBUG: } else if (mountShared.get() != 0) { DEBUG: ^ DEBUG: In file included from /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/set:61:0, DEBUG: from ../3rdparty/libprocess/include/process/future.hpp:25, DEBUG: from ../3rdparty/libprocess/include/process/check.hpp:22, DEBUG: from ../3rdparty/libprocess/include/process/collect.hpp:21, DEBUG: from slave/containerizer/isolators/network/port_mapping.cpp:30: DEBUG: /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/bits/stl_set.h:778:5: note: template<class _Key, class _Compare, class _Alloc> bool std::operator!=(const std::set<_Key, _Compare, _Alloc>&, const std::set<_Key, _Compare, _Alloc>&) DEBUG: operator!=(const set<_Key, _Compare, _Alloc>& __x, DEBUG: ^ DEBUG: /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/bits/stl_set.h:778:5: note: template argument deduction/substitution failed: DEBUG: slave/containerizer/isolators/network/port_mapping.cpp:1591:35: note: 'std::basic_string<char>' is not derived from 'const std::set<_Key, _Compare, _Alloc>' DEBUG: } else if (mountShared.get() != 0) {