Installation Fail - Timeout starting Tomcat

For those who are stuck with Java 10… try downloading Java 8 and install. You can switch between versions like so:

# List Java versions installed
/usr/libexec/java_home -V

# Java 10
export JAVA_HOME=$(/usr/libexec/java_home -v 10)

# Java 9
export JAVA_HOME=$(/usr/libexec/java_home -v 9)

# Java 1.8
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)

There’s a difference between leveraging the latest Java in our code and just running on the latest Java. But hey, we’re all docker based :whale: so I’m happy for us to run the latest of everything all of the time :smiley:

Right. By “supporting” I mean “running on”. That came up too in a conversation a couple of months ago :slight_smile:

I’m trying to install using lucee-5.2.7.062-p10-windows-installer on an Windows 7 machine and getting the failure to start the lucee service and “Error in xmlFileGet action”. I have JDK 8 & JRE 8 installed.

Hi @new2lucee,

This issue happens on latest installer for me also. Throwing Timeout reached waiting for tomcat to start After that it shows like “Error in xmlFileGet action”.

Workaround:

start the tomcat here: \lucee\tomcat\bin\startup.bat

But It doesn’t run using lucee service.

Install log contains:

Starting Lucee Service
Unable to start Lucee : Service not responding
[13:34:41] ElapsedTime: 0
[13:34:42] ElapsedTime: 1000
[13:34:43] ElapsedTime: 2000
[13:34:44] ElapsedTime: 3000
[13:34:45] ElapsedTime: 4000
[13:34:46] ElapsedTime: 5000
[13:34:47] ElapsedTime: 6000
[13:34:48] ElapsedTime: 7000
[13:34:49] ElapsedTime: 8000
[13:34:50] ElapsedTime: 9000
[13:34:51] ElapsedTime: 10000
[13:34:52] ElapsedTime: 11000
[13:34:53] ElapsedTime: 12000
[13:34:54] ElapsedTime: 13000
[13:34:56] ElapsedTime: 14000
[13:34:57] ElapsedTime: 15000
[13:34:58] ElapsedTime: 16000
[13:34:59] ElapsedTime: 17000
[13:35:00] ElapsedTime: 18000
[13:35:01] ElapsedTime: 19000
[13:35:02] ElapsedTime: 20000
[13:35:03] ElapsedTime: 21000
[13:35:04] ElapsedTime: 22000
[13:35:05] ElapsedTime: 23000
[13:35:06] ElapsedTime: 24000
[13:35:07] ElapsedTime: 25000
[13:35:08] ElapsedTime: 26000
[13:35:09] ElapsedTime: 27000
[13:35:10] ElapsedTime: 28000
[13:35:11] ElapsedTime: 29000
Securing Lucee Web Admins
Problem running post-install step. Installation may not complete correctly
Error in xmlFileGet action
Creating Uninstaller
Creating uninstaller 25%
Creating uninstaller 50%
Creating uninstaller 75%
Creating uninstaller 100%
Installation completed
Log finished 05/15/2018 at 13:36:16
1 Like

@modius / @isapir / all: I’ve flagged this one. It’s been an ongoing discussion for the dev team, but, yes, we’ll want to bump it up the priority list. Stay tuned.

Which version of Windows are you using?

Nevermind. I found it. I’m on it.

@new2lucee , @cfmitrah , or anyone else who would like to give it a try…

I’ve put up a patched installer here:
http://lucee.viviotech.net/lucee-5.2.7.062-pl1-windows-installer.exe

It tests out against Windows 7 (32-bit), Windows 10 (64-bit), Windows Server 2012 r2 (64-bit), Windows Server 2016 (64-bit). Can you give it a try and let me know if it works in your environments now?

I posted this is my Ubuntu 18.04 thread. Can we get the express Tomcat updated (especially for 5.3)? The latest 8.0/8.5 support Java 9+ and also Tomcat 8.0 is EOL next month.

Hi @Jordan_Michaels,

Yeah I’ve tested with above installer working fine on my environment (Windows 10 (64-bit), Windows 7 (64-bit)). Installed successfully without any error Tomcat starts fine.

1 Like

Thank you @cfmitrah.

Yep, works fine now - had to fully delete the previous (failed) installs first though. Thanks @Jordan_Michaels

I figured out you can remove references to endorsed in catalina.sh to get Java 10/11 to work with Lucee. I put the directions at the bottom of this comment.

However, I have found that using a newer version of Java causes permanent and massive slowdown in compilation times for changes to CFC code compared to running Lucee Java 8. 100% certain that the issue is the Java version and not something else. I hope that can be fixed somehow whenever Java 11+ and tomcat are upgraded in the Lucee installer.

I also had figured out how to run Java 10 and Tomcat 9 with lucee prior to Java 11’s release, and the same compilation slowness exists there unfortunately, so Tomcat 9 is not the answer.

There is nothing broken about Lucee running on Java 10/11 code though if you can tolerate waiting up to 5 seconds longer every time you change a CFML file. I have been getting annoyed by this though, and I’m going to downgrade back to Tomcat 8 / Java 8 so that I can work fast again.

If anyone has an answer for this compilation slowness, please share.

Notes for using Java 11 with Lucee:

I manually installed openjdk 11.0.1 to the lucee jre directory on Ubuntu 18.04:

/var/jetendo-server/lucee/jdk/jre

I say manual, because openjdk via apt-get on ubuntu 18.04 still installs openjdk 10 despite it being named 11 as of today. So I went to openjdk web site and directly downloaded and uncompressed the 64 bit linux build they offer there. Uncompressing to the right place is the only installation step required.

Then I found the endorsed error prevents the tomcat JVM from starting like someone else said on this thread.

I deleted all the references to

-Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" 

in this file:

lucee/tomcat/bin/catalina.sh

I was able to start lucee on openjdk 11.

Java 11 then had to recompile all of the cfc files of my application, which appeared to take forever, to the extent that I had to restart lucee 3 times to get it to finish compiling due to timeouts or whatever. My complex Lucee application was able to load on Java 11 without any other modifications though. Runtime performance is not degraded once compiled again, but that compilation time is quite bad. Perhaps the Bytecode transform stuff needs an upgrade or the removal of Unsafe stuff in Java 9 hurt Lucee. I have a feeling that deleting the cfclasses directory of Lucee’s context might help to fix the initial re-compiling problem too. I deleted cfclasses to resolve a problem with some of my code not being able to recompile the CFML again.

Tomcat 8 documents the endorsed directory feature as a way for them to override some kind of XML parser library on startup, but it doesn’t appear important to Lucee. They say it doesn’t work in Java 9+ and offer no solution. I just guessed it could be removed and found it can.

https://tomcat.apache.org/tomcat-8.0-doc/class-loader-howto.html

2 Likes