You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by al...@apache.org on 2019/02/25 21:06:51 UTC

[kudu] 01/02: KUDU-2653: suppress krb5 memory leak found on Debian 8

This is an automated email from the ASF dual-hosted git repository.

alexey pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git

commit 8b251ea3e31e2c3fd3a4e8d7b2094ddb21acc814
Author: Adar Dembo <ad...@cloudera.com>
AuthorDate: Fri Feb 22 10:34:03 2019 -0800

    KUDU-2653: suppress krb5 memory leak found on Debian 8
    
    This memory leak is triggered on SASL initialization, making it appear in a
    majority of tests (pretty much any test that uses a Messenger).
    
    Change-Id: Ib5af5b2957897aa7f0fc873ab6374591664375fc
    Reviewed-on: http://gerrit.cloudera.org:8080/12558
    Tested-by: Kudu Jenkins
    Reviewed-by: Alexey Serbin <as...@cloudera.com>
---
 src/kudu/util/sanitizer_options.cc | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/kudu/util/sanitizer_options.cc b/src/kudu/util/sanitizer_options.cc
index bb0378c..0caff30 100644
--- a/src/kudu/util/sanitizer_options.cc
+++ b/src/kudu/util/sanitizer_options.cc
@@ -16,7 +16,7 @@
 // under the License.
 //
 
-#include "kudu/gutil/macros.h"
+#include "kudu/gutil/macros.h" // IWYU pragma: keep
 
 // Functions returning default options are declared weak in the runtime
 // libraries. To make the linker pick the strong replacements for those
@@ -185,7 +185,17 @@ SANITIZER_HOOK_ATTRIBUTE const char *__lsan_default_suppressions() {
 
   // False positive from krb5 < 1.12
   // Fixed by upstream commit 379d39c17b8930718e98185a5b32a0f7f3e3b4b6
-  "leak:krb5_authdata_import_attributes\n";
+  "leak:krb5_authdata_import_attributes\n"
+
+  // KUDU-2653: Memory leak in libgssapi_krb5 [1]. Exists in certain patched
+  // versions of krb5-1.12 (such as krb5 in Debian 8).
+  //
+  // Unfortunately there's no narrower match without resorting to
+  // fast_unwind_on_malloc=0; the best alternative is to match on glob, but that
+  // seems like overkill too.
+  //
+  // 1. http://krbdev.mit.edu/rt/Ticket/Display.html?id=7981
+  "leak:libgssapi_krb5.so.2\n";
 }
 #endif  // LEAK_SANITIZER