S3 Storage backend: Spinning coloured circle when expanding artifacts stored in S3
We have an S3 storage backend configured in our TeamCity instance to store build artifacts.
When expanding tar-gzipped build artifacts, the coloured circle keeps spinning indefinitely. Screensnip of this behaviour with a different artifact has been uploaded with this Upload id: 2023_10_26_Xms3CQt2SpTXEmGkG7kUKw (file: S3-storage-backend-spinning-colour-circle.png)
with debug enabled, the following appears in the logs:
[2023-10-20 12:21:56,805] INFO - xternalBuildArtifactsCacheImpl - Failed to write cache file /mnt/data/.BuildServer/system/caches/artifactsCache/318534/buildlog.zip for artifact Artifact[promotionId=318534, relativePath=buildlog.zip]: org.apache.http.ConnectionClosedException: Premature end of Content-Length delimited message body (expected: 2,475,268; received: 0)
[2023-10-20 12:21:56,805] DEBUG - xternalBuildArtifactsCacheImpl - Failed to write cache file /mnt/data/.BuildServer/system/caches/artifactsCache/318534/buildlog.zip for artifact Artifact[promotionId=318534, relativePath=buildlog.zip]
org.apache.http.ConnectionClosedException: Premature end of Content-Length delimited message body (expected: 2,475,268; received: 0)
at org.apache.http.impl.io.ContentLengthInputStream.read(ContentLengthInputStream.java:178) ~[httpcore-4.4.16.jar:4.4.16]
at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:135) ~[httpclient-4.5.14.jar:4.5.14]
at com.amazonaws.internal.SdkFilterInputStream.read(SdkFilterInputStream.java:90) ~[?:?]
at com.amazonaws.event.ProgressInputStream.read(ProgressInputStream.java:180) ~[?:?]
at com.amazonaws.internal.SdkFilterInputStream.read(SdkFilterInputStream.java:90) ~[?:?]
at com.amazonaws.internal.SdkFilterInputStream.read(SdkFilterInputStream.java:90) ~[?:?]
at com.amazonaws.internal.SdkFilterInputStream.read(SdkFilterInputStream.java:90) ~[?:?]
at com.amazonaws.event.ProgressInputStream.read(ProgressInputStream.java:180) ~[?:?]
at java.security.DigestInputStream.read(DigestInputStream.java:162) ~[?:?]
at com.amazonaws.services.s3.internal.DigestValidationInputStream.read(DigestValidationInputStream.java:59) ~[?:?]
at com.amazonaws.internal.SdkFilterInputStream.read(SdkFilterInputStream.java:90) ~[?:?]
at com.amazonaws.services.s3.internal.S3AbortableInputStream.read(S3AbortableInputStream.java:125) ~[?:?]
at com.amazonaws.internal.SdkFilterInputStream.read(SdkFilterInputStream.java:90) ~[?:?]
at java.io.BufferedInputStream.fill(BufferedInputStream.java:252) ~[?:?]
at java.io.BufferedInputStream.read(BufferedInputStream.java:271) ~[?:?]
at jetbrains.buildServer.serverSide.impl.artifacts.ExternalBuildArtifacts.lambda$getContent$3(ExternalBuildArtifacts.java:101) ~[server.jar:?]
at jetbrains.buildServer.serverSide.impl.BaseAccessChecker.runWithDisabledChecks(BaseAccessChecker.java:19) ~[server.jar:?]
at jetbrains.buildServer.serverSide.impl.SecondaryNodeSecurityManager.executeSafe(SecondaryNodeSecurityManager.java:2) ~[server.jar:?]
at jetbrains.buildServer.serverSide.IOGuardInitializer$IOGuardDelegateImpl.allowNetworkCall(IOGuardInitializer.java:11) ~[server.jar:?]
at jetbrains.buildServer.serverSide.IOGuard.allowNetworkCall(IOGuard.java:82) ~[common-api.jar:?]
at jetbrains.buildServer.serverSide.impl.artifacts.ExternalBuildArtifacts.getContent(ExternalBuildArtifacts.java:120) ~[server.jar:?]
at jetbrains.buildServer.serverSide.impl.artifacts.ExternalBuildArtifactFile.lambda$getInputStream$0(ExternalBuildArtifactFile.java:10) ~[server.jar:?]
at jetbrains.buildServer.serverSide.impl.artifacts.ExternalBuildArtifactsCacheImpl.lambda$createFileEntry$8(ExternalBuildArtifactsCacheImpl.java:46) ~[server.jar:?]
at jetbrains.buildServer.serverSide.impl.BaseAccessChecker.runWithDisabledChecks(BaseAccessChecker.java:19) ~[server.jar:?]
at jetbrains.buildServer.serverSide.impl.SecondaryNodeSecurityManager.executeSafe(SecondaryNodeSecurityManager.java:2) ~[server.jar:?]
at jetbrains.buildServer.serverSide.IOGuardInitializer$IOGuardDelegateImpl.allowNetworkCall(IOGuardInitializer.java:11) ~[server.jar:?]
at jetbrains.buildServer.serverSide.IOGuard.allowNetworkCall(IOGuard.java:82) ~[common-api.jar:?]
at jetbrains.buildServer.serverSide.impl.artifacts.ExternalBuildArtifactsCacheImpl.createFileEntry(ExternalBuildArtifactsCacheImpl.java:37) ~[server.jar:?]
at jetbrains.buildServer.serverSide.impl.artifacts.ExternalBuildArtifactsCacheImpl.lambda$getCachedStream$6(ExternalBuildArtifactsCacheImpl.java:4) ~[server.jar:?]
at com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$14(BoundedLocalCache.java:1895) ~[caffeine-2.4.0.jar:?]
at java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1908) ~[?:?]
at com.github.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:1893) ~[caffeine-2.4.0.jar:?]
at com.github.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:1876) ~[caffeine-2.4.0.jar:?]
at com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:113) ~[caffeine-2.4.0.jar:?]
at com.github.benmanes.caffeine.cache.LocalManualCache.get(LocalManualCache.java:54) ~[caffeine-2.4.0.jar:?]
at jetbrains.buildServer.serverSide.impl.artifacts.ExternalBuildArtifactsCacheImpl.getCachedStream(ExternalBuildArtifactsCacheImpl.java:96) ~[server.jar:?]
at jetbrains.buildServer.serverSide.impl.artifacts.ExternalBuildArtifactFile.getInputStream(ExternalBuildArtifactFile.java:6) ~[server.jar:?]
at jetbrains.buildServer.serverSide.impl.artifacts.archives.BuildArtifactDelegate.getInputStream(BuildArtifactDelegate.java:23) ~[server.jar:?]
at jetbrains.buildServer.serverSide.impl.artifacts.archives.ArchivedBuildArtifacts$1.getInputStream(ArchivedBuildArtifacts.java:1) ~[server.jar:?]
at jetbrains.buildServer.util.ArchiveUtil.getArchivedFolderEntries(ArchiveUtil.java:518) ~[common-api.jar:129421]
at jetbrains.buildServer.serverSide.impl.artifacts.archives.BuildArtifactDelegate.getChildren(BuildArtifactDelegate.java:10) ~[server.jar:?]
at jetbrains.buildServer.web.artifacts.browser.ArtifactElement.computeChildren(ArtifactElement.java:15) ~[web.jar:?]
at jetbrains.buildServer.web.artifacts.browser.ArtifactElement.getChildren(ArtifactElement.java:22) ~[web.jar:?]
at jetbrains.buildServer.server.rest.data.finder.impl.BuildArtifactsFinder$ArtifactTreeElementWrapper.getChildren(BuildArtifactsFinder.java:540) ~[rest-api.jar:?]
at jetbrains.buildServer.server.rest.data.finder.impl.BuildArtifactsFinder$Node.getChildrenInternal(BuildArtifactsFinder.java:449) ~[rest-api.jar:?]
at jetbrains.buildServer.server.rest.data.finder.impl.BuildArtifactsFinder$Node.getChildren(BuildArtifactsFinder.java:434) ~[rest-api.jar:?]
at jetbrains.buildServer.util.pathMatcher.NodeScanner.processMatchedNode(NodeScanner.java:261) ~[common-api.jar:129421]
at jetbrains.buildServer.util.pathMatcher.NodeScanner.processNodeContent(NodeScanner.java:202) ~[common-api.jar:129421]
at jetbrains.buildServer.util.pathMatcher.NodeScanner.scanNode(NodeScanner.java:122) ~[common-api.jar:129421]
at jetbrains.buildServer.util.pathMatcher.NodeScanner.scan(NodeScanner.java:73) ~[common-api.jar:129421]
at jetbrains.buildServer.util.pathMatcher.AntPatternTreeMatcher.scanWithCallback(AntPatternTreeMatcher.java:115) ~[common-api.jar:129421]
at jetbrains.buildServer.util.pathMatcher.AntPatternTreeMatcher.scan(AntPatternTreeMatcher.java:91) ~[common-api.jar:129421]
at jetbrains.buildServer.server.rest.data.finder.impl.BuildArtifactsFinder.getPrefilteredItems(BuildArtifactsFinder.java:276) ~[rest-api.jar:?]
at jetbrains.buildServer.server.rest.data.finder.AbstractFinder$1.getPrefilteredItems(AbstractFinder.java:78) ~[rest-api.jar:?]
at jetbrains.buildServer.server.rest.data.finder.FinderImpl$2.getPrefilteredItems(FinderImpl.java:474) ~[rest-api.jar:?]
at jetbrains.buildServer.server.rest.data.finder.FinderImpl.getItemsByLocator(FinderImpl.java:306) ~[rest-api.jar:?]
at jetbrains.buildServer.server.rest.data.finder.FinderImpl.lambda$getItems$1(FinderImpl.java:120) ~[rest-api.jar:?]
at jetbrains.buildServer.util.NamedThreadFactory.executeWithNewThreadNameFuncThrow(NamedThreadFactory.java:107) ~[common-api.jar:129421]
at jetbrains.buildServer.server.rest.data.finder.FinderImpl.getItems(FinderImpl.java:118) ~[rest-api.jar:?]
at jetbrains.buildServer.server.rest.data.finder.impl.BuildArtifactsFinder.getItems(BuildArtifactsFinder.java:203) ~[rest-api.jar:?]
at jetbrains.buildServer.server.rest.data.finder.impl.BuildArtifactsFinder.getItems(BuildArtifactsFinder.java:187) ~[rest-api.jar:?]
at jetbrains.buildServer.server.rest.request.FilesSubResource$1.getItems(FilesSubResource.java:127) ~[rest-api.jar:?]
at jetbrains.buildServer.server.rest.model.files.Files$DefaultFilesProvider.getFiles(Files.java:101) ~[rest-api.jar:?]
at jetbrains.buildServer.server.rest.model.files.Files$1.get(Files.java:62) ~[rest-api.jar:?]
at jetbrains.buildServer.server.rest.model.files.Files$1.get(Files.java:60) ~[rest-api.jar:?]
at jetbrains.buildServer.server.rest.util.ValueWithDefault.decideDefault(ValueWithDefault.java:118) ~[rest-api.jar:?]
at jetbrains.buildServer.server.rest.util.ValueWithDefault.decideDefault(ValueWithDefault.java:105) ~[rest-api.jar:?]
at jetbrains.buildServer.server.rest.model.files.Files.<init>(Files.java:60) ~[rest-api.jar:?]
at jetbrains.buildServer.server.rest.request.FilesSubResource.getChildren(FilesSubResource.java:123) ~[rest-api.jar:?]
at jetbrains.buildServer.server.rest.request.FilesSubResource.getChildrenAlias(FilesSubResource.java:104) ~[rest-api.jar:?]
at jdk.internal.reflect.GeneratedMethodAccessor1580.invoke(Unknown Source) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) ~[jersey-server-1.19.jar:1.19]
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185) ~[jersey-server-1.19.jar:1.19]
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) ~[jersey-server-1.19.jar:1.19]
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) ~[jersey-server-1.19.jar:1.19]
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) ~[jersey-server-1.19.jar:1.19]
at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:137) ~[jersey-server-1.19.jar:1.19]
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) ~[jersey-server-1.19.jar:1.19]
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) ~[jersey-server-1.19.jar:1.19]
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) ~[jersey-server-1.19.jar:1.19]
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) ~[jersey-server-1.19.jar:1.19]
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542) ~[jersey-server-1.19.jar:1.19]
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473) ~[jersey-server-1.19.jar:1.19]
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419) ~[jersey-server-1.19.jar:1.19]
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409) ~[jersey-server-1.19.jar:1.19]
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409) ~[jersey-servlet-1.19.jar:1.19]
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558) ~[jersey-servlet-1.19.jar:1.19]
at com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:927) ~[jersey-servlet-1.19.jar:1.19]
at com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:875) ~[jersey-servlet-1.19.jar:1.19]
at jetbrains.buildServer.server.rest.APIController.lambda$null$10(APIController.java:529) ~[rest-api.jar:?]
at jetbrains.buildServer.server.rest.data.RestContext.run(RestContext.java:71) ~[rest-api.jar:?]
at jetbrains.buildServer.server.rest.APIController.lambda$null$11(APIController.java:518) ~[rest-api.jar:?]
at jetbrains.buildServer.util.Util.doUnderContextClassLoader(Util.java:79) ~[common-api.jar:129421]
at jetbrains.buildServer.server.rest.APIController.lambda$doHandle$12(APIController.java:516) ~[rest-api.jar:?]
at jetbrains.buildServer.server.rest.APIController.patchThread(APIController.java:598) ~[rest-api.jar:?]
at jetbrains.buildServer.server.rest.APIController.doHandle(APIController.java:514) ~[rest-api.jar:?]
at jetbrains.buildServer.controllers.BaseController.handleRequestInternal(BaseController.java:114) ~[server-api.jar:129421]
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:177) ~[spring-webmvc.jar:5.3.18]
at jetbrains.buildServer.controllers.BaseController.handleRequest(BaseController.java:93) ~[server-api.jar:129421]
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:51) ~[spring-webmvc.jar:5.3.18]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067) ~[spring-webmvc.jar:5.3.18]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) ~[spring-webmvc.jar:5.3.18]
at jetbrains.buildServer.maintenance.WebDispatcherServlet.doService(WebDispatcherServlet.java:38) ~[web.jar:?]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc.jar:5.3.18]
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) ~[spring-webmvc.jar:5.3.18]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:529) ~[servlet-api.jar:4.0.FR]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc.jar:5.3.18]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:623) ~[servlet-api.jar:4.0.FR]
at jetbrains.buildServer.maintenance.TeamCityDispatcherServlet.processedByMainServlet(TeamCityDispatcherServlet.java:8) ~[web.jar:?]
at jetbrains.buildServer.maintenance.TeamCityDispatcherServlet.service(TeamCityDispatcherServlet.java:43) ~[web.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209) ~[catalina.jar:9.0.75]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[catalina.jar:9.0.75]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-websocket.jar:9.0.75]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[catalina.jar:9.0.75]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[catalina.jar:9.0.75]
at jetbrains.buildServer.https.HttpsRedirectFilter.doFilter(HttpsRedirectFilter.java:31) ~[web.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[catalina.jar:9.0.75]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[catalina.jar:9.0.75]
at jetbrains.buildServer.web.jsp.JspPrecompilerFilter.doFilter(JspPrecompilerFilter.java:181) ~[web.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[catalina.jar:9.0.75]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[catalina.jar:9.0.75]
at jetbrains.buildServer.web.DisableSessionIdFromUrlFilter.doFilter(DisableSessionIdFromUrlFilter.java:8) ~[web.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[catalina.jar:9.0.75]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[catalina.jar:9.0.75]
at jetbrains.buildServer.web.UserIdProviderFilter.doFilter(UserIdProviderFilter.java:7) ~[web.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[catalina.jar:9.0.75]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[catalina.jar:9.0.75]
at jetbrains.buildServer.web.BannedIPsFilter.doFilter(BannedIPsFilter.java:3) ~[web.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[catalina.jar:9.0.75]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[catalina.jar:9.0.75]
at jetbrains.buildServer.web.NodeInfoHeaderFilter.doFilter(NodeInfoHeaderFilter.java:7) ~[web.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[catalina.jar:9.0.75]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[catalina.jar:9.0.75]
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) ~[spring-webmvc.jar:5.3.18]
at jetbrains.buildServer.diagnostic.web.DiagnosticFilter.doFilter(DiagnosticFilter.java:2) ~[web.jar:?]
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-webmvc.jar:5.3.18]
at jetbrains.buildServer.web.DependencyParametersCalculationContextFilter.doFilter(DependencyParametersCalculationContextFilter.java:10) ~[web.jar:?]
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-webmvc.jar:5.3.18]
at jetbrains.buildServer.diagnostic.web.HttpRequestsDurationMetricsReporter.doFilter(HttpRequestsDurationMetricsReporter.java:4) ~[web.jar:?]
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-webmvc.jar:5.3.18]
at jetbrains.buildServer.web.HttpSecurityHeadersFilter.doFilter(HttpSecurityHeadersFilter.java:58) ~[web.jar:?]
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-webmvc.jar:5.3.18]
at jetbrains.buildServer.controllers.filters.DisableSessionCookieTokenAuthFilter.doFilter(DisableSessionCookieTokenAuthFilter.java:11) ~[web.jar:?]
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-webmvc.jar:5.3.18]
at jetbrains.buildServer.controllers.filters.ProxyDetailsFilter.doFilter(ProxyDetailsFilter.java:11) ~[web.jar:?]
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-webmvc.jar:5.3.18]
at jetbrains.buildServer.controllers.filters.ClearSecurityContextFilter.doFilter(ClearSecurityContextFilter.java:15) ~[web.jar:?]
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-webmvc.jar:5.3.18]
at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) ~[spring-webmvc.jar:5.3.18]
at jetbrains.buildServer.web.DelegatingFilter.doFilter(DelegatingFilter.java:74) ~[server-api.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[catalina.jar:9.0.75]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[catalina.jar:9.0.75]
at jetbrains.buildServer.web.ResponseFragmentFilter.doFilter(ResponseFragmentFilter.java:29) ~[web.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[catalina.jar:9.0.75]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[catalina.jar:9.0.75]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[catalina.jar:9.0.75]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[catalina.jar:9.0.75]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481) ~[catalina.jar:9.0.75]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) ~[catalina.jar:9.0.75]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[catalina.jar:9.0.75]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[catalina.jar:9.0.75]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) ~[catalina.jar:9.0.75]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390) ~[tomcat-coyote.jar:9.0.75]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-coyote.jar:9.0.75]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926) ~[tomcat-coyote.jar:9.0.75]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791) ~[tomcat-coyote.jar:9.0.75]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-coyote.jar:9.0.75]
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-util.jar:9.0.75]
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-util.jar:9.0.75]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-util.jar:9.0.75]
at java.lang.Thread.run(Thread.java:829) ~[?:?]
[2023-10-20 12:21:56,816] DEBUG - xternalBuildArtifactsCacheImpl - Removing artifact cache file /mnt/data/.BuildServer/system/caches/artifactsCache/318534/buildlog.zip
It looks like the Content-Length header is not being used. When using AWS CLI's S3 get-object command, the Content-Length parameter is being returned.
Downloading the archive works, but not expanding it in the build Artifacts page. Is this a bug with the S3 Storage Backend plugin?
Please sign in to leave a comment.
Hi, I am not able to reprdouce this issue from my side with server 2023.05.4 (build 129421). Would you mind sharing your teamcity server version?
I wanted to kindly ask if it would be possible for you to provide us with the network trace file (.HAR) when you encounter the issue. You can find instructions on how to collect a network trace here.
We would greatly appreciate it if you could share the file with us so that we can investigate the issue further.
Additionally, if you prefer, you can create an issue in our public youtrack. Please make sure to include the teamcity-serverlog and network trace file. To ensure the privacy of the attachments, kindly limit the visibility to the "teamcity-developers" user group only.