Re: runzeo.py exit with unexpected exit code
Jason Madden <[email protected]>
| Newsgroups | gmane.comp.web.zope.zodb |
|---|---|
| Message-ID | <[email protected]> |
> On Apr 6, 2017, at 04:22, Etienne Robillard <[email protected]> wrote: > > I found a relevant traceback in my log file: > > 2017-04-05 09:42:48,008 DEBG 'mainapp' stdout output: > Exception in thread Connect([(2, ('127.0.0.1', 4343))]): > Traceback (most recent call last): > File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner > self.run() > File "/home/erob/ncvs/ZODB/src/ZEO/zrpc/client.py", line 264, in run > success = self.try_connecting(attempt_timeout) > File "/home/erob/ncvs/ZODB/src/ZEO/zrpc/client.py", line 295, in try_connectin > g > r = self._connect_wrappers(wrappers, deadline) > File "/home/erob/ncvs/ZODB/src/ZEO/zrpc/client.py", line 343, in _connect_wrap > pers > r, w, x = select.select([], connecting, connecting, 1.0) > File "/home/erob/gevent-1.2.1/src/gevent/select.py", line 141, in select > sel_results = _original_select(rlist, wlist, xlist, 0) > ValueError: filedescriptor out of range in select() This error means either one of the file descriptors is negative, or one of the file descriptors is greater than the compile-time constant FD_SETSIZE[1]. FD_SETSIZE is commonly (well, on two systems I checked) defined to be 1024[2]. Since you say that "[t]he issue seem to occur on high load", it seems likely that the file descriptor is too large. That is, you have too large a number of connections open concurrently...that, or there's a file descriptor/socket/connection leak in the code. Running `lsof` against the process might reveal information about the connections and file descriptors when you see this error. Or since you seem to be running with a source checkout of gevent, you could modify it to report the file descriptors when you see this error. As an aside, prior to gevent 1.2a1[3], gevent would handle this situation differently than the stdlib...sometimes that was a good thing (depending on system configuration), but just as often it could be a very bad thing. [1] https://github.com/python/cpython/commit/fda7b379acde3ad60bbd42acb6da7e7099d25133 [2] https://access.redhat.com/solutions/488623 [3] http://www.gevent.org/changelog.html#select-poll -- You received this message because you are subscribed to the Google Groups "zodb" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.