tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Thomas <ma...@apache.org>
Subject Re: 7.0.22+ fd leak with APR/native
Date Fri, 06 Jan 2012 20:28:24 GMT
On 06/01/2012 20:13, Konstantin Kolinko wrote:
> 2012/1/6 Mark Thomas <markt@apache.org>:
>>> So it looks that not only the if(), but the whole r944518 change in
>>> AprEndpoint has to be reverted.
>>
>> That looks OK to me. I'll do that but run the TCKs as a double check.
>>
> 
> I am running TestCometProcessor tests with this very change just now. ;)
> 
> (My plan is to reenable TestCometProcessor - that is revert
> http://svn.apache.org/viewvc?rev=1225632&view=rev
> but with the following change in testCometConnectorStop():
> 
> - Do not ask reader thread whether END event message was received
> over the wire, but ask the servlet directly whether the last CometEvent
> that it processed was EventType.END.  I think it would be more reliable.
> )

I'm not keen on that idea since the point of the test was to ensure that
the END event was received by the client, not that it was processed by
the Server.

> The NIO connector is OK, but I observe an issue with APR one:
> 
> In testCometConnectorStop() the test fails:
> 
> [[[
> junit.framework.AssertionFailedError: No exception in writing thread
> 	at org.apache.catalina.comet.TestCometProcessor.testCometConnectorStop(TestCometProcessor.java:289)
> ]]]
> 
> So no SocketException happens in the WriterThread.  At the same time
> when I ask SimpleCometServlet for the last event that it received it
> is EventType.END.
> 
> My thought is that the WriterThread does not see that the socket that
> it writes to has been closed.
> 
> (It probably is not of much concern because it happens at shutdown,
> but it might be that we are still missing something).

I'd be happy for the lack of a WriterThread exception to trigger a log
message rather than a test failure.

Mark

> I thought that maybe during shutdown the
> #processSocket(long,SocketStatus) that uses an executor to run the
> event did not have chance to run,  but because the END event was
> received by servlet I think that it did run.
> 
> Best regards,
> Konstantin Kolinko
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message