Mantis Bugtracker
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0004822 [Resin] minor always 10-24-11 16:10 06-15-12 14:05
Reporter alex View Status public  
Assigned To ferg
Priority normal Resolution fixed  
Status closed   Product Version 4.0.23
Summary 0004822: java.lang.IllegalStateException: COMET_SUSPEND_KA TcpSocketLink[id=http://*:8081-17,http://*:8081,COMET_SUSPEND_KA]
Description rep by Elliot Barlas
[11-10-24 15:37:33.059] {http://*:8081-17} [^] TcpSocketLink[id=http://*:8081-17,http://*:8081,COMET_SUSPEND_KA] [^] start thread http://*:8081-17 [^] (count=17, idle=0)
[11-10-24 15:37:33.059] {http://*:8081-6} [^] TcpSocketLink[id=http://*:8081-6,http://*:8081,CLOSED] [^] finish thread: http://*:8081-6 [^]
[11-10-24 15:37:33.060] {http://*:8081-17} [^] TcpSocketLink[id=http://*:8081-17,http://*:8081,COMET_SUSPEND_KA] [^] destroying connection
[11-10-24 15:37:33.060] {http://*:8081-2} [^] TcpSocketLink[id=2,default] closing connection TcpSocketLink[id=http://*:8081-2,http://*:8081,CLOSED], [^] total=27
[11-10-24 15:37:33.060] {http://*:8081-17} [^] java.lang.IllegalStateException: COMET_SUSPEND_KA TcpSocketLink[id=http://*:8081-17,http://*:8081,COMET_SUSPEND_KA] [^]
                                                at com.caucho.network.listen.SocketLinkState$9.toClosed(SocketLinkState.java:347)
                                                at com.caucho.network.listen.TcpSocketLink.closeConnection(TcpSocketLink.java:1531)
                                                at com.caucho.network.listen.TcpSocketLink.destroy(TcpSocketLink.java:765)
                                                at com.caucho.network.listen.TcpSocketLink.handleDestroyTask(TcpSocketLink.java:947)
                                                at com.caucho.network.listen.DestroyTask.doTask(DestroyTask.java:55)
                                                at com.caucho.network.listen.ConnectionTask.runThread(ConnectionTask.java:97)
                                                at com.caucho.network.listen.ConnectionTask.run(ConnectionTask.java:80)
                                                at com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:164)
                                                at com.caucho.env.thread.ResinThread.run(ResinThread.java:130)
Additional Information
Attached Files  jvm-default.log.10sockets [^] (194,883 bytes) 10-24-11 16:10

- Relationships

- Notes
(0005578)
alex
10-24-11 16:11

Servlet:

package qa;
import java.io.*;

import java.util.concurrent.*;

import javax.servlet.*;
import javax.servlet.annotation.*;
import javax.servlet.http.*;

@WebServlet(asyncSupported = true, urlPatterns = "/async*")
    public class TestServlet extends HttpServlet {

        private ScheduledThreadPoolExecutor scheduler = new ScheduledThreadPoolExecutor(5);

 @Override
     protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     final AsyncContext context = request.startAsync();

     Runnable runnable = new Runnable() {
             public void run() {
                 ((HttpServletResponse)context.getResponse()).setStatus(202);
                 context.complete();
             }
         };

     scheduler.schedule(runnable, 5, TimeUnit.SECONDS);
 }

    }
 
(0005579)
alex
10-24-11 16:11

client:

import java.io.*;
import java.net.*;

public class X {
    public static void main(String[] args) throws Exception {
        Socket[] sockets = new Socket[10];
        for(int i=0; i<sockets.length; i++) {
            sockets[i] = new Socket("debosx", 8080);
        }

        int n=1;
        while(true) {
            for(int i=0; i<sockets.length; i++) {
                String request = "GET /async-1.0.0-SNAPSHOT HTTP/1.1\r\nHost: localhost\r\nAccept: */*\r\n\r\n";
                sockets[i].getOutputStream().write(request.getBytes());
                sockets[i].getOutputStream().flush();
                System.out.println("sent request on socket " + (i+1));
            }

            for(int i=0; i<sockets.length; i++) {
                byte[] input = new byte[2048];
                long time = System.currentTimeMillis();
                int read = sockets[i].getInputStream().read(input);
                long duration = System.currentTimeMillis() - time;
                System.out.println("received " + read + " bytes in response on socket " + (i+1) + ", read time = " + duration);
            }

            System.out.println("finished iteration " + (n++) + ", sleeping...");
            Thread.sleep(1000);
        }
    }
}
 
(0005858)
ferg
06-15-12 14:05

server/1le0
 

- Issue History
Date Modified Username Field Change
10-24-11 16:10 alex New Issue
10-24-11 16:10 alex File Added: jvm-default.log.10sockets
10-24-11 16:11 alex Note Added: 0005578
10-24-11 16:11 alex Note Added: 0005579
06-15-12 14:05 ferg Note Added: 0005858
06-15-12 14:05 ferg Assigned To  => ferg
06-15-12 14:05 ferg Status new => closed
06-15-12 14:05 ferg Resolution open => fixed
06-15-12 14:05 ferg Fixed in Version  => 4.0.29


Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
34 total queries executed.
28 unique queries executed.
Powered by Mantis Bugtracker