Hi Fred, Finding deadlock or blocking problem is not really easy. Could you open a JIRA issue which attaches a full thread dump of the frozen server?
On 8/23/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
Well, perhaps I didn't use the correct way to signal what I found as a bug or I didn't put the necessary information. So I redo my post and try to get to the essential. I am sure it is my fault since I surely badly explain my problem. I wanted to offer a function to shutdown gracefully the server, that is to say that the server doesn't accept new connection, but does let already connected client to finished correctly their session (which are multi messages related). In the beginning I used: - setDisconnectOnUnbind(false) - unbindAll() - wait in my business logic that all already connected users shutting down - setDisconnectOnUnbind(true) - unbindAll() I've got a lot of freeze (using 6 clients making a lot of messages) in either the first or the second unbindAll(). So I simplify like this: - I am waiting in my business logic that all already connected users shutting down and does not accept new connection by hand (business logic). To make that, when I have the global static boolean shutdown as True, every new connexion are immediately closed by the server. Also, every pending connexion will finished their session, and when finished, the server also closed the connexion. The session used to send the shutdown order is closed immediately after receiving the order. - setDisconnectOnUnbind(true) - unbindAll() I still have easily a freeze in the server during the call to unbindAll(). - If I have only 1 client, unbindAll is never blocking. - If I have 3 to 6 clients, making their stuff, they all disconnected correctly from the server (the server is closing the session itself). I saw that every clients are getting correctly the closed event. But the server often blocks during the call of unbindAll(). I am no able at this time to see where is the problem in MINA. Everything seems ok for me from the point of vue of a programmer using MINA. But I surely make some mistakes since it seems that I am the only one to have this problem. Could it be related to the fact that this is the server that is forcing the close of the session ? The only thing I can tell now is that it is blocling during the call of unbindAll() in the server part. Hope this can help to see where the problem is. However, MINA is really a great job and I search about 3 month to find such a layer ! So thanks to all !
Thank you for using MINA, too! Any feedbacks are welcome! Trustin -- what we call human nature is actually human habit -- http://gleamynode.net/ -- PGP key fingerprints: * E167 E6AF E73A CBCE EE41 4A29 544D DE48 FE95 4E7E * B693 628E 6047 4F8F CFA4 455E 1C62 A7DC 0255 ECA6
