有人说现在生产的nginx工作进程一段时间就要崩溃一次,表现现象就是pid号不连续,启动时间混乱
我打开core文件生成且使用如下命令查看core信息
gdb /usr/local/openresty/nginx/sbin/nginx ./core
输出如下内容:
#0 ngx_http_lua_ngx_req_raw_header (L=0x41d20378) at ../ngx_lua-0.10.5/src/ngx_http_lua_headers.c:125
#1 0x00007fc993684fe7 in lj_BC_FUNCC () from /usr/local/openresty/luajit/lib/libluajit-5.1.so.2
#2 0xfffffffb41d2d248 in ?? ()
但是这里只能输出错误行,不知道请求上下文.没法知道是什么样请求造成的..
ngx_http_lua_headers.c:125 内容为
if (mr->request_line.data[mr->request_line.len] == CR) {
line_break_len = 2;
} else {
line_break_len = 1;
}
从表明上看应该是请求长度和实际请求长度不一样