Skip to content

Google Cloud: during Multipart - java.lang.IllegalArgumentException: Cannot create chunk from non-retainable ContentChunk #11080

@Shaaz-Me

Description

@Shaaz-Me

Jetty Version:- 12.0.4

Jetty Environment :- ee10

Java Version:- 17

While making a multipart request before getting it to the controller I'm getting the below error. Previously it was working with java 8, javax servlet api and jetty 9.

"Exception occur
org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request
at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.handleParseFailure(StandardMultipartHttpServletRequest.java:122)
at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.parseRequest(StandardMultipartHttpServletRequest.java:110)
at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.(StandardMultipartHttpServletRequest.java:86)
at org.springframework.web.multipart.support.StandardServletMultipartResolver.resolveMultipart(StandardServletMultipartResolver.java:112)
at org.springframework.web.servlet.DispatcherServlet.checkMultipart(DispatcherServlet.java:1227)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1061)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:547)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
at org.eclipse.jetty.ee10.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1379)
at org.eclipse.jetty.ee10.servlet.ServletHolder.handle(ServletHolder.java:736)
at org.eclipse.jetty.ee10.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1614)
at com.google.apphosting.utils.servlet.ee10.JdbcMySqlConnectionCleanupFilter.doFilter(JdbcMySqlConnectionCleanupFilter.java:78)
at org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
at org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1586)
at com.google.apphosting.runtime.jetty.ee10.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:120)
at org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:208)
at org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1586)
at org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1547)
at org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:838)
at org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:463)
at org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:464)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:571)
at org.eclipse.jetty.ee10.servlet.SessionHandler.handle(SessionHandler.java:703)
at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:761)
at com.google.apphosting.runtime.jetty.ee10.AppEngineWebAppContext.handle(AppEngineWebAppContext.java:300)
at org.eclipse.jetty.server.handler.HotSwapHandler.handle(HotSwapHandler.java:92)
at org.eclipse.jetty.server.Handler$Wrapper.handle(Handler.java:716)
at com.google.apphosting.runtime.jetty.CoreSizeLimitHandler.handle(CoreSizeLimitHandler.java:148)
at org.eclipse.jetty.server.Server.handle(Server.java:179)
at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:597)
at com.google.apphosting.runtime.jetty.delegate.internal.DelegateConnection.lambda$handle$0(DelegateConnection.java:145)
at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter$2.run(JettyServletEngineAdapter.java:118)
at com.google.apphosting.runtime.jetty.delegate.internal.DelegateConnection.handle(DelegateConnection.java:141)
at com.google.apphosting.runtime.jetty.delegate.DelegateConnector.service(DelegateConnector.java:49)
at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:223)
at com.google.apphosting.runtime.RequestRunner.dispatchServletRequest(RequestRunner.java:262)
at com.google.apphosting.runtime.RequestRunner.dispatchRequest(RequestRunner.java:227)
at com.google.apphosting.runtime.RequestRunner.run(RequestRunner.java:193)
at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:273)
at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: jakarta.servlet.ServletException: org.eclipse.jetty.http.BadMessageException: 400: bad multipart
at org.eclipse.jetty.ee10.servlet.ServletApiRequest.getParts(ServletApiRequest.java:591)
at jakarta.servlet.http.HttpServletRequestWrapper.getParts(HttpServletRequestWrapper.java:306)
at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.parseRequest(StandardMultipartHttpServletRequest.java:93)
... 42 more
Caused by: org.eclipse.jetty.http.BadMessageException: 400: bad multipart
... 45 more
Caused by: java.lang.IllegalArgumentException: Cannot create chunk from non-retainable ContentChunk@4c1ec711[l=true,b=HeapByteBuffer@7df9afb8[p=165,l=6634,c=6634,r=6469]={------Web...zip\r\n\r\n<<<PK\x03\x04\x14\x00\x00\x00\x08\x00\x16Z\x9dR\xEf?=L\x88\x15\x00\x00\x04\xA2\x00...aryVQ68AWpbxog4ELZy--\r\n>>>}]
at org.eclipse.jetty.io.Content$Chunk.asChunk(Content.java:675)
at org.eclipse.jetty.http.MultiPart$Parser.asSlice(MultiPart.java:1444)
at org.eclipse.jetty.http.MultiPart$Parser.parseContent(MultiPart.java:1378)
at org.eclipse.jetty.http.MultiPart$Parser.parse(MultiPart.java:1072)
at org.eclipse.jetty.http.MultiPartFormData$Parser$1.parse(MultiPartFormData.java:229)
at org.eclipse.jetty.http.MultiPartFormData$Parser$1.parse(MultiPartFormData.java:219)
at org.eclipse.jetty.io.content.ContentSourceCompletableFuture.parse(ContentSourceCompletableFuture.java:104)
at org.eclipse.jetty.http.MultiPartFormData$Parser.parse(MultiPartFormData.java:244)
at org.eclipse.jetty.ee10.servlet.ServletMultiPartFormData.lambda$from$0(ServletMultiPartFormData.java:135)
at org.eclipse.jetty.http.MultiPartFormData.from(MultiPartFormData.java:86)
at org.eclipse.jetty.ee10.servlet.ServletMultiPartFormData.from(ServletMultiPartFormData.java:104)
at org.eclipse.jetty.ee10.servlet.ServletMultiPartFormData.from(ServletMultiPartFormData.java:60)
at org.eclipse.jetty.ee10.servlet.ServletApiRequest.getParts(ServletApiRequest.java:508)
... 44 more
"

Metadata

Metadata

Labels

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions