Coder Social home page Coder Social logo

maistra / envoy Goto Github PK

View Code? Open in Web Editor NEW
6.0 6.0 27.0 245.39 MB

License: Apache License 2.0

Starlark 5.49% PureBasic 0.01% C++ 88.37% Go 0.18% Python 1.31% Makefile 0.01% Shell 0.57% C 0.14% Rust 0.09% Dockerfile 0.01% Thrift 0.01% Emacs Lisp 0.01% Jinja 0.10% Batchfile 0.01% JavaScript 0.03% CSS 0.01% HTML 0.01% Smarty 0.01% Kotlin 0.73% Java 2.97%

envoy's People

Contributors

adisuissa avatar alyssawilk avatar asraa avatar augustyniak avatar danzh2010 avatar dependabot[bot] avatar derekargueta avatar dio avatar envoy-bot avatar ggreenway avatar goaway avatar htuch avatar jmarantz avatar jpsim avatar junr03 avatar kbaichoo avatar keith avatar kyessenov avatar lambdai avatar lizan avatar mattklein123 avatar phlax avatar piotrsikora avatar ramaraochavali avatar rebello95 avatar ryantheoptimist avatar snowp avatar wbpcode avatar yanavlasov avatar zuercher avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

envoy's Issues

codec_impl_test failure on ppc64le

//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

Test failures due to memory leak on using moonjit instead of luajit

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?

Build failure with "error executing shell command: '/bin/bash -c #!/usr/bin/env bash"

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

BuildLogs.txt

protocol_integration_test failure on ppc64le

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.