You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Christian Schmidt (JIRA)" <ji...@apache.org> on 2013/12/06 09:00:39 UTC

[jira] [Updated] (FILEUPLOAD-241) SocketTimeoutException: Read timed out FileUpload with IE10/11 at 0KB File

     [ https://issues.apache.org/jira/browse/FILEUPLOAD-241?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christian Schmidt updated FILEUPLOAD-241:
-----------------------------------------

    Description: 
If you upload a File (Size: 0KB e.g. test.txt) in the Internetexplorer 10 or 11 you recieve an SocketTimeoutException: Read timed out on serverside.
The ServletRequestContext is OK, but the method getItemIterator(ctx) cause exception. Firefox and Chrome is OK. There is no exception.

try
			{
				Map paramMap = srvRequest.getParameterMap();
				ServletRequestContext ctx=new ServletRequestContext(srvRequest);
				FileItemIterator iter = m_fUpload.getItemIterator(ctx);
				while (iter.hasNext()) 
				{
					FileItemStream  item =iter.next();
					if (!item.isFormField()) 
					{
						processFileUpload(item,paramMap);
					}
				}
			}
			catch (IOException e)
			{ ...

IE
ContentLength=219, ContentType=multipart/form-data; boundary=---------------------------7dd17c30210cbe

=== MimeHeaders ===
x-requested-with = XMLHttpRequest
accept = */*
content-type = multipart/form-data; boundary=---------------------------7dd17c30210cbe
referer = http://localhost:8080/upload
accept-language = de-DE
accept-encoding = gzip, deflate
user-agent = Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
host = localhost:8080
content-length = 219
dnt = 1
connection = Keep-Alive
cache-control = no-cache


Chrome
ContentLength=192, ContentType=multipart/form-data; boundary=----WebKitFormBoundaryT5ywpwNtenrWvVc6

=== MimeHeaders ===
host = localhost:8080
connection = keep-alive
content-length = 192
accept = */*
origin = http://localhost:8080
x-requested-with = XMLHttpRequest
user-agent = Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36
content-type = multipart/form-data; boundary=----WebKitFormBoundaryT5ywpwNtenrWvVc6
referer = http://localhost:8080/upload
accept-encoding = gzip,deflate,sdch
accept-language = de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4



java.net.SocketTimeoutException: Read timed out
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.read(SocketInputStream.java:150)
	at java.net.SocketInputStream.read(SocketInputStream.java:121)
	at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:751)
	at org.apache.coyote.http11.InternalInputBuffer$InputStreamInputBuffer.doRead(InternalInputBuffer.java:781)
	at org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:116)
	at org.apache.coyote.http11.InternalInputBuffer.doRead(InternalInputBuffer.java:710)
	at org.apache.coyote.Request.doRead(Request.java:427)
	at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:304)
	at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:419)
	at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:327)
	at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:193)
	at org.apache.commons.fileupload.MultipartStream$ItemInputStream.makeAvailable(MultipartStream.java:997)
	at org.apache.commons.fileupload.MultipartStream$ItemInputStream.read(MultipartStream.java:901)
	at java.io.InputStream.read(InputStream.java:101)
	at org.apache.commons.fileupload.util.Streams.copy(Streams.java:101)
	at org.apache.commons.fileupload.util.Streams.copy(Streams.java:70)
	at org.apache.commons.fileupload.MultipartStream.readBodyData(MultipartStream.java:589)
	at org.apache.commons.fileupload.MultipartStream.discardBodyData(MultipartStream.java:613)
	at org.apache.commons.fileupload.MultipartStream.skipPreamble(MultipartStream.java:630)
	at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.findNextItem(FileUploadBase.java:1018)
	at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.<init>(FileUploadBase.java:998)
	at org.apache.commons.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:310)
	at webframe.jqgui.CFileCache.checkRequest(CFileCache.java:91)
	at webframe.jqgui.JQDocument.refreshDocument(JQDocument.java:832)
	at webframe.jqgui.CJQRoot.refresh(CJQRoot.java:186)
	at webframe.sessionmgr.main.CGUIModul.doRefresh(CGUIModul.java:161)
	at webframe.sessionmgr.main.BaseSession.doGet(BaseSession.java:2794)
	at webframe.sessionmgr.main.SessionPortal.doRequest(SessionPortal.java:4801)
	at webframe.sessionmgr.main.SessionPortal.doPost(SessionPortal.java:5707)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Thread.java:722)


  was:
