[ANNOUNCE] Apache Groovy 4.0.21 released

2024-04-08 Thread Paul King
Dear community,

The Apache Groovy team is pleased to announce version 4.0.21
of Apache Groovy which includes support for running Groovy on JDK 23.

Apache Groovy is a multi-faceted programming language for the JVM.
Further details can be found at the https://groovy.apache.org website.

This release is a maintenance release of the GROOVY_4_0_X branch.
It is strongly encouraged that all users using prior
versions on this branch upgrade to this version.

This release includes 8 bug fixes/improvements as outlined in the changelog:
https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12318123&version=12354415

Sources, convenience binaries, downloadable documentation and an SDK
bundle can be found at: https://groovy.apache.org/download.html
We recommend you verify your installation using the information on that page.

Jars are also available within the major binary repositories.

We welcome your help and feedback and in particular want
to thank everyone who contributed to this release.

For more information on how to report problems, and to get involved,
visit the project website at https://groovy.apache.org/

Best regards,

The Apache Groovy team.


[ANNOUNCE] Apache Groovy 5.0.0-alpha-8 released

2024-04-08 Thread Paul King
Dear community,

The Apache Groovy team is pleased to announce version 5.0.0-alpha-8
of Apache Groovy which includes support for running Groovy on JDK 23.

Apache Groovy is a multi-faceted programming language for the JVM.
Further details can be found at the https://groovy.apache.org website.

This is a pre-release of a new version of Groovy.
We greatly appreciate any feedback you can give us when using this version.

This release includes 15 bug fixes/improvements as outlined in the changelog:
https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12318123&version=12354408

Sources, convenience binaries, downloadable documentation and an SDK
bundle can be found at: https://groovy.apache.org/download.html
We recommend you verify your installation using the information on that page.

Jars are also available within the major binary repositories.

We welcome your help and feedback and in particular want
to thank everyone who contributed to this release.

For more information on how to report problems, and to get involved,
visit the project website at https://groovy.apache.org/

Best regards,

The Apache Groovy team.


Re: Deadlock in Java9.getDefaultImportClasses() ?

2024-04-08 Thread Jochen Theodorou

On 08.04.24 16:48, Mutter, Florian wrote:

After updating Kubernetes from 1.27 to 1.28 one of our applications is
not working anymore.

The application uses thymeleaf templating engine that uses groove under
the hood. The application does not respond to request that require a
template to be rendered. Looking at the stacktrace did not give us any
hint what is causing this. In the profiler it looks like a lot of time
is spent waiting in Java9.getDefaultImportClasses() method. We could not
find any code in there or in ClassFinder.find() that looks like it could
cause a dead lock.

When attaching the debugger and adding some break points in
Java9.getDefaultImportClasses() it did work 🤷‍♂️.


This is really weird. Java, Groovy and thymeleaf versions are the same?
What Groovy version are you using btw? What version of Java?



The only thing that we could see that is different between a working
setup and a non-working one is the updated Kubernetes with updated node
images using a newer linux kernel. No idea how this could impact the code.


The linux kernel should not impact that unless it is a bug in Java.


Does anyone have an idea what could cause this or what we could do to
identify the cause of the dead lock?

I attached a screenshot of the profiler.


I would be nice to know the line number, then we know at least which of
the 3 possible supplyAsync().get() fails. I was thinking maybe this can
happen if there is an exception... but normally get() should produce an
ExecutionException in that case.

Right now I am a bit clueless

bye Jochen