EasyUpload: don't works on Glassfish

Hi,

if I use the sample code (see at http://code.google.com/p/easyuploads-addon/source/browse/trunk/EasyUploads/src/org/vaadin/easyuploads/tests/UploadfieldExampleApplication.java) and runn the sample on tomcat(6) all is fine. But if I run the sample on GlassFish 3.1 (with all currently available updates) I get the following error while uploading multiple files:


WARNUNG: StandardWrapperValve[c-onDocFlowVaadin]
: PWC1406: Servlet.service() for servlet c-onDocFlowVaadin threw exception
java.lang.RuntimeException: Error in multipart initialization
	at org.apache.catalina.fileupload.Multipart.init(Multipart.java:103)
	at org.apache.catalina.connector.Request.parseRequestParameters(Request.java:3151)
	at org.apache.catalina.connector.Request.getParameter(Request.java:1241)
	at org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:422)
	at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.isRepaintAll(AbstractApplicationServlet.java:2352)
	at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.service(AbstractApplicationServlet.java:427)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1542)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
	at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
	at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
	at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
	at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
	at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
	at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
	at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
	at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
	at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
	at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
	at java.lang.Thread.run(Thread.java:662)
Caused by: javax.servlet.ServletException: the request was rejected because no multipart boundary was found
	at org.apache.catalina.fileupload.RequestItemIterator.<init>(RequestItemIterator.java:313)
	at org.apache.catalina.fileupload.Multipart.initParts(Multipart.java:148)
	at org.apache.catalina.fileupload.Multipart.init(Multipart.java:101)
	... 30 more

WARNUNG: StandardWrapperValve[c-onDocFlowVaadin]
: PWC1406: Servlet.service() for servlet c-onDocFlowVaadin threw exception
java.lang.RuntimeException: Error in multipart initialization
	at org.apache.catalina.fileupload.Multipart.init(Multipart.java:103)
	at org.apache.catalina.connector.Request.parseRequestParameters(Request.java:3151)
	at org.apache.catalina.connector.Request.getParameter(Request.java:1241)
	at org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:422)
	at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.isRepaintAll(AbstractApplicationServlet.java:2352)
	at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.service(AbstractApplicationServlet.java:427)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1542)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
	at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
	at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
	at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
	at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
	at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
	at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
	at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
	at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
	at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
	at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
	at java.lang.Thread.run(Thread.java:662)
Caused by: javax.servlet.ServletException: the request was rejected because no multipart boundary was found
	at org.apache.catalina.fileupload.RequestItemIterator.<init>(RequestItemIterator.java:313)
	at org.apache.catalina.fileupload.Multipart.initParts(Multipart.java:148)
	at org.apache.catalina.fileupload.Multipart.init(Multipart.java:101)
	... 30 more

WARNUNG: StandardWrapperValve[c-onDocFlowVaadin]
: PWC1406: Servlet.service() for servlet c-onDocFlowVaadin threw exception
java.lang.RuntimeException: Error in multipart initialization
	at org.apache.catalina.fileupload.Multipart.init(Multipart.java:103)
	at org.apache.catalina.connector.Request.parseRequestParameters(Request.java:3151)
	at org.apache.catalina.connector.Request.getParameter(Request.java:1241)
	at org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:422)
	at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.isRepaintAll(AbstractApplicationServlet.java:2352)
	at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.service(AbstractApplicationServlet.java:427)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1542)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
	at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
	at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
	at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
	at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
	at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
	at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
	at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
	at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
	at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
	at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
	at java.lang.Thread.run(Thread.java:662)
Caused by: javax.servlet.ServletException: the request was rejected because no multipart boundary was found
	at org.apache.catalina.fileupload.RequestItemIterator.<init>(RequestItemIterator.java:313)
	at org.apache.catalina.fileupload.Multipart.initParts(Multipart.java:148)
	at org.apache.catalina.fileupload.Multipart.init(Multipart.java:101)
	... 30 more