If you upload a File (Size: 0KB e.g. test.txt) in the Internetexplorer 10 or 11 you recieve an SocketTimeoutException: Read timed out on serverside.
The ServletRequestContext is OK, but the method getItemIterator(ctx) cause exception. Firefox and Chrome is OK. There is no exception.

try
			{
				Map paramMap = srvRequest.getParameterMap();
				ServletRequestContext ctx=new ServletRequestContext(srvRequest);
				FileItemIterator iter = m_fUpload.getItemIterator(ctx);
				while (iter.hasNext()) 
				{
					FileItemStream  item =iter.next();
					if (!item.isFormField()) 
					{
						processFileUpload(item,paramMap);
					}
				}
			}
			catch (IOException e)
			{ ...

IE
ContentLength=219, ContentType=multipart/form-data; boundary=---------------------------7dd17c30210cbe

=== MimeHeaders ===
x-requested-with = XMLHttpRequest
accept = */*
content-type = multipart/form-data; boundary=---------------------------7dd17c30210cbe
referer = http://localhost:8080/webframe/antrag
accept-language = de-DE
accept-encoding = gzip, deflate
user-agent = Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
host = localhost:8080
content-length = 219
dnt = 1
connection = Keep-Alive
cache-control = no-cache


Chrome
ContentLength=192, ContentType=multipart/form-data; boundary=----WebKitFormBoundaryT5ywpwNtenrWvVc6

=== MimeHeaders ===
host = localhost:8080
connection = keep-alive
content-length = 192
accept = */*
origin = http://localhost:8080
x-requested-with = XMLHttpRequest
user-agent = Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36
content-type = multipart/form-data; boundary=----WebKitFormBoundaryT5ywpwNtenrWvVc6
referer = http://localhost:8080/webframe/antrag
accept-encoding = gzip,deflate,sdch
accept-language = de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4



java.net.SocketTimeoutException: Read timed out
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.read(SocketInputStream.java:150)
	at java.net.SocketInputStream.read(SocketInputStream.java:121)
	at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:751)
	at org.apache.coyote.http11.InternalInputBuffer$InputStreamInputBuffer.doRead(InternalInputBuffer.java:781)
	at org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:116)
	at org.apache.coyote.http11.InternalInputBuffer.doRead(InternalInputBuffer.java:710)
	at org.apache.coyote.Request.doRead(Request.java:427)
	at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:304)
	at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:419)
	at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:327)
	at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:193)
	at org.apache.commons.fileupload.MultipartStream$ItemInputStream.makeAvailable(MultipartStream.java:997)
	at org.apache.commons.fileupload.MultipartStream$ItemInputStream.read(MultipartStream.java:901)
	at java.io.InputStream.read(InputStream.java:101)
	at org.apache.commons.fileupload.util.Streams.copy(Streams.java:101)
	at org.apache.commons.fileupload.util.Streams.copy(Streams.java:70)
	at org.apache.commons.fileupload.MultipartStream.readBodyData(MultipartStream.java:589)
	at org.apache.commons.fileupload.MultipartStream.discardBodyData(MultipartStream.java:613)
	at org.apache.commons.fileupload.MultipartStream.skipPreamble(MultipartStream.java:630)
	at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.findNextItem(FileUploadBase.java:1018)
	at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.<init>(FileUploadBase.java:998)
	at org.apache.commons.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:310)
	at webframe.jqgui.CFileCache.checkRequest(CFileCache.java:91)
	at webframe.jqgui.JQDocument.refreshDocument(JQDocument.java:832)
	at webframe.jqgui.CJQRoot.refresh(CJQRoot.java:186)
	at webframe.sessionmgr.main.CGUIModul.doRefresh(CGUIModul.java:161)
	at webframe.sessionmgr.main.BaseSession.doGet(BaseSession.java:2794)
	at webframe.sessionmgr.main.SessionPortal.doRequest(SessionPortal.java:4801)
	at webframe.sessionmgr.main.SessionPortal.doPost(SessionPortal.java:5707)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Thread.java:722)



