--prefix=/home/dev/openresty/nginx
--with-cc-opt=-O2
--add-module=../ngx_devel_kit-0.3.0
--add-module=../echo-nginx-module-0.60
--add-module=../xss-nginx-module-0.05
--add-module=../ngx_coolkit-0.2rc3
--add-module=../set-misc-nginx-module-0.31
--add-module=../form-input-nginx-module-0.12
--add-module=../encrypted-session-nginx-module-0.06
--add-module=../srcache-nginx-module-0.31
--add-module=../ngx_lua-0.10.7 --add-module=../ngx_lua_upstream-0.06
--add-module=../headers-more-nginx-module-0.32 --add-module=../array-var-nginx-module-0.05
--add-module=../memc-nginx-module-0.17 --add-module=../redis2-nginx-module-0.13
--add-module=../redis-nginx-module-0.3.7 --add-module=../rds-json-nginx-module-0.14
--add-module=../rds-csv-nginx-module-0.07 --with-ld-opt=-Wl,-rpath,/home/dev/openresty/luajit/lib --with-pcre-jit
--with-ipv6 --with-stream --with-stream_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module
--with-http_auth_request_module --with-http_secure_link_module --with-http_random_index_module --with-http_gzip_static_module
--with-http_sub_module --with-http_dav_module --with-http_gunzip_module --with-dtrace=/usr/sbin/dtrace --with-dtrace-probes --with-threads
--with-file-aio --with-openssl=/home/dev/openssl-1.0.2h --with-http_ssl_module
加了dtrace 还是不行
在 2017年5月24日星期三 UTC+8下午12:28:22,周舟写道:
多谢多谢!
在 2017年5月24日星期三 UTC+8上午11:28:01,Zexuan Luo写道:
ngx-leaked-pools 需要 OpenResty 在编译时指定 --with-dtrace-probes……
不知道之前说的 gdb lgcstat,在修改了代码之后能否成功工作呢?
lj-gc-objs 遇到的问题跟 lgcstat 是一样的
把 luajit_jit_state_size 开头跟 K64Array 相关的去掉试试?
相关的讨论见:
https://github.com/openresty/openresty-gdb-utils/issues/11在 2017年5月23日星期二 UTC+8下午2:01:08,周舟写道:
感觉大部分要用的工具都有些问题
在 2017年5月23日星期二 UTC+8下午1:52:59,周舟写道:
[dev@tservice stap-toolkit]$ sudo ./ngx-leaked-pools -p 8965
semantic error: while resolving probe point: identifier 'process' at <input>:9:7
source: probe process("/home/dev/openresty/nginx/sbin/nginx").provider("nginx").mark("create-pool-done")
^
semantic error: no match
在 2017年5月23日星期二 UTC+8上午11:42:29,周舟写道:
当使用stapxx时出现在下面的错误 请问是同样的原因么?
Found exact match for libluajit: /home/dev/openresty/luajit/lib/libluajit-5.1.so.2.1.0
semantic error: while processing function luajit_jit_state_size
semantic error: invalid access '->ptr32' for array type: operator '->' at stapxx-Hrpqk7s6/luajit.stp:312:97
source: for (k = @cast(J, "jit_State", "/home/dev/openresty/luajit/lib/libluajit-5.1.so.2.1.0")->k64->ptr32; k; ) {
^
Pass 2: analysis failed. [man error::pass2]
在 2017年5月23日星期二 UTC+8上午12:45:21,Zexuan Luo写道:
我看了下,应该是 LuaJIT 的内部变化导致 gdb 命令失效了。已经向春哥报告了相关的问题。
你可以先把 luajit21.py#2508 这一行的 jit_state_sz 改成 `jit_state_sz = 0`。即使在这个命令能工作的时候,jit_stack 所占大小变化也不大。
在 2017年5月22日星期一 UTC+8下午4:57:59,周舟写道:
(gdb) lgcstat
Python Exception <class 'gdb.error'> There is no member named ptr32.:
Error occurred in Python command: There is no member named ptr32.
在 2017年5月21日星期日 UTC+8上午1:09:39,Zexuan Luo写道: