maistra / envoy Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
Automatic merge of upstream (main branch) into maistra/envoy (main branch) failed. cc @maistra/envoy
While this issue remains open, tide will not merge any PR's targeting the branches mentioned in the PR title.
Automatic merge of main into main failed. @maistra/envoy
Title: Test failures due to memory leak on using moonjit instead of luajit
Description:
I recently executed maistra-2.0 tests on ppc64le machine, using Moonjit instead of Luajit. Below are the repository details:
Repo name: https://github.com/Maistra/envoy.git
branch: maistra-2.0
On performing tests execution found that, following tests are failing:
//test/extensions/transport_sockets/tls:context_impl_test
//test/extensions/filters/http/lua:wrappers_test
//test/extensions/filters/http/lua:lua_filter_test
//test/extensions/filters/listener/http_inspector:http_inspector_test (edited)
Upon checking in the logs it was observed that the below tests execution are in passing state. However are marked failed due to memory leaks, in test result summary on ppc64le machine:
//test/extensions/filters/http/lua:lua_filter_test
//test/extensions/filters/http/lua:wrappers_test
I tried to execute above tests on an x86 machine, with Moonjit and saw similar behavior on x86 machine too.
Below are the changes I have done to use Moonjit over Luajit:
diff --git a/bazel/foreign_cc/BUILD b/bazel/foreign_cc/BUILD
index 2658b72e8..4b5058a3d 100644
--- a/bazel/foreign_cc/BUILD
+++ b/bazel/foreign_cc/BUILD
@@ -48,7 +48,7 @@ configure_make(
"//bazel:asan_build": {"ENVOY_CONFIG_ASAN": "1"},
"//conditions:default": {},
}),
- lib_source = "@com_github_luajit_luajit//:all",
+ lib_source = "@com_github_moonjit_moonjit//:all",
make_commands = [],
out_include_dir = "include/luajit-2.1",
static_libraries = [
is the above approach correct? If not what is the correct way to replace luajit with moonjit?
Automatic merge of upstream (release/v1.24) into maistra/envoy (maistra-2.4 branch) failed. cc @maistra/envoy
Automatic merge of upstream (release/v1.24) into maistra/envoy (maistra-2.4 branch) failed. cc @maistra/envoy
Automatic merge of upstream (main branch) into maistra/envoy (main branch) failed. cc @maistra/envoy
//test/common/http/http2:codec_impl_test failed with exception:
Description:
[ RUN ] Http2CodecImplTestDefaultSettings/Http2CodecImplTest.Invalid103/0 terminate called after throwing an instance of 'Envoy::Http::CodecProtocolException' what(): Unexpected 'trailers' with no end stream.
Environment:
Arch: ppc64le
Os: rhel 7.6
Gcc: 7.3.1
Console Output:
//test/common/http/http2:codec_impl_test FAILED in 5 out of 5 in 7.6s Stats over 5 runs: max = 7.6s, min = 4.0s, avg = 4.8s, dev = 1.4s /root/.cache/bazel/_bazel_root/4997a26a7f98cd23ca6abb09e9aabcaf/execroot/envoy/bazel-out/ppc-fastbuild/testlogs/test/common/http/http2/codec_impl_test/shard_1_of_5/test.log /root/.cache/bazel/_bazel_root/4997a26a7f98cd23ca6abb09e9aabcaf/execroot/envoy/bazel-out/ppc-fastbuild/testlogs/test/common/http/http2/codec_impl_test/shard_3_of_5/test.log /root/.cache/bazel/_bazel_root/4997a26a7f98cd23ca6abb09e9aabcaf/execroot/envoy/bazel-out/ppc-fastbuild/testlogs/test/common/http/http2/codec_impl_test/shard_2_of_5/test.log /root/.cache/bazel/_bazel_root/4997a26a7f98cd23ca6abb09e9aabcaf/execroot/envoy/bazel-out/ppc-fastbuild/testlogs/test/common/http/http2/codec_impl_test/shard_4_of_5/test.log /root/.cache/bazel/_bazel_root/4997a26a7f98cd23ca6abb09e9aabcaf/execroot/envoy/bazel-out/ppc-fastbuild/testlogs/test/common/http/http2/codec_impl_test/shard_5_of_5/test.log
Logs:
shard_1_of_5.log
shard_2_of_5.log
shard_3_of_5.log
shard_4_of_5.log
shard_5_of_5.log
Automatic merge of upstream (release/v1.24) into maistra/envoy (maistra-2.4 branch) failed. cc @maistra/envoy
Description:
Test //test/integration:protocol_integration_test failed with exception
[ RUN ] Protocols/DownstreamProtocolIntegrationTest.ManyRequestHeadersRejected/IPv6_HttpDownstream_HttpUpstream
terminate called after throwing an instance of 'Envoy::Http::CodecProtocolException'
what(): headers size exceeds limit
Environment:
Arch: ppc64le
Os: rhel 7.6
Gcc: 7.3.1
Console Output:
//test/integration:protocol_integration_test FAILED in 3 out of 3 in 181.9s
Stats over 3 runs: max = 181.9s, min = 122.2s, avg = 147.1s, dev = 25.4s
/root/.cache/bazel/_bazel_root/eaf5b044df34a5b8a86c3ffe219d3af9/execroot/envoy/bazel-out/ppc-fastbuild/testlogs/test/integration/protocol_integration_test/shard_3_of_3/test.log
/root/.cache/bazel/_bazel_root/eaf5b044df34a5b8a86c3ffe219d3af9/execroot/envoy/bazel-out/ppc-fastbuild/testlogs/test/integration/protocol_integration_test/shard_2_of_3/test.log
/root/.cache/bazel/_bazel_root/eaf5b044df34a5b8a86c3ffe219d3af9/execroot/envoy/bazel-out/ppc-fastbuild/testlogs/test/integration/protocol_integration_test/shard_1_of_3/test.log
Logs:
shard_2_of_3.test.log
shard_3_of_3.test.log
shard_1_of_3.test.log
Facing issues when build maistra envoy repo.
Environment: ppc64le/UBI 8.4 (RHEL 8.4 based container environment)
Build steps:
yum update -y
yum install -y hostname git tar zip gcc-c++ unzip python3 libtool automake curl wget gcc vim patch binutils bzip2 make tcl gettext
yum install -y cmake3
cmake3 --version
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
wget https://copr.fedorainfracloud.org/coprs/vbatts/bazel/repo/epel-8/vbatts-bazel-epel-8.repo -P /etc/yum.repos.d/
yum install -y bazel
dnf -y --disableplugin=subscription-manager install http://mirror.centos.org/centos/8/BaseOS/ppc64le/os/Packages/centos-gpg-keys-8-2.el8.noarch.rpm http://mirror.centos.org/centos/8/BaseOS/ppc64le/os/Packages/centos-linux-repos-8-2.el8.noarch.rpm https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
cat > /etc/yum.repos.d/centos.repo<<EOF
[local-rhn-server-baseos]
name=Poughkeepsie Client Center Local RHN - RHEL \$releasever \$basearch Server RPMs
baseurl=http://mirror.centos.org/centos-8/8/BaseOS/\$basearch/os/
enabled=1
gpgcheck=0
[local-rhn-server-appstream]
name=Poughkeepsie Client Center Local RHN - RHEL \$releasever \$basearch Server Supplementary RPMs
baseurl=http://mirror.centos.org/centos-8/8/AppStream/\$basearch/os/
enabled=1
gpgcheck=0
EOF
dnf group install -y "Development Tools"
ln -s /usr/bin/python3 /usr/bin/python
dnf install -y hostname python3 wget vim tcl python2 python2-setuptools java-11-openjdk-devel gcc-toolset-9 gcc-toolset-9-gcc gcc-toolset-9-gcc-c++ gcc-toolset-9-libatomic-devel binutils-devel npm
source scl_source enable gcc-toolset-9
ln -s /usr/bin/python3 /usr/bin/python
export CC=/opt/rh/gcc-toolset-9/root/usr/bin/gcc
export CXX=/opt/rh/gcc-toolset-9/root/usr/bin/g++
export PATH=$PATH:/opt/rh/gcc-toolset-9/root/bin/
export LD_LIBRARY_PATH=/opt/rh/gcc-toolset-9/root/usr/lib64:$LD_LIBRARY_PATH
export C_INCLUDE_PATH=/opt/rh/gcc-toolset-9/root/usr/lib/gcc/ppc64le-redhat-linux/9/include/
export CPLUS_INCLUDE_PATH=/opt/rh/gcc-toolset-9/root/usr/lib/gcc/ppc64le-redhat-linux/9/include/
export JAVA_HOME=$(compgen -G '/usr/lib/jvm/java-11-openjdk-*')
export JRE_HOME=${JAVA_HOME}/jre
javac --version
mkdir ~/istio_build/
export SOURCE_ROOT=~/istio_build/
cd $SOURCE_ROOT
git clone git://github.com/ninja-build/ninja.git
cd ninja
git checkout v1.8.2
./configure.py --bootstrap
ln -sf $SOURCE_ROOT/ninja/ninja /usr/local/bin/ninja
cd $SOURCE_ROOT
git clone https://gn.googlesource.com/gn
cd gn
git checkout 992e927e217baa8a74e6e2c5d7417cb65cf24824
python build/gen.py
ninja -C out
ln -sf $SOURCE_ROOT/gn/out/gn /usr/local/bin/gn
curl -O https://oplab9.parqtec.unicamp.br/pub/ppc64el/bazel/ubuntu_18.04/bazel_bin_ppc64le_3.6.0
mv bazel_bin_ppc64le_3.6.0 /usr/local/bin/bazel
chmod 755 /usr/local/bin/bazel
yum install -y git perl-core
git clone https://github.com/openssl/openssl
mv openssl ../
cd ../
cd openssl
git checkout OpenSSL_1_1_1-stable
./config
make
make install
cp libcrypto.so.1.1 libssl.so.1.1 /usr/lib64
cd $SOURCE_ROOT
git clone https://github.com/Maistra/envoy.git
BUILD_VERSION=maistra-2.1
cd envoy/
git checkout $BUILD_VERSION
bazel build -c opt //source/exe:envoy-static --sandbox_debug --verbose_failures --copt "-w" --copt "-DENVOY_IGNORE_GLIBCXX_USE_CXX11_ABI_ERROR=1" --cxxopt=-Wimplicit-fallthrough=0 --cxxopt=-Wno-error=type-limits
Error Logs:
ERROR: /root/.cache/bazel/_bazel_root/bd7c8cff91ab88f7eebbbebfd072b029/external/envoy/bazel/foreign_cc/BUILD:156:21: error executing shell command: '/bin/bash -c #!/usr/bin/env bash
function cleanup_function() {
local ecode=$?
if [ $ecode -eq 0 ]; then
cleanup_on_success
else
cleanup_on_failure
fi
}
set -e
Automatic merge of upstream (main branch) into maistra/envoy (main branch) failed. cc @maistra/envoy
Automatic merge of upstream (release/v1.22 branch) into maistra/envoy (maistra-2.3 branch) failed. cc @maistra/envoy
Automatic merge of upstream (main branch) into maistra/envoy (main branch) failed. cc @maistra/envoy
Automatic merge of upstream (release/v1.24 branch) into maistra/envoy (maistra-2.4 branch) failed. cc @maistra/envoy
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.