You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Vinod Kone (JIRA)" <ji...@apache.org> on 2015/08/16 22:05:45 UTC

[jira] [Updated] (MESOS-3274) Build error with port mapping isolator

     [ https://issues.apache.org/jira/browse/MESOS-3274?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Vinod Kone updated MESOS-3274:
------------------------------
    Assignee: Vinod Kone  (was: Jie Yu)

[~marco-mesos] this actually looks like a bug introduced from your recent refactoring of os::shell() in https://reviews.apache.org/r/36979. The port mapping code still does a check on non-zero return value of os::shell().

I'll fix this shortly.

> Build error with port mapping isolator
> --------------------------------------
>
>                 Key: MESOS-3274
>                 URL: https://issues.apache.org/jira/browse/MESOS-3274
>             Project: Mesos
>          Issue Type: Bug
>    Affects Versions: 0.24.0
>            Reporter: Vinod Kone
>            Assignee: Vinod Kone
>
> Observed this on an internal CI.
> {code}
> 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) {
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)