openresty / openresty/lua-nginx-module
Test case failures on rhel 7.6 ppc64le platform
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 11.8k
- Forks
- 2.1k
- Avg merge
- 6h 1m
- Merged PRs (30d)
- 6
Description
Hi All,
I had build the nginx binary on rhel 7.6 ppc64le (version 1.17.1.1rc0) from source code - https://github.com/openresty/openresty.
Please note that, I had copied and used ppc64le compiled LuaJIT 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-nginx-module' like below -
[root]# pwd
/usr/openresty/openresty_test_modules/lua-nginx-module
[root]# prove -r t
NOTE: The 'lua-nginx-module' source used is the latest one cloned from https://github.com/openresty/lua-nginx-module
# prove -r t/
t/000--init.t .......................
t/000--init.t ....................... ok
t/000-sanity.t ...................... ok
t/001-set.t ......................... 58/286 TEST 18: no ngx.location.capture_multi - WARNING: killing the child process 22600 with force... at /usr/local/share/perl5/Test/Nginx/Util.pm line 609.
t/001-set.t ......................... 69/286 WARNING: TEST 38: user modules using ngx.arg - 2019/10/15 17:08:12 [warn] 22678#0: *1 [lua] _G write guard:12: writing a global lua variable ('foo') which may lead to race conditions between concurrent requests, so prefer the use of 'local' variables
t/001-set.t ......................... 103/286
# Failed test 'TEST 37: globals are shared in all requests. - grep_error_log_out (req 0)'
# at /usr/local/share/perl5/Test/Nginx/Socket.pm line 1149.
# got: ''
# expected: 'writing a global Lua variable ('foo')
# '
WARNING: TEST 37: globals are shared in all requests. - 2019/10/15 17:08:13 [warn] 22706#0: *1 [lua] _G write guard:12: __newindex(): writing a global lua variable ('foo') which may lead to race conditions between concurrent requests, so prefer the use of 'local' variables
t/001-set.t ......................... 280/286 # Looks like you failed 1 test of 286.
t/001-set.t ......................... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/286 subtests
t/002-content.t ..................... ok
t/003-errors.t ...................... ok
t/004-require.t ..................... 25/40 WARNING: TEST 1: sanity - 2019/10/15 17:08:30 [warn] 23497#0: *1 [lua] _G write guard:12: writing a global lua variable ('foo') which may lead to race conditions between concurrent requests, so prefer the use of 'local' variables
t/004-require.t ..................... ok
t/005-exit.t ........................ ok
t/006-escape.t ...................... 17/60 TEST 12: unescape nil - WARNING: killing the child process 24123 with force... at /usr/local/share/perl5/Test/Nginx/Util.pm line 609.
t/006-escape.t ...................... ok
t/007-md5.t ......................... ok
t/008-today.t ....................... ok
t/009-log.t ......................... ok
t/010-request_body.t ................ 29/52 END - WARNING: killing the child process 24865 with force... at /usr/local/share/perl5/Test/Nginx/Util.pm line 609.
t/010-request_body.t ................ ok
t/011-md5_bin.t ..................... 35/36 END - WARNING: killing the child process 24992 with force... at /usr/local/share/perl5/Test/Nginx/Util.pm line 609.
t/011-md5_bin.t ..................... ok
t/012-now.t ......................... ok
t/013-base64.t ...................... ok
t/014-bugs.t ........................ nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
nginx: [crit] ngx_slab_alloc() failed: no memory
Bailout called. Further testing stopped: TEST 28: globals sharing by using _G (log_by_lua*) - Cannot start nginx using command "nginx -p /usr/openresty/openresty_test_modules/lua-nginx-module/t/servroot/ -c /usr/openresty/openresty_test_modules/lua-nginx-module/t/servroot/conf/nginx.conf > /dev/null" (status code 256).
FAILED--Further testing stopped: TEST 28: globals sharing by using _G (log_by_lua*) - Cannot start nginx using command "nginx -p /usr/openresty/openresty_test_modules/lua-nginx-module/t/servroot/ -c /usr/openresty/openresty_test_modules/lua-nginx-module/t/servroot/conf/nginx.conf > /dev/null" (status code 256).
[root ]#
Please help suggest if I need to export any specific environment/setup any additional service or should try any compiler flag/somehow increase timeout value to make these test cases pass?
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 by reproducing prove -r t for lua-nginx-module on RHEL 7.6 ppc64le, focusing on the failures in t/001-set.t and t/014-bugs.t. Inspect the missing global-variable warning and the repeated ngx_slab_alloc() errors, then determine whether the failures are platform-specific or caused by the build environment; done means the cause is identified and the affected tests pass or are clearly documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, lua, nginx
- Domain
- operating-systems, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100