[
https://issues.apache.org/jira/browse/GROOVY-12465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18128760#comment-18128760
]
ASF GitHub Bot commented on GROOVY-12465:
-----------------------------------------
testlens-app[bot] commented on PR #2990:
URL: https://github.com/apache/groovy/pull/2990#issuecomment-6268388742
## 🚨 TestLens detected 1 failed test 🚨
### Test Summary
> [!TIP]
> Inspect all details with the [TestLens
CLI](https://testlens.app/docs/features/cli): `testlens pr 2990`
#### [Build and test / lts \(17,
ubuntu-latest\)](https://github.com/apache/groovy/actions/runs/39246876370/job/118040829924?pr=2990)
> :groovy-lsp:test
| Test | Runs | Flakiness |
|---|---|--:|
| GroovyLanguageServerTest >
publishDiagnosticsIncludeVersionAndClearRemovedUris\(\) | ❌ | 1% 🟡 |
🏷️ Commit: 876d3a1b532d65155fb8bfb9d8e3d641c1b4a938
▶️ Tests: 79422 executed
🟡 Checks: 14/24 completed
### Test Failures
<details><summary><strong>GroovyLanguageServerTest >
publishDiagnosticsIncludeVersionAndClearRemovedUris()</strong>
(:groovy-lsp:test in <a
href="https://github.com/apache/groovy/actions/runs/39246876370/job/118040829924?pr=2990">Build
and test / lts (17, ubuntu-latest)</a>)</summary>
```
Assertion failed:
assert fixture.diagnostics[brokenUri] == []
| | || |
| | || false
| |
|'file:///tmp/groovy-lsp-drop5999463401509060926/Broken.groovy'
| | [Diagnostic [
| | range = Range [
| | start = Position [
| | line = 0
| | character = 14
| | ]
| | end = Position [
| | line = 0
| | character = 14
| | ]
| | ]
| | severity = Error
| | code = null
| | codeDescription = null
| | source = "groovy"
| | message = Either [
| | left = Missing '}'
| | right = null
| | ]
| | tags = null
| | relatedInformation = null
| | data = null
| | ]]
|
['file:///tmp/groovy-lsp-drop5999463401509060926/Broken.groovy':[],
'file:///home/runner/work/groovy/groovy/subprojects/groovy-lsp/Hello.groovy':[]]
org.apache.groovy.lsp.internal.LspFixture@242ff747
at
org.codehaus.groovy.runtime.InvokerHelper.createAssertError(InvokerHelper.java:409)
at
org.apache.groovy.lsp.GroovyLanguageServerTest.publishDiagnosticsIncludeVersionAndClearRemovedUris(GroovyLanguageServerTest.groovy:258)
```
</details>
### Rerun Controls
> [!NOTE]
> Checks are currently running using the configuration below.
Select tests to mute in this pull request:
🔲 GroovyLanguageServerTest >
publishDiagnosticsIncludeVersionAndClearRemovedUris\(\) <!
> Bump asm to 9.11.1
> ------------------
>
> Key: GROOVY-12465
> URL: https://issues.apache.org/jira/browse/GROOVY-12465
> Project: Groovy
> Issue Type: Dependency upgrade
> Reporter: Daniel Sun
> Assignee: Paul King
> Priority: Major
> Fix For: 7.0.0-alpha-1, 6.0.1
>
>
> h3. Frame computation limits and additional tests
> ASM 9.11 adds per-method resource limits to {{ClassWriter}} frame computation
> ({{setComputeLimits}}). They are on by default: 10 MB and 100M operations,
> set at about ten times what the largest {{java.*}} method in the JDK needs. A
> method that goes over fails with {{LimitExceededException}}.
> Groovy computes frames for all generated code ({{COMPUTE_MAXS |
> COMPUTE_FRAMES}}), and its methods are far more expensive to compute than JDK
> methods. With ASM's defaults, ordinary code that compiled under ASM 9.10.1
> fails, even though the methods involved are only 10-20 KB of bytecode:
> * about 424 {{def}} or {{int}} locals with branches, in dynamic or
> {{@CompileStatic}} code
> * about 300 closures in one method
> * about 425 locals in a script body
> * just 108 {{try/catch/finally}} blocks in a {{@CompileStatic}} method
> Methods right at the 64 KB limit need 5-53 times the default operation budget
> and up to about 290 MB. They still compile in under a second, so the 64 KB
> method limit already bounds the worst case.
> h4. Changes
> * {{CompilationUnit}}'s class writer now applies configurable limits, and by
> default they impose no practical limit, restoring the ASM 9.10.1 behaviour.
> * New {{CompilerConfiguration}} settings {{frameComputationMaxBytes}} and
> {{frameComputationMaxOperations}}, with the system/configuration properties
> {{groovy.frame.computation.max.bytes}} and
> {{groovy.frame.computation.max.operations}}. They let sandboxed or embedded
> uses bound what one method of untrusted source can consume.
> * When a configured limit is exceeded, the compile error now names these
> properties.
> h4. Tests
> * New {{gls.sizelimits.MethodSizeTest}}: generated methods about two thirds
> of the way to the 64 KB code limit, covering dynamic and static locals with
> branches, static locals of mixed types, closures, try/catch/finally, dynamic
> and static switch, a large static initializer and a large script body. Each
> case is compiled and run. Against ASM 9.11.1 with its default limits, 7 of
> the 9 cases fail. All pass with this change.
> * {{MethodSizeTest.testConfiguredFrameComputationLimit}}: a low configured
> operation limit fails compilation with {{LimitExceededException}} as the root
> cause, and the error message names the property.
> * {{CompilerConfigurationTest}}: defaults, system properties and
> {{Properties}}, copy constructor, the immutable {{DEFAULT}}, and rejection of
> non-positive values.
> ```
--
This message was sent by Atlassian Jira
(v8.20.10#820010)