Hi, I think this is going to be one for Mladen but if you have some insight please do speak up.
I have been looking at: https://issues.apache.org/jira/projects/DAEMON/issues/DAEMON-398 I'll try and keep the explanation short. One of the first things Tomcat9.exe (prunsrv.exe) does is to redirect stdout and stderr to files. Tomcat9.exe (in jvm mode) then calls into jvm.dll to create a Java runtime environment in process. As part of this it provides the command line arguments. If these are invalid, an error is written to stderr and the Java runtime fails to initialise. Generally, all is good. If you use Windows Server 2012 R2 or earlier with any Java version, the redirection works. If you use AdoptOpenJDK 11.0.2+9 on earlier on any current Windows version, the redirection works. However, if you try the above with AdoptOpenJDK 11.0.3.7 or later on Windows Server 2016 the redirection fails. This appears to be related to AdoptOpenJDK 11.0.3.7 being built with Visual Studio 2017 (11.0.2+9 was build with VS 2013). I have tried to recreate the problem with a simple DLL and EXE without success. I have tried various tweaks to the redirection code without success. Avoiding issues like this is exactly why we build Commons Daemon and Tomcat Native against MSCVRT.DLL using the build environment Mladen designed. It looks like VS2017 might finally have broken that. Mark --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org