-
-
Notifications
You must be signed in to change notification settings - Fork 179
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
Building with Java 21 fails due to ancient Antlr plugin #5249
Comments
There is no plan to support JDK 21 in eXist-db version 4, 5, 6, or 7.
That is not a simple thing to achieve:
|
@parrt: Do you agree with this assessment regarding Antlr 4? |
hm... I'm not sure what issue it is that's causing this but java has definitely moved on into some weird territory that I've not kept up with over the last five to ten years I'm afraid. |
Thanks, I was just wondering whether Antlr 4 is still considered costly or even unusable in terms of reusing parsers / lexers... @adamretter Can you please elaborate the issue at hand a bit to get an assessment by @parrt ? Thanks! |
@cmahnke @parrt It's been a while since I looked into it, but if I recall correctly, the way that Antlr4 is designed is that it caches decisions it makes on which path to take whilst parsing. I understood that that is fine for parsing a few things, but for a long-running database server which has to parse an unlimited number of queries on demand it effectively results in a memory leak. Perhaps this may have been addressed in a newer Antlr 4 since I last looked (a year or so ago), I haven't checked... |
You have to hit the cache clear function if your parser is going to run in a long running server. (at some interval or when et gets a certain size) |
I know, that support for Java 17 is planned for version 7.0, see the blog post "January 2023 Releases" from 2023/01/15 - over a year ago.
Since Java 8 is EOL for non paying customers for about two years now and the current LTS is already Java 21, the following should be fixed in the development branch ASAP:
Enviroment:
The problem is introduced by the Maven plugin
org.codehaus.mojo:antlr-maven-plugin:2.2
(which was released 2010) in theexist-core
module. Even though there seems to be a fix. A clean solution would get rid of this unmaintained dependency of the build system and maybe switch to AntLR 4 in the process.The text was updated successfully, but these errors were encountered: