To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=94345


User fs changed the following:

                What    |Old value                 |New value
================================================================================
                      CC|''                        |'mba'
--------------------------------------------------------------------------------




------- Additional comments from [EMAIL PROTECTED] Thu Sep 25 19:50:49 +0000 
2008 -------
fs->kso: I am actually not sure you're really the right owner of this issue ...

There are two problems here. One is in Acceptor::run in desktop/source/offacc:
This is set up to accept an arbitrary number of incoming connections, by calling
XAcceptor::accept on an Acceptor instance created from the value of the
"-accept=" command line argument.

Unfortunately, this call to XAcceptor::accept raises a ConnectionSetupException
- not because it is unable to connect to a client which tried to establish a
connection, but because it could not even open the pipe which it would use to
listen for incoming connection requests.
Sadly, Acceptor::run ignores those exceptions, and continuously calls
XAcceptor::accept. This would be right if the exception were because a
particular incoming connection could not be accepted, but in this situation, it
is actually wrong. That is, since the named pipe is already blocked by another
process, subsequent attempts to use it will all fail - this way a complete CPU
is busy with just cycling through the loop, continuously failing to create the 
pipe.


The second problem, and this is why I initially assigned this to you who you
seem to have stakes in the "io" module, is that there's a memory leak in the
pipe acceptor implementation.
That is, with every exception raised in PipeAcceptor::init
(io/source/acceptor/acc_pipe.cxx), a small amount of memory is lost, which is
the cause for the steadily increasing memory consumption of the process.


So, I think two bugs need to be fixed:
- Acceptor::run needs to distinguish exceptions related to a particular
  incoming connection from exceptions caused by the unavailability of the
  resource which establishes the acceptor.
  Otherwise, the thread will run continuously, blocking a complete CPU/core
- the PipteAcceptor implementation needs to fix its memory leak

---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to