Nginx-LuaJIT core

Umesh Sirsiwal usirsiwal at verivue.com
Wed May 11 02:18:47 MSD 2011


I have not yet run the nginx with valgrind. However, changing the 
original lua file to the following fixes the issue. It turns out the 
output can be 100MB+. I will keep digging.

local prox = 3201
local nrAgent = 8
ngx.print("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
           ngx.print(res.body)
         end
end



On 05/10/2011 05:54 AM, agentzh wrote:
> On Tue, May 10, 2011 at 11:45 AM, Sirsiwal, Umesh<usirsiwal at verivue.com>  wrote:
>> 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:
>>
> Hmm, LuaJIT 2.0 beta7 passes ngx_lua's test suite completely with
> nginx 0.8.54 and 1.0.1 on my Slackware Linux, with or without valgrind
> and/or etcproxy. We cannot reproduce it on our side. Sigh. We cannot
> easily run your config due to your custom C modules which are not
> opensourced and are also open to lurking bugs.
>
> Your backtrace looks so funny that the lua_newthread function returned
> a pointer with the value -1, which is unspecified in the Lua
> documentation and is unlikely to happen. So it's very likely a
> consequence (rather than the real cause) of a corrupted heap that
> might appear much earlier than the crash.
>
> Could you try running your server with the standard Lua 5.1
> interpreter instead? If it does not crash any more, then it's very
> likely a bug in LuaJIT2.0 (or the way ngx_lua interacts with it in
> particular).
>
> Also, please consider running your server with valgrind's memcheck
> tool to see if there's any memory invalid reads/writes prior to the
> crash. Fortunately, valgrind runs very well on Linux, as compared to
> Mac OS X.
>
> Another suggestion is to further minimize your config to exclude your
> own modules such that we can run your sample on our side directly ;)
>
> Regards,
> -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