[uWSGI] Bad file descriptor after reload

André Cruz andre.cruz at co.sapo.pt
Mon Oct 28 17:32:32 CET 2013


I have seen something similar before: https://github.com/unbit/uwsgi/issues/272#issuecomment-17662236

As I use touch-chain-reload now, I have dodged this issue.

André

On 28 Oct 2013, at 16:05, Gennady Karpov <gennady.karpov at gmail.com> wrote:

> He enters to a loop. Only kill help.
> 
> 28.10.2013 19:40, Roberto De Ioris пишет:
>>> Hello,
>>> 
>>> Sometimes, after reload uwsgi, i get a repeating error in log 'kevent():
>>> Bad file descriptor [core/event.c line 904]' and cpu usage 200%.
>>> 
>>> Configuration:
>>> 
>>> uWSGI 1.9.18.2 on FreeBSD
>>> 
>>> [uwsgi]
>>> buffer-size = 65535
>>> carbon = 1.2.3.4:2003
>>> carbon-id = test
>>> carbon-no-workers = true
>>> chdir = /home/test/frontend
>>> cheaper = 8
>>> cheaper-algo = busyness
>>> cheaper-busyness-multiplier = 12
>>> cheaper-initial = 16
>>> cheaper-overload = 5
>>> cheaper-step = 4
>>> harakiri = 60
>>> harakiri-verbose = true
>>> master = true
>>> module = frontend.wsgi
>>> no-orphans = true
>>> processes = 256
>>> single-interpreter = true
>>> thunder-lock = true
>>> vacuum = true
>>> 
>>> Stack trace in gdb:
>>> 
>>> (gdb) bt
>>> #0  event_queue_wait_multi (eq=524, timeout=1, events=0x802cfa600,
>>> nevents=1) at core/event.c:899
>>> #1  0x000000000044af0c in uwsgi_stats_pusher_loop (ut=0x802152780) at
>>> core/stats.c:442
>>> #2  0x0000000000431516 in uwsgi_thread_run (arg=0x802152780) at
>>> core/utils.c:3613
>>> #3  0x0000000800a61d44 in pthread_getprio () from /lib/libthr.so.3
>>> #4  0x0000000000000000 in ?? ()
>>> (gdb) f 0
>>> #0  event_queue_wait_multi (eq=524, timeout=1, events=0x802cfa600,
>>> nevents=1) at core/event.c:899
>>> 899                     ret = kevent(eq, NULL, 0, (struct kevent *)
>>> events, nevents, &ts);
>>> (gdb) list
>>> 894                     ret = kevent(eq, NULL, 0, events, nevents, NULL);
>>> 895             }
>>> 896             else {
>>> 897                     memset(&ts, 0, sizeof(struct timespec));
>>> 898                     ts.tv_sec = timeout;
>>> 899                     ret = kevent(eq, NULL, 0, (struct kevent *)
>>> events, nevents, &ts);
>>> 900             }
>>> 901
>>> 902             if (ret < 0) {
>>> 903                     if (errno != EINTR)
>>> 
>>> Thanks!
>>> 
>>> _______________________________________________
>>> uWSGI mailing list
>>> uWSGI at lists.unbit.it
>>> http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
>>> 
>> Does the "storm" ends after a bit and the server reloads normally or it
>> enters a loop ?
>> 
> 
> _______________________________________________
> uWSGI mailing list
> uWSGI at lists.unbit.it
> http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 496 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.unbit.it/pipermail/uwsgi/attachments/20131028/15048b6d/attachment.pgp>


More information about the uWSGI mailing list