You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by ch...@apache.org on 2018/08/24 20:24:21 UTC
[mesos] branch 1.7.x updated (3cac4ba -> 66561d5)
This is an automated email from the ASF dual-hosted git repository.
chhsiao pushed a change to branch 1.7.x
in repository https://gitbox.apache.org/repos/asf/mesos.git.
from 3cac4ba Documented the `GET_RESOURCE_PROVIDERS` agent API call.
new e499418 Unconditionally disabled boost debug mode.
new 66561d5 Added MESOS-9177 to the 1.7.0 CHANGELOG.
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
CHANGELOG | 1 +
src/master/master.hpp | 6 ++++++
src/slave/slave.hpp | 3 +++
3 files changed, 10 insertions(+)
[mesos] 02/02: Added MESOS-9177 to the 1.7.0 CHANGELOG.
Posted by ch...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
chhsiao pushed a commit to branch 1.7.x
in repository https://gitbox.apache.org/repos/asf/mesos.git
commit 66561d56147c74498b263fc01e2c5e3f77202f63
Author: Chun-Hung Hsiao <ch...@mesosphere.io>
AuthorDate: Fri Aug 24 13:23:02 2018 -0700
Added MESOS-9177 to the 1.7.0 CHANGELOG.
---
CHANGELOG | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG b/CHANGELOG
index 2220511..b06e4aa 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -234,6 +234,7 @@ All Resolved Issues:
* [MESOS-9163] - `UriDiskProfileAdaptor` should not update profiles when a poll returns a non-OK HTTP status.
* [MESOS-9170] - Zookeeper doesn't compile with newer gcc due to format error
* [MESOS-9171] - Mesos agent crashes in CNI isolator when usage is queried
+ * [MESOS-9177] - Mesos master segfaults when responding to /state requests.
** Epic
* [MESOS-8564] - Port libprocess-tests suites to Windows
[mesos] 01/02: Unconditionally disabled boost debug mode.
Posted by ch...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
chhsiao pushed a commit to branch 1.7.x
in repository https://gitbox.apache.org/repos/asf/mesos.git
commit e499418f040d35e6401f32be879bc0432af9461e
Author: Benno Evers <be...@mesosphere.com>
AuthorDate: Fri Aug 24 13:20:47 2018 -0700
Unconditionally disabled boost debug mode.
Boost.CircularBuffer includes optional debugging code that counts the
number of currently existing iterators to the container. Up to Boost
1.62, this code was enabled by default.
However, the existing iterators were stored in a linked list that was
updated without any synchronization, leading to potential segfaults
when reading the same buffer from multiple threads.
Given that the Master stores the completed tasks for each framework
in a circular buffer, and that this can be read from multiple threads
when multiple batched requests to the `/state` endpoint are processed
(introduced by MESOS-9122), we have to unconditionally disable Boost's
debug mode to prevent possible segfaults.
Review: https://reviews.apache.org/r/68484/
---
src/master/master.hpp | 6 ++++++
src/slave/slave.hpp | 3 +++
2 files changed, 9 insertions(+)
diff --git a/src/master/master.hpp b/src/master/master.hpp
index 85ef14c..7b11c32 100644
--- a/src/master/master.hpp
+++ b/src/master/master.hpp
@@ -25,6 +25,12 @@
#include <string>
#include <vector>
+// Using `boost::circular_buffer::debug_iterator` can lead to segfaults
+// because they are not thread-safe (see MESOS-9177), so we must ensure
+// they're disabled. Both versions of this macro are needed to account
+// for differences between older and newer Boost versions.
+#define BOOST_CB_DISABLE_DEBUG 1
+#define BOOST_CB_ENABLE_DEBUG 0
#include <boost/circular_buffer.hpp>
#include <mesos/mesos.hpp>
diff --git a/src/slave/slave.hpp b/src/slave/slave.hpp
index 0420109..28d6590 100644
--- a/src/slave/slave.hpp
+++ b/src/slave/slave.hpp
@@ -24,6 +24,9 @@
#include <string>
#include <vector>
+// See comments in `master.hpp` or MESOS-9177.
+#define BOOST_CB_DISABLE_DEBUG 1
+#define BOOST_CB_ENABLE_DEBUG 0
#include <boost/circular_buffer.hpp>
#include <mesos/attributes.hpp>