Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tests fail with error: incoming YAML document exceeds the limit #1188

Open
adamfarley opened this issue Feb 24, 2025 · 2 comments
Open

Tests fail with error: incoming YAML document exceeds the limit #1188

adamfarley opened this issue Feb 24, 2025 · 2 comments

Comments

@adamfarley
Copy link
Contributor

What are you trying to do?
Run Adoptium tests that appear to return YAML files that require parsing.

Expected behaviour:
These YAML files should be parsed without error.

Observed behaviour:

[2025-02-19T21:21:01.805Z]         Rebuild_Same_JDK_Reproducibility_Test_Mac_0_FAILED
[2025-02-19T21:21:01.805Z]     duration_ms: 1338313
[2025-02-19T21:21:01.805Z] ]: The incoming YAML document exceeds the limit: 3145728 code points.

Other tests are also affected.
Examples:
https://ci.adoptium.net/job/Test_openjdk17_hs_sanity.external_x86-64_linux/44/
https://ci.adoptium.net/job/Test_openjdk21_hs_special.system_aarch64_mac/10/

Any other comments:

Here is a chunk of the stack from the error:

[2025-02-19T21:21:01.805Z] 	at PluginClassLoader for tap//org.tap4j.plugin.TapPublisher.perform(TapPublisher.java:312)
[2025-02-19T21:21:01.805Z] 	at jenkins.tasks.SimpleBuildStep.perform(SimpleBuildStep.java:123)
[2025-02-19T21:21:01.805Z] 	at PluginClassLoader for workflow-basic-steps//org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:101)
[2025-02-19T21:21:01.805Z] 	at PluginClassLoader for workflow-basic-steps//org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:71)
[2025-02-19T21:21:01.805Z] 	at PluginClassLoader for workflow-step-api//org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47)
[2025-02-19T21:21:01.805Z] 	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
[2025-02-19T21:21:01.805Z] 	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[2025-02-19T21:21:01.805Z] 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[2025-02-19T21:21:01.805Z] 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[2025-02-19T21:21:01.805Z] 	at java.base/java.lang.Thread.run(Thread.java:840)
[2025-02-19T21:21:01.815Z] Caused by: org.tap4j.parser.ParserException: Error parsing YAML [    output:

Based on this, I think that a jenkins plugin is using a tap4j YAML parser, which uses snakeyaml to parse a yaml file which is using the default limit on code points.

This forum message here suggests that it is possible to expand the limits of the the Yaml class by using LoaderOptions, which I think needs to be added here.

Will discuss with community.

@smlambert
Copy link
Contributor

FYI @sophia-guo
Just as we have turned off pushing the entire console output of openjdk test failures to the TAP file, we may need to adjust it for this one, OR alter the reproducible shell script that is being run to be less verbose (dump to a file, which gets included in the attached test_outpup.zip artifact).

@sophia-guo
Copy link
Contributor

Reproducing output issue see adoptium/temurin-build#4144

external one see adoptium/TKG#678

External test has been explicitely set diagnosticLevel='noDetails' due to it's output issue with TAP plugin. Tapfile should not turn it on.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: In Progress
Development

No branches or pull requests

3 participants