You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2017/05/03 18:38:20 UTC

[2/2] qpid-proton git commit: PROTON-1472: add libuv to .travis.yml

PROTON-1472: add libuv to .travis.yml

- update .travis.yml to build libuv 2.1 from souce
- added valgrind suppression file for older libcrypto to C tests.


Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/4be3a079
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/4be3a079
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/4be3a079

Branch: refs/heads/master
Commit: 4be3a07938822175ad37651b5d36886d3b8fb521
Parents: c5555dd
Author: Alan Conway <ac...@redhat.com>
Authored: Tue May 2 23:29:31 2017 -0400
Committer: Alan Conway <ac...@redhat.com>
Committed: Wed May 3 14:28:36 2017 -0400

----------------------------------------------------------------------
 .travis.yml                       |  48 +++++++++++--
 proton-c/src/tests/CMakeLists.txt |   3 +-
 proton-c/src/tests/valgrind.supp  | 123 +++++++++++++++++++++++++++++++++
 3 files changed, 166 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/4be3a079/.travis.yml
----------------------------------------------------------------------
diff --git a/.travis.yml b/.travis.yml
index 49e44da..9c88fe9 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,10 +1,27 @@
-os:
-- linux
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License
+#
+
+os: linux
 sudo: false
-language:
-- python
-python:
-- 2.7
+language: python
+python: 2.7
+
 addons:
   apt:
     packages:
@@ -19,16 +36,33 @@ addons:
     - ruby-dev
     - python3-dev
     - php5
+    - golang
+    # Libuv build requirements
+    - automake
+    - libtool
+
 install:
 - pip install --upgrade pip
 - pip install tox
 - gem install rspec
 - gem install simplecov || true
 - gem install minitest
+
+# Build and install libuv 1.0 from source, trusty only has 0.10
+- PREFIX=$PWD/install
+- git clone -b v1.x https://github.com/libuv/libuv
+- pushd libuv
+- sh autogen.sh
+- ./configure --prefix $PREFIX
+- make && make install
+- popd
+
 before_script:
+- PREFIX=$PWD/install
 - export PATH=${HOME}/.local/bin:${PATH}
 - mkdir Build
 - cd Build
-- cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/install
+- cmake .. -DCMAKE_INSTALL_PREFIX=$PREFIX
 script:
+- export VALGRIND_OPTS="--num-callers=32"
 - cmake --build . --target install && ctest -V

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/4be3a079/proton-c/src/tests/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/proton-c/src/tests/CMakeLists.txt b/proton-c/src/tests/CMakeLists.txt
index 52983bc..14f353f 100644
--- a/proton-c/src/tests/CMakeLists.txt
+++ b/proton-c/src/tests/CMakeLists.txt
@@ -24,7 +24,8 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR})
 
 if (ENABLE_VALGRIND AND VALGRIND_EXE)
   set(memcheck-cmd ${VALGRIND_EXE} --error-exitcode=42 --quiet
-                   --leak-check=full --trace-children=yes)
+    --leak-check=full --trace-children=yes
+    --suppressions=${CMAKE_CURRENT_SOURCE_DIR}/valgrind.supp)
 endif ()
 
 macro (pn_add_c_test test)

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/4be3a079/proton-c/src/tests/valgrind.supp
----------------------------------------------------------------------
diff --git a/proton-c/src/tests/valgrind.supp b/proton-c/src/tests/valgrind.supp
new file mode 100644
index 0000000..505fc57
--- /dev/null
+++ b/proton-c/src/tests/valgrind.supp
@@ -0,0 +1,123 @@
+{
+   SSL does a number of uninitialized accesses (expected) 1
+   Memcheck:Cond
+   fun:BN_bin2bn
+   obj:*
+   obj:*
+}
+
+{
+   SSL does a number of uninitialized accesses (expected) 2
+   Memcheck:Cond
+   fun:BN_num_bits_word
+   fun:BN_num_bits
+}
+
+{
+   SSL does a number of uninitialized accesses (expected) 3
+   Memcheck:Value8
+   fun:BN_num_bits_word
+   fun:BN_num_bits
+   fun:BN_mod_exp_mont_consttime
+   obj:*
+   fun:ssl3_ctx_ctrl
+}
+
+{
+   SSL does a number of uninitialized accesses (expected) 4
+   Memcheck:Value8
+   fun:BN_mod_exp_mont_consttime
+   obj:*
+   fun:ssl3_ctx_ctrl
+}
+
+{
+   SSL does a number of uninitialized accesses (FreeBSD version)
+   Memcheck:Value8
+   fun:BN_num_bits_word
+   fun:BN_num_bits
+   fun:BN_mod_exp_mont_consttime
+   fun:BN_mod_exp_mont
+   obj:*libcrypto.so*
+   fun:ssl3_ctx_ctrl
+}
+
+{
+   SSL does a number of uninitialized accesses (FreeBSD version)
+   Memcheck:Value8
+   fun:BN_mod_exp_mont_consttime
+   fun:BN_mod_exp_mont
+   obj:*libcrypto.so*
+   fun:ssl3_ctx_ctrl
+}
+
+{
+   SSL does a number of uninitialized accesses (expected) 5
+   Memcheck:Value4
+   fun:BN_mod_exp_mont_consttime
+   fun:BN_mod_exp_mont
+   obj:*
+   obj:*
+}
+
+{
+   SSL does a number of uninitialized accesses (expected) 6
+   Memcheck:Value4
+   fun:BN_num_bits_word
+   fun:BN_mod_exp_mont_consttime
+   fun:BN_mod_exp_mont
+   obj:*
+   obj:*
+}
+
+{
+   SSL does a number of uninitialized accesses (expected) 7
+   Memcheck:Cond
+   fun:ASN1_STRING_set
+   ...
+   fun:PEM_ASN1_read_bio
+   fun:SSL_CTX_use_certificate_chain_file
+   fun:pn_ssl_domain_set_credentials
+}
+
+{
+   Since we can never safely uninitialize SSL, allow this
+   Memcheck:Leak
+   fun:_vgrZU_libcZdsoZa_realloc
+   fun:CRYPTO_realloc
+   fun:lh_insert
+   obj:/lib64/libcrypto.so.0.9.8e
+   fun:ERR_load_strings
+   fun:ERR_load_X509V3_strings
+   fun:ERR_load_crypto_strings
+   fun:SSL_load_error_strings
+}
+
+{
+   Since we can never safely uninitialize SSL, allow this
+   Memcheck:Leak
+   fun:_vgrZU_libcZdsoZa_malloc
+   fun:CRYPTO_malloc
+   fun:lh_new
+   fun:OBJ_NAME_init
+   fun:OBJ_NAME_add
+   fun:EVP_add_cipher
+   fun:SSL_library_init
+}
+
+{
+   Since we can never safely uninitialize SSL, allow this
+   Memcheck:Leak
+   fun:malloc
+   obj:*
+   fun:CRYPTO_malloc
+}
+
+{
+   Known memory leak in cyrus-sasl (fixed in 2.1.26)
+   Memcheck:Leak
+   fun:malloc
+   fun:*
+   fun:sasl_config_init
+   fun:sasl_server_init
+}


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org