jkeys089 / lua-resty-hmac

HMAC functions for ngx_lua and LuaJIT

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

使用master的0.04版本报错,描述如下

xz794273799 opened this issue · comments

2020/04/15 19:34:18 [error] 7#7: *53 lua entry thread aborted: runtime error: /usr/local/openresty/lualib/resty/hmac.lua:106: size of C type is unknown or too large at line 39
stack traceback:
coroutine 0:

@xz794273799 could you please provide some information about your environment -- specifically the version of OpenSSL you're using?

RESTY_VERSION="1.13.6.2"
RESTY_OPENSSL_VERSION="1.0.2k"

Others of environment :
I am running in docker contrainer base on openresty1.13.6.2-centos7 image.
Docker version: 18.05.0-ce, build f150324
Openresty version:
nginx version: openresty/1.13.6.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)
built with OpenSSL 1.0.2k 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/openresty/nginx --with-cc-opt=-O2 --add-module=../ngx_devel_kit-0.3.0 --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.2rc3 --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=../srcache-nginx-module-0.31 --add-module=../ngx_lua-0.10.13 --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.5 --with-ld-opt=-Wl,-rpath,/usr/local/openresty/luajit/lib --with-openssl=/tmp/openssl-1.0.2k --with-pcre=/tmp/pcre-8.43 --with-file-aio --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_geoip_module=dynamic --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-http_xslt_module=dynamic --with-ipv6 --with-mail --with-mail_ssl_module --with-md5-asm --with-pcre-jit --with-sha1-asm --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-threads --with-dtrace-probes --add-module=/tmp/ngx_cache_purge-2.3 --add-module=/tmp/nginx_upstream_check_module-master --with-stream --with-stream_ssl_module

@xz794273799 thanks, this is helpful. Would it be possible to share your Dockerfile? I can try to recreate the issue and see if I can understand what's going on.

By the way. I switch to v0.03, It’s no problem.

@xz794273799 there is a lot going on in your Dockerfile. Unfortunately, the issue isn't obvious to me after looking through the file. Would it be an option to base your image off the official OpenResty CentOS image? I was able to successfully run all tests using that image by modifying our Dockerfile as:

FROM openresty/openresty:centos

WORKDIR /app

RUN yum install -y make cpanminus && cpanm -n Test::Nginx

Then running docker-compose up.

i meet the same proble,please help me,thx

this appears to be an issue with 1) when using openssl 1.0.x and 2) use with other libraries that explictly typedef EVP_MD_CTX to env_md_ctx_st and they are loaded before this library (from what i can see it's the case for evp.lua from lua-resty-jwt and aes.lua from lua-resty-string)