- Sep 19, 2019
-
-
Alexander V. Tikhonov authored
Found that the curl failed to build on FreeBSD with errors: gmake[2]: Entering directory '/home/vagrant/tarantool/third_party/curl/src' CCLD curl /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `SSLv23_client_method' /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `CONF_modules_free' /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `ERR_free_strings' /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `sk_value' /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `ENGINE_cleanup' /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `SSL_library_init' /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `EVP_MD_CTX_destroy' /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `sk_pop_free' /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `SSLeay' /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `SSL_get_ex_new_index' /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `OPENSSL_add_all_algorithms_noconf' /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `SSL_COMP_free_compression_methods' /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `EVP_MD_CTX_create' /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `EVP_cleanup' /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `sk_num' /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `sk_pop' /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `SSL_load_error_strings' collect2: error: ld returned 1 exit status gmake[2]: *** [Makefile:921: curl] Error 1 Found root cause of the issue at the `./configure <...>` output: | checking for OpenSSL headers version... 1.0.2 - 0x1000214fL | checking for OpenSSL library version... 1.1.1 | configure: WARNING: OpenSSL headers and library versions do not match. It is seen that the Tarantool bootstrap installed pkg 'openssl' of the version '1.0.2', while the currently default FreeBSD 'openssl' version was '1.1.1'. Anyway we don't need any special openssl version installed against default one, so the fix is just to remove the openssl package from bootstrap installation. Also found that some installing packages are not needed too, removed it from FreeBSD bootstrap. Additionally added libiconv library into bootstrap which is needed as workaround to avoid of the issue described in: https://github.com/tarantool/tarantool/issues/3791 Closed #4490 (cherry picked from commit 1f2338bd)
-
- Aug 22, 2019
-
-
Alexander Turenko authored
`apt-get update <...>` fails on Debian Buster on docker_bootstrap goal (see #4331 for the similar issue). Added a description how to change dependencies in .travis.mk. (cherry picked from commit 45c2576d)
-
- Aug 21, 2019
-
-
Mergen Imeev authored
Hold libcurl-7.65.3. This version is not affected by the following issues: * #4180 ('httpc: redirects are broken with libcurl-7.30 and older'); * #4389 ('libcurl memory leak'); * #4397 ('HTTPS seem to be unstable'). After this patch libcurl will be statically linked when ENABLE_BUNDLED_LIBCURL option is set. This option is set by default. Closes #4318 @TarantoolBot document Title: Tarantool dependency list was changed * Added build dependencies: autoconf, automake, libtool, zlib-devel (zlib1g-dev on Debian). * Added runtime dependencies: zlib (zlib1g on Debian). * Removed build dependencies: libcurl-devel (libcurl4-openssl-dev on Debian). * Removed runtime dependencies: curl. The reason is that now we use compiled-in libcurl: so we don't depend on a system libcurl, but inherit its dependencies. (cherry picked from commit 7e51aebb)
-
- Jul 26, 2019
-
-
Alexander V. Tikhonov authored
Increased the maximum number of open file descriptors on macOS. Travis-ci: needed the "ulimit -n <value>" call, because found that the tests fail without it even with launchctl limit tool set. Gitlab-ci: needed the "launchctl limit maxfiles <value>" call, because under gitlib-ci it is needed the password to change the limits and we call the sudo tool which separates the local set of the environment. Closes #4373
-
Alexander V. Tikhonov authored
Due to the new 7.65.3 curl version released on 2019-07-19, removed temporary workaround that downgraded the curl to 7.65.0. This reverts commit 2e880af0. Follows up #4288
-
- Jul 19, 2019
-
-
Alexander V. Tikhonov authored
Enabled complete testing for OSX, temporary skipped the failed suite replication/ and tests engine/replica_join with issue #4370 and small/quota from repository https://github.com/tarantool/small.git with issue #4357 to enable it back. Also fixed the OSX ulimit setup different for VBOX and Travis-ci images. Closes #4358
-
Alexander V. Tikhonov authored
Added ASAN tesing in commit process, used clang-8 for ASAN build under debian-buster image. Added for testing only the passing test suites, the rest of the tests not used and will be enabled durring issue #4360. Also fixed job for testing LTO with clang on debian-buster in travis-ci, changed it to the same as in gitlab-ci, changed default clang to clang-8. Closes #4359
-
- Jul 11, 2019
-
-
Michael Filonenko authored
-
avtikhon authored
travis-ci APT repository update failed on Debian 10 (Buster) with command 'apt-get update', like: Get:1 http://deb.debian.org/debian buster InRelease [118 kB] Get:2 http://security.debian.org/debian-security buster/updates InRelease [39.1 kB] Get:3 http://deb.debian.org/debian buster-updates InRelease [46.8 kB] Reading package lists... Done N: Repository 'http://security.debian.org/debian-security buster/updates InRelease' changed its 'Version' value from '' to '10' E: Repository 'http://security.debian.org/debian-security buster/updates InRelease' changed its 'Suite' value from 'testing' to 'stable' N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details. N: Repository 'http://deb.debian.org/debian buster InRelease' changed its 'Version' value from '' to '10.0' E: Repository 'http://deb.debian.org/debian buster InRelease' changed its 'Suite' value from 'testing' to 'stable' N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details. E: Repository 'http://deb.debian.org/debian buster-updates InRelease' changed its 'Suite' value from 'testing-updates' to 'stable-updates' N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details. The cause of the issue was: According to Debian Project News published 1st of July, Debian 10 "Buster" was scheduled to transition from testing to stable on 2019-07-06. It looks like the transition was in fact performed as scheduled, and so the testing distribution should now be catching up witn unstable, to eventually become Debian 11 "Bullseye". You might be experiencing some temporary side effects because of this transition of the Debian mirrors. If you want to stay with Debian 10 "Buster", now would be a good time to switch your /etc/apt/sources.list to use the release name buster instead of testing. Otherwise, you'll soon be getting the raw bleeding-edge stuff from unstable, and you might accidentally get a partial upgrade to proto-"Bullseye". Also, this is a reminder for anyone using the word stable in their /etc/apt/sources.list to consider whether to change it to stretch and stay with the old version, or read the Release Notes and perform the recommended upgrade steps. To fix the issue it had to accept interactively the changes in the repositories NOTE: apt instead of apt-get can accept the changes interactively apt update -y either accept only the needed changes for 'version' and 'suite' apt-get update --allow-releaseinfo-change-version --allow-releaseinfo-change-suite Seems that the only 'version' and 'suite' accept is better than blind accept of the all changes. Closes #4331
-
- Jul 05, 2019
-
-
Alexander V. Tikhonov authored
Homebrew now contains curl-7.65.1 which affected by curl/curl#3995 (this problem leads to segfaults). The next version is not released yet. The current commit downgrades the curl version to 7.65.0. Close #4288
-
- Jul 04, 2019
-
-
Alexander V. Tikhonov authored
Implemented GitLab CI testing process additionally to existing Travis CI. The new testing process is added to run tests faster. It requires to control a load of machines to avoid flaky fails on timeouts. GitLab CI allows us to run testing on our machines. Created 2 stages for testing and deploying packages. The testing stage contains the following jobs that are run for all branches: * Debian 9 (Stretch): release/debug gcc. * Debian 10 (Buster): release clang8 + lto. * OSX 14 (Mojave): release. * FreeBSD 12: release gcc. And the following jobs that are run of long-term branches (release branches: for now it is 1.10, 2.1 and master): * OSX 13 (Sierra): release clang. * OSX 14 (Mojave): release clang + lto. The deployment stage contains the same jobs as we have in Travis CI. They however just build tarballs and packages: don't push them to S3 and packagecloud. In order to run full testing on a short-term branch one can name it with '-full-ci' suffix. The additional manual work is needed when dependencies are changed in .travis.mk file ('deps_debian' or 'deps_buster_clang_8' goals): | make GITLAB_USER=foo -f .gitlab.mk docker_bootstrap This command pushes docker images into GitLab Registry and then they are used in testing. Pre-built images speed up testing. Fixes #4156
-
- Jun 07, 2019
-
-
Alexander V. Tikhonov authored
Travis-ci failed on brew install python2 due to it was already installed on OSX 10.13 Sierra, so it needs to be installed without fails on its exists. Follow up #4254
-
Alexander V. Tikhonov authored
Removed skip flag file to switch on the testing of the http_client test. Enabled http_client test on OSX, fixed missing of the python2 symlink. Removed the subtest on '595 error return' from 'error' suite, due to it may hang forever. To enable test on travis-ci reverted commit: 1d7285c4 ('Disable flaky http_client.test.lua') Closes #4254
-
- May 20, 2019
-
-
Alexander V. Tikhonov authored
Made fixes: - Added CMAKE_EXTRA_PARAMS environment to docker's container runs to enable -DENABLE_LTO=ON/OFF cmake option. - Added CC/CXX environment to docker's container runs to set clang for cmake. Also the additional environment variables {CC,CXX}_FOR_BUILD were postponed, because we didn't run cross-compilation at the moment, for more info check: https://docs.travis-ci.com/user/languages/cpp/#choosing-compilers-to-test-against - Changed LTO docker's image to 'debian-buster' due to LTO needed higher versions of packages, check for more information commit: f9e28ce4 ('Add LTO support') - Fixed sources to avoid of failures on builds by GCC with LTO: 1) src/box/memtx_rtree.c: In function ‘mp_decode_rect’: src/box/memtx_rtree.c:86:24: error: ‘c’ may be used uninitialized in this function [-Werror=maybe-uninitialized] rect->coords[i * 2] = c; ^ src/box/memtx_rtree.c:74:10: note: ‘c’ was declared here coord_t c; ^ 2) src/box/sql/func.c: In function ‘quoteFunc’: src/box/sql/func.c:1103:3: error: ‘b’ may be used uninitialized in this function [-Werror=maybe-uninitialized] sql_result_text(context, sql_value_boolean(argv[0]) ? ^ src/box/sql/vdbeapi.c:217:7: note: ‘b’ was declared here bool b; ^ 3) src/box/tuple_update.c: In function ‘update_read_ops’: src/box/tuple_update.c:1022:4: error: ‘field_no’ may be used uninitialized in this function [-Werror=maybe-uninitialized] diag_set(ClientError, ER_NO_SUCH_FIELD_NO, field_no); ^ src/box/tuple_update.c:1014:11: note: ‘field_no’ was declared here int32_t field_no; ^ 4) src/httpc.c: In function ‘httpc_set_verbose’: src/httpc.c:267:2: error: call to ‘_curl_easy_setopt_err_long’ declared with attribute warning: curl_easy_setopt expects a long argument for this option [-Werror] curl_easy_setopt(req->curl_request.easy, CURLOPT_VERBOSE, curl_verbose); ^ 5) src/lua/httpc.c: In function ‘luaT_httpc_request’: src/lua/httpc.c:128:64: error: ‘MEM[(int *)&parser + 20B]’ may be used uninitialized in this function [-Werror=maybe-uninitialized] lua_pushinteger(L, (parser.http_minor > 0) ? parser.http_minor: 0); ^ src/lua/httpc.c:67:21: note: ‘MEM[(int *)&parser + 20B]’ was declared here struct http_parser parser; ^ src/lua/httpc.c:124:64: error: ‘MEM[(int *)&parser + 16B]’ may be used uninitialized in this function [-Werror=maybe-uninitialized] lua_pushinteger(L, (parser.http_major > 0) ? parser.http_major: 0); ^ src/lua/httpc.c:67:21: note: ‘MEM[(int *)&parser + 16B]’ was declared here struct http_parser parser; ^ Close #4215
-
- May 06, 2019
-
-
Alexander V. Tikhonov authored
Added --force flag to travis-ci jobs not to stop on failed tests. Due to any found failed test breaks the testing it masks the other fails and in the following ways it's not good: - flaky test masks real problem - release testing needs overall result to fix it fast - parallel testing may produce flaky test Close: #4131
-
- Apr 29, 2019
-
-
Alexander Turenko authored
It is important to have testing jobs that build the project with both -Werror and -O2 to keep the code clean. -O2 is needed, because some compiler warnings are available only after extra analyzing passes that are disabled with lesser optimization levels. The first attempt to add -Werror for release testing jobs was made in da505ee7 ('Add -Werror for CI (1.10 part)'), but it mistakely doesn't enable -O2 for RelWithDebInfoWError build. It is possible to fix it in this way: | --- a/cmake/compiler.cmake | +++ b/cmake/compiler.cmake | @@ -113,10 +113,14 @@ set (CMAKE_C_FLAGS_DEBUG | "${CMAKE_C_FLAGS_DEBUG} ${CC_DEBUG_OPT} -O0") | set (CMAKE_C_FLAGS_RELWITHDEBINFO | "${CMAKE_C_FLAGS_RELWITHDEBINFO} ${CC_DEBUG_OPT} -O2") | +set (CMAKE_C_FLAGS_RELWITHDEBINFOWERROR | + "${CMAKE_C_FLAGS_RELWITHDEBINFOWERROR} ${CC_DEBUG_OPT} -O2") | set (CMAKE_CXX_FLAGS_DEBUG | "${CMAKE_CXX_FLAGS_DEBUG} ${CC_DEBUG_OPT} -O0") | set (CMAKE_CXX_FLAGS_RELWITHDEBINFO | "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${CC_DEBUG_OPT} -O2") | +set (CMAKE_CXX_FLAGS_RELWITHDEBINFOWERROR | + "${CMAKE_CXX_FLAGS_RELWITHDEBINFOWERROR} ${CC_DEBUG_OPT} -O2") | | unset(CC_DEBUG_OPT) However I think that a build type (and so `tarantool --version`) should not show whether -Werror was passed or not. So I have added ENABLE_WERROR CMake option for that. It can be set like so: | cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_WERROR=ON Enabled the option in testing Travis-CI jobs with the RelWithDebInfo build type. Deploy jobs don't include it as before. Fixed all -Wmaybe-uninitialized and -Wunused-result warnings. A few notes about the fixes: * net.box does not validate received data in general, so I don't add a check for autoincrement IDs too. Set the ID to INT64_MIN, because this value is less probably will appear here in a normal case and so is the best one to signal a user that something probably going wrongly. * xrow_decode_*() functions could read uninitialized data from row->body[0].iov_base in xrow_on_decode_err() when printing a hex code for a row. It could be possible when the received msgpack was empty (row->bodycnt == 0), but there were expected keys (key_map != 0). * getcwd() is marked with __attribute__((__warn_unused_result__)) in glibc, but the buffer filled by this call is not used anywhere and so just removed. * Vinyl -Wmaybe-uninitialized warnings are false positive ones. Added comments and quotes into .travis.yml to ease reading. Removed "test" word from the CentOS 6 job name, because we don't run tests on this distro (disabled in the RPM spec). Fixes #4178.
-
- Mar 25, 2019
-
-
Kirill Yukhin authored
-
- Mar 15, 2019
-
-
Alexander V. Tikhonov authored
Fixed Mojave Mac build with setting MACOSX_DEPLOYMENT_TARGET environment variable for LuaJIT's Makefile. This variable specifies the minimum version of OS X on which the target binaries are to be deployed. The reason why we need to set MACOSX_DEPLOYMENT_TARGET to at least 10.6 is that 10.4 SDK (which is set by default in LuaJIT's Makefile) is not longer included in Mac OS X Mojave 10.14. See also https://github.com/LuaJIT/LuaJIT/issues/484 We already set -Wl,-macosx_version_min,10.6 (-macosx_version_min and MACOSX_DEPLOYMENT_TARGET are synonymous), but it affects only a linker. We possibly should remove -macosx_version_min, because it superseded by MACOSX_DEPLOYMENT_TARGET, but it should be done with verification that the original problem really fixed by the new way to set a deployment target. This is not part of this patch. Removed virtualenv usage in CI for OS X (so pip just installs packages into a system), because OS X Mojave 10.14 does not offer virtualenv by default. Fixed #3797
-
- Oct 25, 2018
-
-
Alexander Turenko authored
Upload tarballs of alpha and beta tarantool versions (*.0 and *.1 branches) into 2x (3x, 4x...) buckets. See more details about the release process in the documentation: [1]. [1]: https://tarantool.io/en/doc/2.0/dev_guide/release_management/
-
AKhatskevich authored
-
- Oct 05, 2018
-
-
Alexander Turenko authored
Added MAKE_BUILD_TYPE=RelWithDebInfoWError option, which means enabling -DNDEBUG=1, -O2 and -Wall -Wextra -Werror. This ensures we have clean release build without warnings. Fixed found -Wunused-variable and -Wunused-parameter warnings. Part of #3238.
-
- Aug 07, 2018
-
-
Sergei Voronezhskii authored
The -j -1 used to legacy consistent mode. Reducing the number of jobs to one by switching to -j 1, uses same part of the code as in parallel mode. The code in parallel mode kills hung tests. Part of https://github.com/tarantool/test-run/issues/106
-
- May 05, 2018
-
-
Arseny Antonov authored
The reason of the failures is TLSv1.0/TLSv1.1 brownout on the PyPI side, see [1] for more information. [1]: pypa/packaging-problems#130
-
- Apr 22, 2018
-
-
Alexander Turenko authored
Rewrote TCL scripts as posix shell ones, enabled SQL_MAINTAINER_MODE commands unconditionally. Rewrote cmake targets to generate those files in a build directory instead of the source directory. Fixes #3183.
-
- Apr 11, 2018
-
-
Arseny Antonov authored
The reason of the failures is TLSv1.0/TLSv1.1 brownout on the PyPI side, see [1] for more information. [1]: pypa/packaging-problems#130
-
- Apr 10, 2018
-
-
Arseny Antonov authored
* Added new coveralls options to sync repo * Pass travis job to coverage docker
-
- Apr 09, 2018
-
-
Arseny Antonov authored
* Added new coveralls options to sync repo * Pass travis job to coverage docker
-
- Feb 01, 2018
-
-
Roman Tsisyk authored
Try to fix coverage.
-
- Jan 31, 2018
-
-
Roman Tsisyk authored
-
- Jan 26, 2018
-
-
Arseny Antonov authored
Switched from ubuntu zesty to artful, since zesty is EOLed on 13Jan2018
-
- Oct 13, 2017
-
-
Roman Tsisyk authored
-
- Oct 06, 2017
-
-
Roman Tsisyk authored
-
Alexandr Lyapunov authored
-
- Oct 05, 2017
-
-
Roman Tsisyk authored
-
- Sep 18, 2017
-
-
Roman Tsisyk authored
-
- Sep 15, 2017
-
-
Roman Tsisyk authored
-
Roman Tsisyk authored
Travis images are broken by design.
-
Roman Tsisyk authored
Ubuntu Trusty on Travis is buggy. Fixes #2752
-
- Sep 12, 2017
-
-
Roman Tsisyk authored
Ubuntu Trusty on Travis is buggy. Fixes #2752
-
- Jun 16, 2017
-
-
Ilya authored
Inpspired by tarantool/curl module by Vasiliy Soshnikov. Reviewed and refactored by Roman Tsisyk. Closes #2083
-