Installation Fail - Timeout starting Tomcat

Hello,
It’s working now…but I’m still not sure why. Let me explain.
After several days of trying everything I could…including JRE & JDK 8 & 10, I could never get it to work.
Then I started thinking that maybe I’ve just messed things up by installing too many different things so I did a System Retore back to the point before I installed ANY JDK or JRE and before I installed Xampp and before I installed Lucee. I uninstalled Railo 4 (which had still been on the system) and even went through the Registry and deleted all remaining entries related to Railo. I then UNinstalled JAVA (everything, jre, jdk …Java etc)
Next I deleted ALL the Java folders under C:\Program Files

After doing all that, I restarted the system and downloaded a fresh copy of Xampp

I installed Xampp WITHOUT Tomcat (Only Apache Server and MySQL and PHP basically)

Next, I reinstalled Lucee. After doing this, it worked. So I’m not sure what exactly I did that got it to work.

Thank you (all who gave me advice) as it really helped me plow through this regardless.

If you you have and idea why it started working after doing the above by all means please let me know.

BTW…I DID NOT reinstall ANY JDK, JAVA or JRE whatsoever. I’m a bit surprised it worked without me doing that but it does.

Most likely the Tomcat installation for Lucee couldn’t bind to the TCP port because the other Tomcat instance was already bound to it.

1 Like

This is a bug in the windows batch file that creates the windows service. This script should be using the JRE that is shipped with the installer, but I must have missed something.

I will attempt to address this for the next installer build.

Thanks for reporting this.

@LuceeInTheSky If you still have the install.log file for one of those failed installs, that would be helpful in tracking down this issue.

The service.bat file included in the Tomcat directory is what creates the Lucee/Tomcat service. It’s possible with the XAMPP install there was a conflict (or mix-up or whatever) with the service name or a specific environment variable name. Having the install.log for one of the failed installs would tell me exactly what happened.

I just tried installing Lucee Express for 5.2.7 on a fresh iMAc and I get the same error:

-Djava.endorsed.dirs=/Users/modius/workbench/lucee-express-5.2.7.62/endorsed is not supported. Endorsed standards and standalone APIs
in modular form will be supported via the concept of upgradeable modules.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

It’s annoying because Java 10 is now the default Java offering for Mac OS. It just looks like Lucee is broken. An interim solution might be some conditional logic in the ./startup.sh to check for Java 10 and warn the user, assuming we can’t patch that in a hurry.

@isapir @IamSigmund any chance we can get this running sooner rather than later?

@modius - as you probably know from our previous conversations, I am always in favor of supporting the most current stable stack.

Resolving this sooner rather than later is just a matter of prioritizing the issue.

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