-
Bug
-
Resolution: Fixed
-
Low
-
9.2.4
-
None
-
1
-
Severity 2 - Major
-
1
-
Issue Summary
This is reproducible on Data Center: (yes)
Steps to Reproduce
- Run Bamboo version 9.2.4
- Scan the large bamboo specs code (codepointlimit > 3145728)
Expected Results
Bamboo specs scan should be successfully done.
Actual Results
Bamboo specs import fails and the below exception is thrown in the atlassian-bamboo.log file:
2023-09-19 21:46:41,898 INFO [15-BAM::SpecsDetection:pool-19-thread-4] [YamlSpecsImportServiceImpl] Bamboo YAML import failed on incorrect YAMLcom.atlassian.bamboo.specs.yaml.YamlSpecsValidationException: Invalid format of the YAML file: The incoming YAML document exceeds the limit: 3145728 code points. at com.atlassian.bamboo.configuration.external.yaml.BambooYamlSpecsServiceImpl.splitDocuments(BambooYamlSpecsServiceImpl.java:54) ~[atlassian-bamboo-import-export-9.2.4.jar:?] at com.atlassian.bamboo.configuration.external.rss.YamlSpecsImportServiceImpl.processSimplifiedYaml(YamlSpecsImportServiceImpl.java:106) ~[atlassian-bamboo-import-export-9.2.4.jar:?] at com.atlassian.bamboo.configuration.external.RepositoryStoredSpecsServiceImpl.tryProcessYaml(RepositoryStoredSpecsServiceImpl.java:341) ~[atlassian-bamboo-import-export-9.2.4.jar:?] at com.atlassian.bamboo.configuration.external.RepositoryStoredSpecsServiceImpl.runBambooSpecs(RepositoryStoredSpecsServiceImpl.java:184) ~[atlassian-bamboo-import-export-9.2.4.jar:?] at com.atlassian.bamboo.configuration.external.RssDetectionServiceImpl.runRssDetection(RssDetectionServiceImpl.java:374) ~[atlassian-bamboo-import-export-9.2.4.jar:?] at com.atlassian.bamboo.configuration.external.detection.RssDetectionRunnable.run(RssDetectionRunnable.java:42) ~[atlassian-bamboo-import-export-9.2.4.jar:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at com.atlassian.bamboo.utils.BambooRunnables$1.run(BambooRunnables.java:48) ~[atlassian-bamboo-api-9.2.4.jar:?] at com.atlassian.bamboo.security.ImpersonationHelper.runWith(ImpersonationHelper.java:26) ~[atlassian-bamboo-api-9.2.4.jar:?] at com.atlassian.bamboo.security.ImpersonationHelper.runWithSystemAuthority(ImpersonationHelper.java:17) ~[atlassian-bamboo-api-9.2.4.jar:?] at com.atlassian.bamboo.security.ImpersonationHelper$1.run(ImpersonationHelper.java:41) ~[atlassian-bamboo-api-9.2.4.jar:?] at java.lang.Thread.run(Thread.java:834) ~[?:?]Caused by: org.yaml.snakeyaml.error.YAMLException: The incoming YAML document exceeds the limit: 3145728 code points. at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:335) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:256) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.parser.ParserImpl$ParseIndentlessSequenceEntryKey.produce(ParserImpl.java:597) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:171) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.comments.CommentEventsCollector$1.peek(CommentEventsCollector.java:57) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.comments.CommentEventsCollector$1.peek(CommentEventsCollector.java:43) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.comments.CommentEventsCollector.collectEvents(CommentEventsCollector.java:136) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.comments.CommentEventsCollector.collectEvents(CommentEventsCollector.java:116) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.composer.Composer.composeScalarNode(Composer.java:221) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:190) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.composer.Composer.composeSequenceNode(Composer.java:252) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:192) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.composer.Composer.composeValueNode(Composer.java:321) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.composer.Composer.composeMappingChildren(Composer.java:312) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:293) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:194) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.composer.Composer.composeValueNode(Composer.java:321) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.composer.Composer.composeMappingChildren(Composer.java:312) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:293) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:194) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.composer.Composer.composeSequenceNode(Composer.java:252) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:192) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.composer.Composer.composeValueNode(Composer.java:321) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.composer.Composer.composeMappingChildren(Composer.java:312) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:293) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:194) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.composer.Composer.composeValueNode(Composer.java:321) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.composer.Composer.composeMappingChildren(Composer.java:312) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:293) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:194) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.composer.Composer.getNode(Composer.java:116) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.constructor.BaseConstructor.getData(BaseConstructor.java:139) ~[snakeyaml-1.32.jar:?] at org.yaml.snakeyaml.Yaml$1.next(Yaml.java:500) ~[snakeyaml-1.32.jar:?] at com.atlassian.bamboo.configuration.external.yaml.BambooYamlSpecsServiceImpl.splitDocuments(BambooYamlSpecsServiceImpl.java:46) ~[atlassian-bamboo-import-export-9.2.4.jar:?] ... 14 more2023-09-19 21:46:41,907 INFO [AtlassianEvent::0-BAM::EVENTS:pool-2-thread-50] [BitbucketServerRssStatusUpdater] Sending RSS notification to Stash (repository: 1cd_hmp_access-control-engine_terraform_infrastructure)2023-09-19 21:46:41,913 INFO [15-BAM::SpecsDetection:pool-19-thread-4] [RssDetectionRunnable] Exception while executing RSS detection for RssDetectionWork[repository=800360628,branch=feat/spin-up-openfga]com.atlassian.bamboo.specs.yaml.YamlSpecsValidationException: Invalid format of the YAML file: The incoming YAML document exceeds the limit: 3145728 code points. at com.atlassian.bamboo.configuration.external.yaml.BambooYamlSpecsServiceImpl.splitDocuments(BambooYamlSpecsServiceImpl.java:54) ~[atlassian-bamboo-import-export-9.2.4.jar:?] at com.atlassian.bamboo.configuration.external.rss.YamlSpecsImportServiceImpl.processSimplifiedYaml(YamlSpecsImportServiceImpl.java:106) ~[atlassian-bamboo-import-export-9.2.4.jar:?] at com.atlassian.bamboo.configuration.external.RepositoryStoredSpecsServiceImpl.tryProcessYaml(RepositoryStoredSpecsServiceImpl.java:341) ~[atlassian-bamboo-import-export-9.2.4.jar:?] at com.atlassian.bamboo.configuration.external.RepositoryStoredSpecsServiceImpl.runBambooSpecs(RepositoryStoredSpecsServiceImpl.java:184) ~[atlassian-bamboo-import-export-9.2.4.jar:?] at com.atlassian.bamboo.configuration.external.RssDetectionServiceImpl.runRssDetection(RssDetectionServiceImpl.java:374) ~[atlassian-bamboo-import-export-9.2.4.jar:?] at com.atlassian.bamboo.configuration.external.detection.RssDetectionRunnable.run(RssDetectionRunnable.java:42) ~[atlassian-bamboo-import-export-9.2.4.jar:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at com.atlassian.bamboo.utils.BambooRunnables$1.run(BambooRunnables.java:48) ~[atlassian-bamboo-api-9.2.4.jar:?] at com.atlassian.bamboo.security.ImpersonationHelper.runWith(ImpersonationHelper.java:26) ~[atlassian-bamboo-api-9.2.4.jar:?] at com.atlassian.bamboo.security.ImpersonationHelper.runWithSystemAuthority(ImpersonationHelper.java:17) ~[atlassian-bamboo-api-9.2.4.jar:?] at com.atlassian.bamboo.security.ImpersonationHelper$1.run(ImpersonationHelper.java:41) ~[atlassian-bamboo-api-9.2.4.jar:?] at java.lang.Thread.run(Thread.java:834) ~[?:?]Caused by: org.yaml.snakeyaml.error.YAMLException: The incoming YAML document exceeds the limit: 3145728 code points.
Workaround
As of now we suggest to upgrade Bamboo to 9.3 version as snakeyaml has upgrade version (2.0 which has the fix for this issue of snakeyaml) in this.
- mentioned in
-
Page Failed to load