Nginx-LuaJIT core

Sirsiwal, Umesh usirsiwal at verivue.com
Tue May 10 07:45:59 MSD 2011


Thanks agentzh,

Here is some additional information:
This does not happen on every request. It happens 2-3 hours running 2000-16000 requests/sec (Lua and Nginx rock:))

We are using CentOS 5.6 with 2.6.32-16 based Kernel. 

nginx -V
We have two custom modules which act as content handler:

nginx: nginx version: nginx/1.0.1
nginx: built by gcc 4.1.2 20080704 (Red Hat 4.1.2-50)
nginx: TLS SNI support disabled
nginx: configure arguments: --prefix=/usr/local/CoBlitz/nginx --add-module=../../../CoAgentMod/copass_module --add-module=../../../CoAgentMod/coagent_mon_module --with-http_secure_link_module --with-http_stub_status_module --without-http_autoindex_module --without-http_auth_basic_module --without-http_split_clients_module --without-http_uwsgi_module --without-http_scgi_module --without-http_memcached_module --without-http_empty_gif_module --without-http_charset_module --without-http_userid_module --with-http_ssl_module --with-debug --add-module=../agentzh-headers-more-nginx-module --add-module=../agentzh-memc-nginx-module --add-module=../chaoslawful-lua-nginx-module --add-module=../simpl-ngx_devel_kit --add-module=../ngx_http_upstream_keepalive --add-module=../nginx-upstream-carp


The following is the only location which uses access.
  location / {
        limit_except GET{
          deny all;
        }
        set $lua_acess_url $copass_access_url;
        set $lua_access_type $copass_access_type;
        set $copass_url_suffix '';
        access_by_lua_file 'lua/access.lua';
        copass;
}

The variables copass_access_url and access_type set by our C module. In this case access_type returns 0:
Here is the access.lua:

function accesscheck()
   local access_type = ngx.var['lua_access_type']
 
  
   if(access_type ~= nil and access_type ~= '') then
    .... Other access type handling
   end
end

accesscheck()


We also periodically make request to another HTTP location served by Lua: The location configuration is:
----
   location / {
         content_by_lua_file 'lua/comon.lua' ;
   }
---
The comon.lua looks like:

local prox = 3201
local nrAgent = 8
output = "coblitzstat\n"
for p = prox, prox+nrAgent-1 do
        local l = "/prox" .. p .. ngx.var['request_uri']
        print("copass: fetching location " .. l)
        local res = ngx.location.capture(l)

        if (res.status ~= ngx.HTTP_OK and res.status ~= 504) then
          return(res.status)
        end
        if(res.status == ngx.HTTP_OK and string.len(res.body) > 0) then
          output = output .. res.body
        end
end
ngx.print(output)

-- 

output can be rather large (10s of MB). 

-Umesh

________________________________________
From: agentzh [agentzh at gmail.com]
Sent: Monday, May 09, 2011 11:17 PM
To: nginx-devel at nginx.org
Subject: Re: Nginx-LuaJIT core

On Tue, May 10, 2011 at 10:57 AM, Sirsiwal, Umesh <usirsiwal at verivue.com> wrote:
> I am receiving the following core using LuaJIT-2.0 Beta7. and chaoslawful-lua-nginx-module-v0.1.5rc2. I receive similar crash with chaoslawful-lua-nginx-module-v0.1.6rc6. Note that the newly created coroutine is set to -1.
>

Thank you for the report, but we need more information for this issue ;)

It'll be great if you can provide

1. the minimized version of your nginx.conf that can reproduce this problem,
2. the operating system you're using,
3. and the output of your "nginx -V"

Thanks!
-agentzh

_______________________________________________
nginx-devel mailing list
nginx-devel at nginx.org
http://nginx.org/mailman/listinfo/nginx-devel



More information about the nginx-devel mailing list