-
Bug
-
Resolution: Fixed
-
Minor
-
Powered by SuggestiMate
During archiving from a slave the untaring can fail with files > 8GB. This is because the tar creator makes a corrupt archive. I think it doesn't properly null terminate the size value when the file size is gets to the 12th digit - which is a violation of tar spec (from Wikipedia tar article: Numeric values are encoded in octal numbers using ASCII digits, with leading zeroes. For historical reasons, a final NUL or space character should be used. Thus although there are 12 bytes reserved for storing the file size, only 11 octal digits can be stored. This gives a maximum file size of 8 gigabytes on archived files.)
Changing to gnutar might be nice to handle large files, or at least making the library error out when it hits large files rather than happily building corrupt archives.
Error caused by this bug (due to reading the corrupt header):
Archiving artifacts
ERROR: Publisher hudson.tasks.ArtifactArchiver aborted due to exception
java.lang.IllegalArgumentException: Negative time
at java.io.File.setLastModified(File.java:1258)
at hudson.FilePath.readFromTar(FilePath.java:1605)
at hudson.FilePath.copyRecursiveTo(FilePath.java:1530)
at hudson.tasks.ArtifactArchiver.perform(ArtifactArchiver.java:117)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:649)
at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:625)
at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:603)
at hudson.model.Build$RunnerImpl.post2(Build.java:161)
at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:572)
at hudson.model.Run.run(Run.java:1386)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:145)
Finished: FAILURE
- is duplicated by
-
JENKINS-25006 Archiving of huge files from remote workspace fails with exception
-
- Resolved
-
-
JENKINS-29140 Temporary file appears to leak data
-
- Resolved
-
- is related to
-
JENKINS-28013 Archiving artifiacts fails with java.io.IOException: Truncated TAR archive
-
- Resolved
-
-
JENKINS-28012 "Failed to parse POMs" during archiving of poms when running maven job
-
- Resolved
-
-
JENKINS-21905 intermittent Failed to archive artifacts: Failed to extract caused by Unexpected end of ZLIB input stream
-
- Closed
-
- links to
[JENKINS-10629] Tar implimentation can't handle > 8GB and doesn't error out.
Code changed in jenkins
User: Jesse Glick
Path:
changelog.html
core/pom.xml
core/src/main/java/hudson/FilePath.java
core/src/main/java/hudson/org/apache/tools/tar/TarInputStream.java
core/src/main/java/hudson/org/apache/tools/tar/TarOutputStream.java
core/src/main/java/hudson/util/io/TarArchiver.java
core/src/test/java/hudson/FilePathTest.java
http://jenkins-ci.org/commit/jenkins/b5b377997c5f30d66d7abb73460fd66f67d3a523
Log:
JENKINS-10629 Merging #1670.
Compare: https://github.com/jenkinsci/jenkins/compare/79bf40bc2d91...b5b377997c5f
Integrated in jenkins_main_trunk #4270
Revert "Revert "JENKINS-10629 - Migrate the Tar archives handling code to commons-compress"" (Revision 03bd5959cb94a0e626c5ace910d14c3083a9db2c)
Revert "Revert "FIXED JENKINS-10629] - Enable BigNumber mode to support archiving of files with size >8Gb"" (Revision 2ef29215c2b311a9d5c2e515268285b5623ce833)
[FIXED JENKINS-10629] Unbroke stream with new tar implementation. (Revision 3e187a026408d5ca74202f7e26dd565cde2e87d0)
Result = SUCCESS
kanstantsin.sha : 03bd5959cb94a0e626c5ace910d14c3083a9db2c
Files :
- core/src/main/java/hudson/org/apache/tools/tar/TarOutputStream.java
- core/src/main/java/hudson/FilePath.java
- core/pom.xml
- core/src/main/java/hudson/util/io/TarArchiver.java
- core/src/main/java/hudson/org/apache/tools/tar/TarInputStream.java
kanstantsin.sha : 2ef29215c2b311a9d5c2e515268285b5623ce833
Files :
- core/src/main/java/hudson/util/io/TarArchiver.java
kanstantsin.sha : 3e187a026408d5ca74202f7e26dd565cde2e87d0
Files :
- core/src/test/java/hudson/FilePathTest.java
- core/src/main/java/hudson/util/io/TarArchiver.java
Code changed in jenkins
User: tfennelly
Path:
changelog.html
core/pom.xml
core/src/main/java/hudson/FilePath.java
core/src/main/java/hudson/PluginManager.java
core/src/main/java/hudson/PluginManagerStaplerOverride.java
core/src/main/java/hudson/org/apache/tools/tar/TarInputStream.java
core/src/main/java/hudson/org/apache/tools/tar/TarOutputStream.java
core/src/main/java/hudson/util/io/TarArchiver.java
core/src/test/java/hudson/FilePathTest.java
test/src/main/java/hudson/core/PluginManagerOverrideTest.java
test/src/main/resources/hudson/core/PluginManagerOverrideTest/BasicPluginManagerOverride/newview.jelly
http://jenkins-ci.org/commit/jenkins/3f98011bd4aae0ee6956d264c952782452389f79
Log:
Merge branch 'master' into upgrade-htmlunit
- master:
commons-compress -> 1.10
Noting #1788
Remove hardcode in tar test
[FIXED JENKINS-10629] Unbroke stream with new tar implementation.
Revert "Revert "FIXEDJENKINS-10629] - Enable BigNumber mode to support archiving of files with size >8Gb""
Revert "Revert "JENKINS-10629- Migrate the Tar archives handling code to commons-compress""
Fix at-since from PR #1788
Merge PR #1788: Make plugin manager pluggable
Code changed in jenkins
User: tfennelly
Path:
changelog.html
cli/pom.xml
core/pom.xml
core/src/main/java/hudson/FilePath.java
core/src/main/java/hudson/FileSystemProvisioner.java
core/src/main/java/hudson/FileSystemProvisionerDescriptor.java
core/src/main/java/hudson/Functions.java
core/src/main/java/hudson/PluginManager.java
core/src/main/java/hudson/PluginManagerStaplerOverride.java
core/src/main/java/hudson/PluginWrapper.java
core/src/main/java/hudson/cli/CloneableCLICommand.java
core/src/main/java/hudson/diagnosis/OldDataMonitor.java
core/src/main/java/hudson/model/AbstractProject.java
core/src/main/java/hudson/model/ChoiceParameterDefinition.java
core/src/main/java/hudson/model/Computer.java
core/src/main/java/hudson/model/Executor.java
core/src/main/java/hudson/model/Items.java
core/src/main/java/hudson/model/Result.java
core/src/main/java/hudson/model/Slave.java
core/src/main/java/hudson/model/UsageStatistics.java
core/src/main/java/hudson/org/apache/tools/tar/TarInputStream.java
core/src/main/java/hudson/org/apache/tools/tar/TarOutputStream.java
core/src/main/java/hudson/os/SU.java
core/src/main/java/hudson/scheduler/CronTab.java
core/src/main/java/hudson/scheduler/CronTabList.java
core/src/main/java/hudson/security/ACL.java
core/src/main/java/hudson/security/SecurityRealm.java
core/src/main/java/hudson/slaves/NodeProvisioner.java
core/src/main/java/hudson/slaves/SlaveComputer.java
core/src/main/java/hudson/tasks/Maven.java
core/src/main/java/hudson/tools/DownloadFromUrlInstaller.java
core/src/main/java/hudson/triggers/SCMTrigger.java
core/src/main/java/hudson/triggers/TimerTrigger.java
core/src/main/java/hudson/triggers/Trigger.java
core/src/main/java/hudson/util/ChartUtil.java
core/src/main/java/hudson/util/CopyOnWriteList.java
core/src/main/java/hudson/util/DoubleLaunchChecker.java
core/src/main/java/hudson/util/QuotedStringTokenizer.java
core/src/main/java/hudson/util/RobustCollectionConverter.java
core/src/main/java/hudson/util/RobustMapConverter.java
core/src/main/java/hudson/util/RobustReflectionConverter.java
core/src/main/java/hudson/util/SequentialExecutionQueue.java
core/src/main/java/hudson/util/io/TarArchiver.java
core/src/main/java/hudson/util/jna/DotNet.java
core/src/main/java/hudson/util/xstream/ImmutableListConverter.java
core/src/main/java/jenkins/model/BlockedBecauseOfBuildInProgress.java
core/src/main/java/jenkins/model/CauseOfInterruption.java
core/src/main/java/jenkins/model/Jenkins.java
core/src/main/java/jenkins/model/JenkinsLocationConfiguration.java
core/src/main/java/jenkins/model/ParameterizedJobMixIn.java
core/src/main/java/jenkins/model/RunIdMigrator.java
core/src/main/java/jenkins/slaves/restarter/SlaveRestarter.java
core/src/main/java/jenkins/triggers/ReverseBuildTrigger.java
core/src/main/java/jenkins/util/xstream/CriticalXStreamException.java
core/src/main/resources/hudson/model/AbstractBuild/changes.jelly
core/src/main/resources/hudson/model/AbstractBuild/index_pt_BR.properties
core/src/main/resources/hudson/model/AbstractBuild/index_pt_PT.properties
core/src/main/resources/hudson/model/AbstractBuild/sidepanel_pt_PT.properties
core/src/main/resources/hudson/model/Messages.properties
core/src/main/resources/hudson/model/Messages_ca.properties
core/src/main/resources/hudson/model/Messages_da.properties
core/src/main/resources/hudson/model/Messages_de.properties
core/src/main/resources/hudson/model/Messages_es.properties
core/src/main/resources/hudson/model/Messages_fi.properties
core/src/main/resources/hudson/model/Messages_fr.properties
core/src/main/resources/hudson/model/Messages_hu.properties
core/src/main/resources/hudson/model/Messages_it.properties
core/src/main/resources/hudson/model/Messages_ja.properties
core/src/main/resources/hudson/model/Messages_nl.properties
core/src/main/resources/hudson/model/Messages_pt_BR.properties
core/src/main/resources/hudson/model/Messages_ru.properties
core/src/main/resources/hudson/model/Messages_sl.properties
core/src/main/resources/hudson/model/Messages_sv_SE.properties
core/src/main/resources/hudson/model/Messages_tr.properties
core/src/main/resources/hudson/model/Messages_zh_CN.properties
core/src/main/resources/hudson/model/Messages_zh_TW.properties
core/src/main/resources/jenkins/model/CauseOfInterruption/ExceptionInterruption/summary.groovy
core/src/main/resources/jenkins/model/Messages.properties
core/src/main/resources/jenkins/model/Messages_ca.properties
core/src/main/resources/jenkins/model/Messages_da.properties
core/src/main/resources/jenkins/model/Messages_de.properties
core/src/main/resources/jenkins/model/Messages_es.properties
core/src/main/resources/jenkins/model/Messages_fi.properties
core/src/main/resources/jenkins/model/Messages_fr.properties
core/src/main/resources/jenkins/model/Messages_hu.properties
core/src/main/resources/jenkins/model/Messages_it.properties
core/src/main/resources/jenkins/model/Messages_ja.properties
core/src/main/resources/jenkins/model/Messages_nl.properties
core/src/main/resources/jenkins/model/Messages_pt_BR.properties
core/src/main/resources/jenkins/model/Messages_ru.properties
core/src/main/resources/jenkins/model/Messages_sl.properties
core/src/main/resources/jenkins/model/Messages_sv_SE.properties
core/src/main/resources/jenkins/model/Messages_tr.properties
core/src/main/resources/jenkins/model/Messages_zh_CN.properties
core/src/main/resources/jenkins/model/Messages_zh_TW.properties
core/src/main/resources/jenkins/security/s2m/filepath-filter.conf
core/src/main/resources/lib/hudson/scriptConsole.properties
core/src/main/resources/lib/hudson/scriptConsole_da.properties
core/src/main/resources/lib/hudson/scriptConsole_de.properties
core/src/main/resources/lib/hudson/scriptConsole_es.properties
core/src/main/resources/lib/hudson/scriptConsole_fr.properties
core/src/main/resources/lib/hudson/scriptConsole_ja.properties
core/src/main/resources/lib/hudson/scriptConsole_ko.properties
core/src/main/resources/lib/hudson/scriptConsole_nb_NO.properties
core/src/main/resources/lib/hudson/scriptConsole_nl.properties
core/src/main/resources/lib/hudson/scriptConsole_pl.properties
core/src/main/resources/lib/hudson/scriptConsole_pt_BR.properties
core/src/main/resources/lib/hudson/scriptConsole_ru.properties
core/src/main/resources/lib/hudson/scriptConsole_sv_SE.properties
core/src/main/resources/lib/hudson/scriptConsole_zh_TW.properties
core/src/site/markdown/index.md
core/src/test/java/hudson/FilePathTest.java
core/src/test/java/hudson/UtilTest.java
core/src/test/java/hudson/model/ItemsTest.java
core/src/test/java/hudson/model/ParametersActionTest.java
core/src/test/java/hudson/triggers/SCMTriggerTest.java
core/src/test/java/hudson/triggers/TimerTriggerTest.java
core/src/test/java/hudson/util/ArgumentListBuilderTest.java
core/src/test/java/jenkins/model/RunIdMigratorTest.java
plugins/pom.xml
pom.xml
test/pom.xml
test/src/main/java/com/gargoylesoftware/htmlunit/README.md
test/src/main/java/com/gargoylesoftware/htmlunit/WebClientUtil.java
test/src/main/java/com/gargoylesoftware/htmlunit/WebResponseListener.java
test/src/main/java/com/gargoylesoftware/htmlunit/html/DomNodeUtil.java
test/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlElementUtil.java
test/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlFormUtil.java
test/src/main/java/hudson/core/PluginManagerOverrideTest.java
test/src/main/java/org/jvnet/hudson/test/ExtractResourceSCM.java
test/src/main/java/org/jvnet/hudson/test/HudsonPageCreator.java
test/src/main/java/org/jvnet/hudson/test/HudsonTestCase.java
test/src/main/java/org/jvnet/hudson/test/JenkinsRule.java
test/src/main/java/org/jvnet/hudson/test/junit/FailedTest.java
test/src/main/resources/hudson/core/PluginManagerOverrideTest/BasicPluginManagerOverride/newview.jelly
test/src/test/groovy/hudson/model/AbstractProjectTest.groovy
test/src/test/groovy/hudson/security/TokenBasedRememberMeServices2Test.groovy
test/src/test/groovy/jenkins/bugs/Jenkins19124Test.groovy
test/src/test/java/hudson/ExceptionTest.java
test/src/test/java/hudson/PluginTest.java
test/src/test/java/hudson/bugs/JnlpAccessWithSecuredHudsonTest.java
test/src/test/java/hudson/bugs/LoginRedirectTest.java
test/src/test/java/hudson/cli/SetBuildDisplayNameCommandTest.java
test/src/test/java/hudson/console/ConsoleAnnotatorTest.java
test/src/test/java/hudson/diagnosis/ReverseProxySetupMonitorTest.java
test/src/test/java/hudson/diagnosis/TooManyJobsButNoViewTest.java
test/src/test/java/hudson/model/AsynchPeopleTest.java
test/src/test/java/hudson/model/DirectlyModifiableViewTest.java
test/src/test/java/hudson/model/HelpLinkTest.java
test/src/test/java/hudson/model/HudsonTest.java
test/src/test/java/hudson/model/JobQueueTest.java
test/src/test/java/hudson/model/JobTest.java
test/src/test/java/hudson/model/ManagementLinkTest.java
test/src/test/java/hudson/model/MyViewsPropertyTest.java
test/src/test/java/hudson/model/ParametersTest.java
test/src/test/java/hudson/model/ProjectTest.java
test/src/test/java/hudson/model/QueueTest.java
test/src/test/java/hudson/model/SimpleJobTest.java
test/src/test/java/hudson/model/UserTest.java
test/src/test/java/hudson/model/ViewPropertyTest.java
test/src/test/java/hudson/model/ViewTest.java
test/src/test/java/hudson/model/queue/WideExecutionTest.java
test/src/test/java/hudson/search/SearchTest.java
test/src/test/java/hudson/security/LoginTest.java
test/src/test/java/hudson/security/pages/SignupPage.java
test/src/test/java/hudson/slaves/JNLPLauncherTest.java
test/src/test/java/hudson/slaves/NodePropertyTest.java
test/src/test/java/hudson/tools/JDKInstallerTest.java
test/src/test/java/hudson/util/AlternativeUiTextProviderTest.java
test/src/test/java/hudson/util/FormFieldValidatorTest.java
test/src/test/java/hudson/util/RobustReflectionConverterTest.java
test/src/test/java/jenkins/model/JenkinsTest.java
test/src/test/java/jenkins/security/ApiTokenPropertyTest.java
test/src/test/java/jenkins/security/BasicHeaderProcessorTest.java
test/src/test/java/jenkins/security/FrameOptionsPageDecoratorTest.java
test/src/test/java/jenkins/security/RekeySecretAdminMonitorTest.java
test/src/test/java/jenkins/security/Security177Test.java
test/src/test/java/jenkins/widgets/BuildListTableTest.java
test/src/test/java/lib/form/AdvancedButtonTest.java
test/src/test/java/lib/form/ExpandableTextboxTest.java
test/src/test/java/lib/form/RepeatableTest.java
test/src/test/java/lib/form/RowVisibilityGroupTest.java
test/src/test/java/lib/form/ValidateButtonTest.java
test/src/test/java/lib/hudson/ListScmBrowsersTest.java
test/src/test/java/lib/layout/IconTest.java
test/src/test/java/lib/layout/LayoutTest.java
test/src/test/java/lib/layout/RenderOnDemandTest.java
test/src/test/java/lib/layout/TaskTest.java
test/src/test/java/org/jvnet/hudson/main/JenkinsRuleTimeoutTest.java
test/src/test/java/org/jvnet/hudson/main/UseRecipesWithJenkinsRuleTest.java
translation-tool.pl
war/pom.xml
war/src/main/webapp/help/project-config/custom-workspace.html
war/src/main/webapp/scripts/hudson-behavior.js
war/src/main/webapp/scripts/prototype.js
http://jenkins-ci.org/commit/jenkins/3ab5336f3c6b9c6577560faf8c85fb0d38d3642b
Log:
Merge branch 'master' into config-ui-changes
- master: (178 commits)
Some docs
Some docs
Fixing comments from @amuniz
Fixing NITs from @KostyaSha
commons-compress -> 1.10
Noting #1788
Remove hardcode in tar test
[FIXED JENKINS-10629] Unbroke stream with new tar implementation.
Revert "Revert "FIXEDJENKINS-10629] - Enable BigNumber mode to support archiving of files with size >8Gb""
Revert "Revert "JENKINS-10629- Migrate the Tar archives handling code to commons-compress""
Fix at-since from PR #1788
Merge PR #1788: Make plugin manager pluggable
WebClientUtil (HtmlUnit to v2.18)
Updated HtmlUnit to v2.18
Remove JavaScriptEngine override
Fixed TaskTest tests
Fixed RobustReflectionConverterTest tests
Fixed RobustReflectionConverterTest compile errors after merge
Make sure all background JS is done executing before querying the DOM
ApiTokenPropertyTest fixes
...
Compare: https://github.com/jenkinsci/jenkins/compare/71adc679050a...3ab5336f3c6b
Code changed in jenkins
User: Kanstantsin Shautsou
Path:
core/pom.xml
core/src/main/java/hudson/FilePath.java
core/src/main/java/hudson/org/apache/tools/tar/TarInputStream.java
core/src/main/java/hudson/org/apache/tools/tar/TarOutputStream.java
core/src/main/java/hudson/util/io/TarArchiver.java
http://jenkins-ci.org/commit/jenkins/6e5740eb5be85ede0cbd01d900cb6d5fbf71ee62
Log:
Revert "Revert "JENKINS-10629 - Migrate the Tar archives handling code to commons-compress""
This reverts commit 8f1280a85c54ea6150b15c38303464ab23b32e92.
(cherry picked from commit 03bd5959cb94a0e626c5ace910d14c3083a9db2c)
Code changed in jenkins
User: Kanstantsin Shautsou
Path:
core/src/main/java/hudson/util/io/TarArchiver.java
http://jenkins-ci.org/commit/jenkins/2b63fea84739c1ae900e6997efc18658bcdbaee0
Log:
Revert "Revert "FIXED JENKINS-10629] - Enable BigNumber mode to support archiving of files with size >8Gb""
This reverts commit ee57300963ca0137565f61fe314d459b627ad74b.
(cherry picked from commit 2ef29215c2b311a9d5c2e515268285b5623ce833)
Code changed in jenkins
User: Kanstantsin Shautsou
Path:
core/src/main/java/hudson/util/io/TarArchiver.java
core/src/test/java/hudson/FilePathTest.java
http://jenkins-ci.org/commit/jenkins/fd1e392fd4cb9d9feade9da7540c00921d32d816
Log:
[FIXED JENKINS-10629] Unbroke stream with new tar implementation.
Causes bytes lost and truncated tar archive.
TarBuffer not used in TarArchiveOutputStream.
(cherry picked from commit 3e187a026408d5ca74202f7e26dd565cde2e87d0)
Integrated in jenkins_main_trunk #4358
Revert "Revert "JENKINS-10629 - Migrate the Tar archives handling code to commons-compress"" (Revision 6e5740eb5be85ede0cbd01d900cb6d5fbf71ee62)
Revert "Revert "FIXED JENKINS-10629] - Enable BigNumber mode to support archiving of files with size >8Gb"" (Revision 2b63fea84739c1ae900e6997efc18658bcdbaee0)
[FIXED JENKINS-10629] Unbroke stream with new tar implementation. (Revision fd1e392fd4cb9d9feade9da7540c00921d32d816)
Result = UNSTABLE
ogondza : 6e5740eb5be85ede0cbd01d900cb6d5fbf71ee62
Files :
- core/src/main/java/hudson/org/apache/tools/tar/TarInputStream.java
- core/src/main/java/hudson/FilePath.java
- core/src/main/java/hudson/util/io/TarArchiver.java
- core/src/main/java/hudson/org/apache/tools/tar/TarOutputStream.java
- core/pom.xml
ogondza : 2b63fea84739c1ae900e6997efc18658bcdbaee0
Files :
- core/src/main/java/hudson/util/io/TarArchiver.java
ogondza : fd1e392fd4cb9d9feade9da7540c00921d32d816
Files :
- core/src/test/java/hudson/FilePathTest.java
- core/src/main/java/hudson/util/io/TarArchiver.java
Code changed in jenkins
User: tfennelly
Path:
test/src/main/java/hudson/core/PluginManagerOverrideTest.java
test/src/main/resources/hudson/core/PluginManagerOverrideTest/BasicPluginManagerOverride/newview.jelly
http://jenkins-ci.org/commit/jenkins-test-harness/9823d43e2d9ebd9cccad7efca8eb965bc4aafedf
Log:
Merge branch 'master' into upgrade-htmlunit
- master:
commons-compress -> 1.10
Noting #1788
Remove hardcode in tar test
[FIXED JENKINS-10629] Unbroke stream with new tar implementation.
Revert "Revert "FIXEDJENKINS-10629] - Enable BigNumber mode to support archiving of files with size >8Gb""
Revert "Revert "JENKINS-10629- Migrate the Tar archives handling code to commons-compress""
Fix at-since from PR #1788
Merge PR #1788: Make plugin manager pluggable
Originally-Committed-As: 3f98011bd4aae0ee6956d264c952782452389f79
Code changed in jenkins
User: Kanstantsin Shautsou
Path:
core/src/main/java/hudson/util/io/TarArchiver.java
core/src/test/java/hudson/FilePathTest.java
http://jenkins-ci.org/commit/jenkins/3e187a026408d5ca74202f7e26dd565cde2e87d0
Log:
[FIXED JENKINS-10629] Unbroke stream with new tar implementation.
Causes bytes lost and truncated tar archive.
TarBuffer not used in TarArchiveOutputStream.