Created attachment 25728 [details] testcase demonstrating the bug when starting a new thread from a startAsync Runnable, an infinite amount of doPosts is generated. Also, the GET status is: 500 Internal Server Error, however, there is no exception thrown by tomcat. The attached code demonstrates this, by printing "Start async()" an infinite amount of times.
Looks like you attached the wrong test case to this report.
(In reply to comment #1) > Looks like you attached the wrong test case to this report. Dear Mark, why do you think this is the wrong test case? Are you not able to reproduce the problem with it? Kind regards, Pieter
Because at first glance the test case appears to be identical to the previous bug you reported and there is no reference in it to doPost which you refer to in both the title and the description. On closer inspection I see there are differences but I am still confused about the references to doPost in the title and description.
(In reply to comment #3) > Because at first glance the test case appears to be identical to the previous > bug you reported and there is no reference in it to doPost which you refer to > in both the title and the description. On closer inspection I see there are > differences but I am still confused about the references to doPost in the title > and description. I'm sorry for the confusion, please replace doPost by doGet.
I've converted the attached test case to a Tomcat 7 unit test and can reproduce the issue. Looking at it now...
*** Bug 49635 has been marked as a duplicate of this bug. ***
This has been fixed in 7.0.x and will be included in 7.0.1 onwards.
(In reply to comment #7) > This has been fixed in 7.0.x and will be included in 7.0.1 onwards. Hi, I built from trunk (http://svn.apache.org/repos/asf/tomcat/trunk/) but continue to have this problem. Is the fix in another part of the svn tree? Thanks.
Nope. This issue has been fixed in trunk for over a week.
(In reply to comment #9) > Nope. This issue has been fixed in trunk for over a week. Okay, I'm still having the problem with revision 981332: java.lang.StackOverflowError at org.apache.catalina.connector.RequestFacade.startAsync(RequestFacade.java:963) at org.apache.catalina.connector.RequestFacade.startAsync(RequestFacade.java:963) ... # svn info Path: . URL: http://svn.apache.org/repos/asf/tomcat/trunk Repository Root: http://svn.apache.org/repos/asf Repository UUID: 13f79535-47bb-0310-9956-ffa450edef68 Revision: 981332 Node Kind: directory Schedule: normal Last Changed Author: markt Last Changed Rev: 981318 Last Changed Date: 2010-08-01 14:04:25 -0700 (Sun, 01 Aug 2010) # ant ... BUILD SUCCESSFUL # start tomcat from $TRUNK/output/build/bin/startup I am using the same test as in Bug 49635. Also, how does one write a Tomcat 7 unit test to make bug reporting easier for the Tomcat developers?
> Okay, I'm still having the problem with revision 981332: Nevermind, it works, sorry.
Hi, although Kevin backed down, I am still having this problem with the current 7.0.2-beta and with a self-compiled trunk. The identical servlet works perfectly with Glassfish v3.0.1. java.lang.StackOverflowError org.apache.catalina.connector.RequestFacade.startAsync(RequestFacade.java:1031) org.apache.catalina.connector.RequestFacade.startAsync(RequestFacade.java:1031) org.apache.catalina.connector.RequestFacade.startAsync(RequestFacade.java:1031) org.apache.catalina.connector.RequestFacade.startAsync(RequestFacade.java:1031) ... S:\codebase\TOMCAT_trunk>svn info Path: . URL: http://svn.apache.org/repos/asf/tomcat/trunk Repository Root: http://svn.apache.org/repos/asf Repository UUID: 13f79535-47bb-0310-9956-ffa450edef68 Revision: 998790 Node Kind: directory Schedule: normal Last Changed Author: markt Last Changed Rev: 998554 Last Changed Date: 2010-09-18 23:41:44 +0200 (Sa, 18 Sep 2010)
(In reply to comment #12) > Hi, although Kevin backed down, I am still having this problem with the current Janko, I'm sorry but I'm afraid I can't remember how I resolved the problem, but it ended up being user error. I would suggest checking out a brand new trunk, rebuilding, and starting with the simplest async servlet and seeing if that works.