[uWSGI] Bad file descriptor after reload

Gennady Karpov gennady.karpov at gmail.com
Tue Oct 29 22:36:12 CET 2013


Thanks! This patch solved my problem.

28.10.2013 20:08, Roberto De Ioris пишет:
>> He enters to a loop. Only kill help
> this patch should help:
>
> https://github.com/unbit/uwsgi/commit/b265ed83135b0e708b26be885dd8fadebf4e53cb
>
>
>
>
>
>> 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
>>
>



More information about the uWSGI mailing list