Uploaded image for project: 'MINA'
  1. MINA
  2. DIRMINA-241

Calling other session's write() in messageReceived() handler causes deadlock when a SSLFilter is used.

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.0.0, 1.0.1, 1.0.2
    • Fix Version/s: 1.0.3
    • Component/s: Filter
    • Labels:
      None

      Description

      Hello,
      Could you advise for me about this problem.
      I attached server thread thumb.

      I run the server , There are many clients,

      When I use session.write , it happened deadlock.
      I don't know why~

      > this is some sample about multicast.
      public void multicast(String channelName, Object message) {
      if (!(message instanceof ByteBuffer))

      { return; }

      ByteBuffer rb = (ByteBuffer) message;
      // try{
      GameRoom channel = RoomManager.getRoom(channelName);
      List list = (List) channel.getUsers();
      Iterator it = list.iterator();
      while (it.hasNext())

      { ByteBuffer buf = rb.duplicate(); User user = (User) it.next(); WrteFuture future = users.getSession().write(buf); future.join(); }

      rb.release();
      // }catch(Throwable t)

      { // }

      }

        Attachments

          Activity

            People

            • Assignee:
              trustin Trustin Lee
              Reporter:
              ncanis ncanis
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: