Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 324359 - Illegal operations on AsyncContinuation should not change its state.
Summary: Illegal operations on AsyncContinuation should not change its state.
Status: RESOLVED FIXED
Alias: None
Product: Jetty
Classification: RT
Component: server (show other bugs)
Version: 8.0.0   Edit
Hardware: PC Mac OS X - Carbon (unsup.)
: P3 normal (vote)
Target Milestone: 7.1.x   Edit
Assignee: Greg Wilkins CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-02 18:55 EDT by David Jencks CLA
Modified: 2010-09-07 21:04 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Jencks CLA 2010-09-02 18:55:42 EDT
suspend changes a few fields, then checks to see if the current state is one in which suspend can be called.  This can result in an infinite loop with code like:

AsyncContext ac = request.startAsync();
ac.dispatch(...);
try {
  request.startAsync();
} catch (IllegalStateException e) {
  response.getWriter("Hah! fooled you");
}
Comment 1 David Jencks CLA 2010-09-02 18:57:03 EDT
Fix committed in rev 2237
Comment 2 David Jencks CLA 2010-09-02 20:53:48 EDT
port to jetty 7 in rev 2239
Comment 3 Michael Gorovoy CLA 2010-09-07 21:04:47 EDT
Marking as resolved.