Hi,

A user of Apache Wicket has reported a problem where Tomcat hangs when
writing the response to the browser -
https://issues.apache.org/jira/browse/WICKET-5530

The application tries to upload a file (with Ajax) with bigger size than
the allowed one. Then in the Ajax response it tries to write 16K+ bytes and
Tomcat hangs with tracktrace like:

Thread [qtp263823398-19] (Suspended)    
        owns: ByteArrayOutputStream2  (id=69)   
        owns: AbstractHttpConnection$OutputWriter  (id=70)      
        SocketOutputStream.socketWrite0(FileDescriptor, byte[], int, int)
line: not available [native method]
        SocketOutputStream.socketWrite(byte[], int, int) line: 113      
        SocketOutputStream.write(byte[], int, int) line: 159    
        ByteArrayBuffer.writeTo(OutputStream) line: 375 
        SocketConnector$ConnectorEndPoint(StreamEndPoint).flush(Buffer) line: 
164       
        HttpGenerator.flushBuffer() line: 850   
        HttpGenerator(AbstractGenerator).blockForOutput(long) line: 507 
        AbstractHttpConnection$Output(HttpOutput).write(Buffer) line: 170       
        AbstractHttpConnection$Output(HttpOutput).write(byte[], int, int) line: 
107     
        ByteArrayOutputStream2(ByteArrayOutputStream).writeTo(OutputStream) 
line: 154   
        AbstractHttpConnection$OutputWriter(HttpWriter).write(char[], int,
int) line: 288
        AbstractHttpConnection$OutputWriter(HttpWriter).write(String, int,
int) line: 112
        AbstractHttpConnection$OutputWriter(HttpWriter).write(String, int,
int) line: 101
        AbstractHttpConnection$1(PrintWriter).write(String, int, int) line: 456 

....



There is a demo app attached to the ticket and an attachment with the
full stacktrace.

I personally wasn't able to reproduce it but two users have been able
to do it with Tomcat 7.0.47 on Windows.


Any help/hints are welcome!


Martin Grigorov
Wicket Training and Consulting

Reply via email to