You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2015/07/02 03:28:26 UTC
[Bug 57943] NioEndpoint, one poller thread died
https://bz.apache.org/bugzilla/show_bug.cgi?id=57943
sunqi <su...@163.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|FIXED |---
Status|RESOLVED |REOPENED
--- Comment #3 from sunqi <su...@163.com> ---
(In reply to Mark Thomas from comment #2)
> I have added the work-around to trunk (for 9.0.x), 8.0.x (for 8.0.24
> onwards) and 7.0.x (for 7.0.63 onwards).
>
> I suspect a JVM bug so I am resolving this as FIXED. If we discover it is a
> Tomcat bug we can always re-open.
we know the reason why poller thread died,as this bug
https://bz.apache.org/bugzilla/show_bug.cgi?id=57340
we use async servlet, many request is async timeout,at the same time,async
servlet calls complete or dispatch
nioChannels cache contain 2 references to the same object,and two request will
use same NioChannel,and poller object will replace by other request
wo also find a new place put the same NioChannel and AttachmentKey into caches.
} else if (handshake == -1 ) {
if (key != null) {
socket.getPoller().cancelledKey(key,
SocketStatus.DISCONNECT);
}
if (running && !paused) {
nioChannels.push(socket);
}
socket = null;
if (running && !paused) {
keyCache.push(ka);
}
ka = null;
}
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org