Mantis Bugtracker
  

Viewing Issue Advanced Details Jump to Notes ] View Simple ] 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 Platform
Status closed   OS
Projection none   OS Version
ETA none Fixed in Version 4.0.29 Product Version 4.0.23
  Product Build
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)
Steps To Reproduce
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