openresty / openresty/lua-resty-core
Test case failures on rhel7.6 ppc64le platform
Nobody has claimed this yet.
- Dominant language
- Lua
- Stars
- 853
- Forks
- 286
- Avg merge
- 35m
- Merged PRs (30d)
- 1
Description
Hi All,
I had build the nginx binary on rhel 7.6 ppc64le (version 1.17.1.1rc0) from openresty source code - https://github.com/openresty/openresty
Please note that, I had copied and used ppc64le compiled LuaJIT source code while building openresty (nginx).
Below command I used to compile the openresty -
./configure --with-cc-opt="-DNGX_LUA_USE_ASSERT -DNGX_LUA_ABORT_AT_PANIC" --with-http_image_filter_module --with-http_dav_module --with-http_auth_request_module --with-poll_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_ssl_module --with-http_iconv_module --with-http_drizzle_module --with-http_postgres_module --with-http_addition_module --add-module=/usr/openresty/openresty_test_modules/nginx-eval-module --add-module=/usr/openresty/openresty_test_modules/replace-filter-nginx-module
And then tried to execute the test cases for 'lua-resty-core' like below -
# pwd
/usr/santosh/openresty/openresty/openresty-1.17.1.1rc0/build/lua-resty-core-0.1.17
# prove -I/usr/santosh/openresty/test-nginx/lib/ -r t
NOTE: The lua-resty-core version downloaded from openresty bundle is 0.1.17.
But I am getting below kind of errors -
Around 8 test case failures related to timer manipulation -
t/balancer-timeout.t ............... 1/88
# Failed test 'TEST 1: set_timeouts - grep_error_log_out (req 0)'
# at /usr/openresty/test-nginx/lib/Test/Nginx/Socket.pm line 1145.
# ''
# doesn't match '(?^:\Aevent timer add: \d+: 1234:
# event timer add: \d+: 5678:
# event timer add: \d+: 7689:
# \z)'
# Looks like you failed 8 tests of 88.
t/balancer-timeout.t ............... Dubious, test returned 8 (wstat 2048, 0x800)
Failed 8/88 subtests
# Failed test 'TEST 11: keepalive after balancer - grep_error_log_out (req 0)'
# at /usr/openresty/test-nginx/lib/Test/Nginx/Socket.pm line 1149.
# @@ -1,5 +0,0 @@
# -free keepalive peer: saving connection
# -get keepalive peer: using connection
# -free keepalive peer: saving connection
# -get keepalive peer: using connection
# -free keepalive peer: saving connection
# Failed test 'TEST 11: keepalive after balancer - grep_error_log_out (req 1)'
# at /usr/openresty/test-nginx/lib/Test/Nginx/Socket.pm line 1149.
# @@ -1,6 +0,0 @@
# -get keepalive peer: using connection
# -free keepalive peer: saving connection
# -get keepalive peer: using connection
# -free keepalive peer: saving connection
# -get keepalive peer: using connection
# -free keepalive peer: saving connection
t/balancer.t ....................... 135/154 # Looks like you failed 2 tests of 154.
t/balancer.t ....................... Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/154 subtests
And other set of errors shows invalid index for 'opt' field -
t/count.t .......................... nginx: [error] init_by_lua error: init_by_lua:12: attempt to index field 'opt' (a nil value)
stack traceback:
init_by_lua:12: in main chunk
nginx: [error] init_by_lua error: init_by_lua:12: attempt to index field 'opt' (a nil value)
stack traceback:
init_by_lua:12: in main chunk
Bailout called. Further testing stopped: TEST 1: module size - Cannot start nginx using command "nginx -p /usr/openresty/openresty/openresty-1.17.1.1rc0/build/lua-resty-core-0.1.17/t/servroot/ -c /usr/openresty/openresty/openresty-1.17.1.1rc0/build/lua-resty-core-0.1.17/t/servroot/conf/nginx.conf > /dev/null" (status code 256).
Please help suggest if I need to export any specific environment variable or should try any compiler flag/somehow increase timeout value to make these test cases pass.
Let me know if I should share more information which could help in resolving these test failures.
nginx version (compiled with libdrizzle 1.0 and radius, mariadb, postgresql services setup) -
# nginx -V
nginx version: openresty/1.17.1.1rc0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/openresty/nginx --with-cc-opt='-O2 -DNGX_LUA_USE_ASSERT -DNGX_LUA_ABORT_AT_PANIC' --add-module=../ngx_devel_kit-0.3.1rc1 --add-module=../iconv-nginx-module-0.14 --add-module=../echo-nginx-module-0.61 --add-module=../xss-nginx-module-0.06 --add-module=../ngx_coolkit-0.2 --add-module=../set-misc-nginx-module-0.32 --add-module=../form-input-nginx-module-0.12 --add-module=../encrypted-session-nginx-module-0.08 --add-module=../drizzle-nginx-module-0.1.11 --add-module=../ngx_postgres-1.0 --add-module=../srcache-nginx-module-0.31 --add-module=../ngx_lua-0.10.15 --add-module=../ngx_lua_upstream-0.07 --add-module=../headers-more-nginx-module-0.33 --add-module=../array-var-nginx-module-0.05 --add-module=../memc-nginx-module-0.19 --add-module=../redis2-nginx-module-0.15 --add-module=../redis-nginx-module-0.3.7 --add-module=../rds-json-nginx-module-0.15 --add-module=../rds-csv-nginx-module-0.09 --add-module=../ngx_stream_lua-0.0.7 --with-ld-opt=-Wl,-rpath,/usr/local/openresty/luajit/lib --with-http_image_filter_module --with-http_dav_module --with-http_auth_request_module --with-poll_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_ssl_module --with-http_addition_module --add-module=/usr/openresty/openresty_test_modules/nginx-eval-module --add-module=/usr/openresty/openresty_test_modules/replace-filter-nginx-module --with-stream --with-stream_ssl_preread_module
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with t/balancer-timeout.t, t/balancer.t, and t/count.t, then inspect the reported failures through test-nginx/lib/Test/Nginx/Socket.pm. Reproduce the tests on RHEL 7.6 ppc64le with the stated OpenResty and LuaJIT versions, compare the timer, keepalive, and opt-field failures, and establish whether the result is a platform or build-configuration issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux, lua, nginx
- Domain
- backend, operating-systems, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100