Short answer: yes. Before you do, I can offer another workaround to consider (beyond Julian’s). And I’d proposed that gathering some more info could be helpful. I can now offer that also for you and interested readers.
First, I’d proposed you might want to first confirm if the same problem happened if you used Java 17, or the most recent Java 11. I can now confirm it does not happen with them: this is new to Java 21–technically Java 20, which was a short-term release. (I tested both.)
And I’d said it would help if you might give us a single line standalone example that any of us could run, to test things out for you. (I don’t see one in your initial post".) Thankfully, Julian’s is sufficient to demonstrate the issue.
As for the other workaround I can offer, note that if you add this JVM arg to the startup of Lucee, the error goes away:
-Djava.locale.providers=COMPAT
I found this in in a 2020 spring discussion of a similar problem, and it worked. As it notes, Java 23 is due to remove that COMPAT option (also a synonym for JRE as an option there), so this is not a long-term solution. And such a JVM arg change could have side-effects worth someone exploring.
Yet another discussion (totally unrelated to CFML) indicated that an option is to NOT have that “newer” CLDR locale provider (from Java 11) being first in that list, so one could do COMPAT, CLDR, SPI ,HOST
(as the default seems to be instead 1CLDR, COMPAT, SPI ,HOST1). Again, though, there may be other impacts of such a change.
There’s some discussion of the CLDR matter in that Lucee Jira ticket Julian referenced–so they were aware of that a couple of years ago. But I’ll note that ticket was solving a slightly different problem and it was indeed closed as fixed back in 6.1.0. Like you, I was testing on 6.1.1.
if you might not want to go with the jvm arg change, I’ll add that besides Julian’s suggestion of removing the comma (which did work for me also), it’s perhaps worth noting that removing the time also “solves” the problem, but you may want that. And FWIW, changing the date to a numeric one also works, as in:
Dump( IsDate( "1/4/2018 12:00 AM" ) )
But perhaps removing the comma alone may be “easier” for you.
Anyway, those are other options for folks to consider, if faced with this, until it may be “fixed”.
FWIW, all these variants and your original one as well work just fine in CF2025 beta, which runs on Java 21. Interestingly, I see it’s that Adobe does by default set that -Djava.locale.providers=COMPAT,SPI
, and in fact they even did that for CF2023, which is interesting to see.
Finally, let us know the bug report link if you go that route: we here are not all notified when such bug reports are filed.
It need not be more than a sentence or two, really. You can offer just that one line of code as Julian did, and perhaps show the alternatives that do work. Mentioning that jvm arg may be helpful. The engineers should be able to sort it out from there. If you added a link to this thread, it MIGHT benefit them…or at least tie things together for future readers.