[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GSTcpPort(getFds:count:)
From: |
Richard Frith-Macdonald |
Subject: |
Re: GSTcpPort(getFds:count:) |
Date: |
Mon, 21 Jul 2003 18:21:12 +0100 |
On Monday, July 21, 2003, at 05:19 PM, Stefan Böhringer wrote:
In a DO application (Zillion) I run into the following exception.
2003-07-21 18:07:53.938 zillion[13067] GSTcpPort.m:1697 Assertion
failed in GSTcpPort(instance), method getFds:count:.
NSInternalInconsistencyException
Meanwhile, but perhaps in advance a remote process displays:
2003-07-21 18:07:53.961 zillionClient[13082] connect attempt failed -
Connection refused
2003-07-21 18:07:53.961 zillionClient[13082] Port operation timed out -
proxy release
From the source code this exception seems to be raised when a lot of
file descriptors are open. I'm not aware of any leaks but since the
error is reproducable this could be so. If anybody knows (Richard ?)
how
large is the array usually provided to this method by the runloop?
The runloop provides an array size of 128 ... so you will get this
exception
if you have connections to more than 128 processes.
If you have fewer processes than this, I think we should start looking
to
see if we have a leak of handles somehow.
If you *do* have this number of processes, a quick hack is to change the
size of the array in NSRunLoop.m ... but perhaps we should actually look
at redesigning the interaction between the run loop and the port a bit.