> SocketTimeoutException: Read timed out FileUpload with IE10/11 at 0KB File
> --------------------------------------------------------------------------
>
>                 Key: FILEUPLOAD-241
>                 URL: https://issues.apache.org/jira/browse/FILEUPLOAD-241
>             Project: Commons FileUpload
>          Issue Type: Bug
>    Affects Versions: 1.2, 1.3
>         Environment: Windows 7, IE10, IE11
>            Reporter: Christian Schmidt
>             Fix For: 1.3, 1.3.1
>
>
> If you upload a File (Size: 0KB e.g. test.txt) in the Internetexplorer 10 or 11 you recieve an SocketTimeoutException: Read timed out on serverside.
> The ServletRequestContext is OK, but the method getItemIterator(ctx) cause exception. Firefox and Chrome is OK. There is no exception.
> try
> 			{
> 				Map paramMap = srvRequest.getParameterMap();
> 				ServletRequestContext ctx=new ServletRequestContext(srvRequest);
> 				FileItemIterator iter = m_fUpload.getItemIterator(ctx);
> 				while (iter.hasNext()) 
> 				{
> 					FileItemStream  item =iter.next();
> 					if (!item.isFormField()) 
> 					{
> 						processFileUpload(item,paramMap);
> 					}
> 				}
> 			}
> 			catch (IOException e)
> 			{ ...
> IE
> ContentLength=219, ContentType=multipart/form-data; boundary=---------------------------7dd17c30210cbe
> === MimeHeaders ===
> x-requested-with = XMLHttpRequest
> accept = */*
> content-type = multipart/form-data; boundary=---------------------------7dd17c30210cbe
> referer = http://localhost:8080/upload
> accept-language = de-DE
> accept-encoding = gzip, deflate
> user-agent = Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
> host = localhost:8080
> content-length = 219
> dnt = 1
> connection = Keep-Alive
> cache-control = no-cache
> Chrome
> ContentLength=192, ContentType=multipart/form-data; boundary=----WebKitFormBoundaryT5ywpwNtenrWvVc6
> === MimeHeaders ===
> host = localhost:8080
> connection = keep-alive
> content-length = 192
> accept = */*
> origin = http://localhost:8080
> x-requested-with = XMLHttpRequest
> user-agent = Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36
> content-type = multipart/form-data; boundary=----WebKitFormBoundaryT5ywpwNtenrWvVc6
> referer = http://localhost:8080/upload
> accept-encoding = gzip,deflate,sdch
> accept-language = de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4
> java.net.SocketTimeoutException: Read timed out
> 	at java.net.SocketInputStream.socketRead0(Native Method)
> 	at java.net.SocketInputStream.read(SocketInputStream.java:150)
> 	at java.net.SocketInputStream.read(SocketInputStream.java:121)
> 	at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:751)
> 	at org.apache.coyote.http11.InternalInputBuffer$InputStreamInputBuffer.doRead(InternalInputBuffer.java:781)
> 	at org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:116)
> 	at org.apache.coyote.http11.InternalInputBuffer.doRead(InternalInputBuffer.java:710)
> 	at org.apache.coyote.Request.doRead(Request.java:427)
> 	at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:304)
> 	at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:419)
> 	at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:327)
> 	at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:193)
> 	at org.apache.commons.fileupload.MultipartStream$ItemInputStream.makeAvailable(MultipartStream.java:997)
> 	at org.apache.commons.fileupload.MultipartStream$ItemInputStream.read(MultipartStream.java:901)
> 	at java.io.InputStream.read(InputStream.java:101)
> 	at org.apache.commons.fileupload.util.Streams.copy(Streams.java:101)
> 	at org.apache.commons.fileupload.util.Streams.copy(Streams.java:70)
> 	at org.apache.commons.fileupload.MultipartStream.readBodyData(MultipartStream.java:589)
> 	at org.apache.commons.fileupload.MultipartStream.discardBodyData(MultipartStream.java:613)
> 	at org.apache.commons.fileupload.MultipartStream.skipPreamble(MultipartStream.java:630)
> 	at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.findNextItem(FileUploadBase.java:1018)
> 	at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.<init>(FileUploadBase.java:998)
> 	at org.apache.commons.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:310)
> 	at webframe.jqgui.CFileCache.checkRequest(CFileCache.java:91)
> 	at webframe.jqgui.JQDocument.refreshDocument(JQDocument.java:832)
> 	at webframe.jqgui.CJQRoot.refresh(CJQRoot.java:186)
> 	at webframe.sessionmgr.main.CGUIModul.doRefresh(CGUIModul.java:161)
> 	at webframe.sessionmgr.main.BaseSession.doGet(BaseSession.java:2794)
> 	at webframe.sessionmgr.main.SessionPortal.doRequest(SessionPortal.java:4801)
> 	at webframe.sessionmgr.main.SessionPortal.doPost(SessionPortal.java:5707)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
> 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
> 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> 	at java.lang.Thread.run(Thread.java:722)



--
This message was sent by Atlassian JIRA
(v6.1#6144)