WARNUNG: StandardWrapperValve[c-onDocFlowVaadin]
: PWC1406: Servlet.service() for servlet c-onDocFlowVaadin threw exception
java.lang.RuntimeException: Error in multipart initialization
	at org.apache.catalina.fileupload.Multipart.init(Multipart.java:103)
	at org.apache.catalina.connector.Request.parseRequestParameters(Request.java:3151)
	at org.apache.catalina.connector.Request.getParameter(Request.java:1241)
	at org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:422)
	at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.isRepaintAll(AbstractApplicationServlet.java:2352)
	at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.service(AbstractApplicationServlet.java:427)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1542)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
	at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
	at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
	at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
	at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
	at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
	at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
	at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
	at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
	at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
	at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
	at java.lang.Thread.run(Thread.java:662)
Caused by: javax.servlet.ServletException: the request was rejected because no multipart boundary was found
	at org.apache.catalina.fileupload.RequestItemIterator.<init>(RequestItemIterator.java:313)
	at org.apache.catalina.fileupload.Multipart.initParts(Multipart.java:148)
	at org.apache.catalina.fileupload.Multipart.init(Multipart.java:101)
	... 30 more

WARNUNG: StandardWrapperValve[c-onDocFlowVaadin]
: PWC1406: Servlet.service() for servlet c-onDocFlowVaadin threw exception
java.lang.RuntimeException: Error in multipart initialization
	at org.apache.catalina.fileupload.Multipart.init(Multipart.java:103)
	at org.apache.catalina.connector.Request.parseRequestParameters(Request.java:3151)
	at org.apache.catalina.connector.Request.getParameter(Request.java:1241)
	at org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:422)
	at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.isRepaintAll(AbstractApplicationServlet.java:2352)
	at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.service(AbstractApplicationServlet.java:427)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1542)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
	at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
	at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
	at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
	at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
	at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
	at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
	at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
	at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
	at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
	at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
	at java.lang.Thread.run(Thread.java:662)
Caused by: javax.servlet.ServletException: the request was rejected because no multipart boundary was found
	at org.apache.catalina.fileupload.RequestItemIterator.<init>(RequestItemIterator.java:313)
	at org.apache.catalina.fileupload.Multipart.initParts(Multipart.java:148)
	at org.apache.catalina.fileupload.Multipart.init(Multipart.java:101)
	... 30 more

WARNUNG: StandardWrapperValve[c-onDocFlowVaadin]
: PWC1406: Servlet.service() for servlet c-onDocFlowVaadin threw exception
java.lang.RuntimeException: Error in multipart initialization
	at org.apache.catalina.fileupload.Multipart.init(Multipart.java:103)
	at org.apache.catalina.connector.Request.parseRequestParameters(Request.java:3151)
	at org.apache.catalina.connector.Request.getParameter(Request.java:1241)
	at org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:422)
	at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.isRepaintAll(AbstractApplicationServlet.java:2352)
	at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.service(AbstractApplicationServlet.java:427)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1542)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
	at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
	at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
	at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
	at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
	at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
	at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
	at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
	at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
	at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
	at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
	at java.lang.Thread.run(Thread.java:662)
Caused by: javax.servlet.ServletException: the request was rejected because no multipart boundary was found
	at org.apache.catalina.fileupload.RequestItemIterator.<init>(RequestItemIterator.java:313)
	at org.apache.catalina.fileupload.Multipart.initParts(Multipart.java:148)
	at org.apache.catalina.fileupload.Multipart.init(Multipart.java:101)
	... 30 more

Anybody knows whats wrong?

Thanks and regards,
Steffen

I have figured out that this also works in JBoss 7.1.1 and in a older glassfish version (I have tested it successful in V3.1.1 B12). Seems is a glassfish bug. I have added a bug:
http://java.net/jira/browse/GLASSFISH-18504

Regards,
Steffen