Bug#906447: tomcat8: Errors thrown when connecting
On 8/27/18 3:07 PM, Markus Koschany wrote: I believe you both misunderstand the current issue at hand. In Debian we default to OpenJDK 10 at the moment and soon OpenJDK 11 because this will be the only supported (security wise) runtime environment for Debian 10 "Buster". [...] Thanks for the writeup, and yes - you're right, I misunderstood you. :) The only way to fix this is to pass the --release flag to javac manually and where appropriate. This was done upstream in 8.5.33 and your problem should be addressed now. Excellent, thanks a lot for your efforts Markus. -- Best regards, Per
Bug#906447: tomcat8: Errors thrown when connecting
Am 27.08.2018 um 07:32 schrieb Per Lundberg: > On 8/26/18 12:46 AM, Markus Koschany wrote: > >> I believe we should tighten the dependency on default-jre-headless. We >> currently have for tomcat8-common: >> >> default-jre-headless | java8-runtime-headless | java8-runtime >> >> We should simply change that to >> >> default-jre-headless (>= 10) | java10-runtime-headless | java10-runtime > > Why can't we just compile it with OpenJDK 8? There are some of us who > are still stuck on Java 8 for various reasons (because of dependencies > of other projects), and I think it would be more convenient to let the > package be compiled for Java 8 for the time being. As long as Tomcat > doesn't actually use any Java 10 features, I don't really see the big > benefit of compiling it with OpenJDK 10 at this stage. I believe you both misunderstand the current issue at hand. In Debian we default to OpenJDK 10 at the moment and soon OpenJDK 11 because this will be the only supported (security wise) runtime environment for Debian 10 "Buster". We have to make sure that all our Java packages build from source and work with OpenJDK 11 and Debian testing and unstable are the only places where we can test our packages. Usually we would ship only one JDK per release because of security reasons, so compiling with OpenJDK 8 would not be an option. The issue here is that tomcat8 8.5.32 used the source and target flags and seemingly compiled to Java 7 bytecode. As explained in [1] that often does not work as intended. The only way to make sure that we compile to proper bytecode for an older platform, is by using the --release flag now. We tried to simplify this step by patching the Ant build tool but discovered that it would cause different build failures in other packages. The only way to fix this is to pass the --release flag to javac manually and where appropriate. This was done upstream in 8.5.33 and your problem should be addressed now. However we highly recommend to use OpenJDK 11 from now on because OpenJDK 8 will not receive any support in Buster. Regards, Markus [1] http://openjdk.java.net/jeps/247 signature.asc Description: OpenPGP digital signature
Bug#906447: tomcat8: Errors thrown when connecting
Hi, I suppose this a maintainer decision (compile with java8 or 10) but the bug in #895866 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=895866 seems to indicate that tomcat8 implies java8 compatibility. I would certainly preferred it that way. Vassilis Sorry for the duplication I failed to reply to 906...@bugs.debian.org On Mon, Aug 27, 2018 at 8:32 AM Per Lundberg wrote: > On 8/26/18 12:46 AM, Markus Koschany wrote: > > > I believe we should tighten the dependency on default-jre-headless. We > > currently have for tomcat8-common: > > > > default-jre-headless | java8-runtime-headless | java8-runtime > > > > We should simply change that to > > > > default-jre-headless (>= 10) | java10-runtime-headless | java10-runtime > > Why can't we just compile it with OpenJDK 8? There are some of us who > are still stuck on Java 8 for various reasons (because of dependencies > of other projects), and I think it would be more convenient to let the > package be compiled for Java 8 for the time being. As long as Tomcat > doesn't actually use any Java 10 features, I don't really see the big > benefit of compiling it with OpenJDK 10 at this stage. > -- > Best regards, > Per > -- Vassilis Virvilis
Bug#906447: tomcat8: Errors thrown when connecting
On 8/26/18 12:46 AM, Markus Koschany wrote: I believe we should tighten the dependency on default-jre-headless. We currently have for tomcat8-common: default-jre-headless | java8-runtime-headless | java8-runtime We should simply change that to default-jre-headless (>= 10) | java10-runtime-headless | java10-runtime Why can't we just compile it with OpenJDK 8? There are some of us who are still stuck on Java 8 for various reasons (because of dependencies of other projects), and I think it would be more convenient to let the package be compiled for Java 8 for the time being. As long as Tomcat doesn't actually use any Java 10 features, I don't really see the big benefit of compiling it with OpenJDK 10 at this stage. -- Best regards, Per
Bug#906447: tomcat8: Errors thrown when connecting
On Fri, 17 Aug 2018 20:50:14 +0300 Vassilis Virvilis wrote: [...] > With java8 installed I am getting the following. Isn't this the sign that is > compiled again against java9/java10? > > 2018-08-17 16:20:46] [crit] java.lang.NoSuchMethodError: > java.nio.ByteBuffer.limit(I)Ljava/nio/ByteBuffer; I believe we should tighten the dependency on default-jre-headless. We currently have for tomcat8-common: default-jre-headless | java8-runtime-headless | java8-runtime We should simply change that to default-jre-headless (>= 10) | java10-runtime-headless | java10-runtime Tomcat 8 works with the current default-jre package but you must manually install a Java 10 runtime at the moment since the dependency is satisfied with Java 8. Just switch to OpenJDK 10 with the update-alternatives mechanism and the error will go away. Markus signature.asc Description: OpenPGP digital signature
Bug#906447: tomcat8: Errors thrown when connecting
Package: tomcat8 Version: 8.5.32-2 Severity: important Dear Maintainer, *** Reporter, please consider answering these questions, where appropriate *** Hi, * What led up to the situation? With java8 installed I am getting the following. Isn't this the sign that is compiled again against java9/java10? 2018-08-17 16:20:46] [crit] java.lang.NoSuchMethodError: java.nio.ByteBuffer.limit(I)Ljava/nio/ByteBuffer; [2018-08-17 16:20:46] [crit] at org.apache.coyote.http11.Http11InputBuffer.recycle(Http11InputBuffer.java:282) [2018-08-17 16:20:46] [crit] at org.apache.coyote.http11.Http11Processor.recycle(Http11Processor.java:1708) [2018-08-17 16:20:46] [crit] at org.apache.coyote.AbstractProtocol$ConnectionHandler.release(AbstractProtocol.java:982) [2018-08-17 16:20:46] [crit] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:950) [2018-08-17 16:20:46] [crit] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1471) [2018-08-17 16:20:46] [crit] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [2018-08-17 16:20:46] [crit] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [2018-08-17 16:20:46] [crit] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [2018-08-17 16:20:46] [crit] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [2018-08-17 16:20:46] [crit] at java.lang.Thread.run(Thread.java:748) Looks like this bug #895866 but mailing 895...@bugs.debian.org failed. *** End of the template - remove these template lines *** -- System Information: Debian Release: buster/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 4.17.0-1-amd64 (SMP w/24 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages tomcat8 depends on: ii adduser3.117 ii debconf [debconf-2.0] 1.5.69 ii lsb-base 9.20170808 ii tomcat8-common 8.5.32-2 ii ucf3.0038 Versions of packages tomcat8 recommends: ii authbind 2.1.2 ii libtcnative-1 1.2.17-1 Versions of packages tomcat8 suggests: ii tomcat8-admin 8.5.32-2 ii tomcat8-docs 8.5.32-2 pn tomcat8-examples ii tomcat8-user 8.5.32-2 -- Configuration Files: /etc/tomcat8/catalina.properties [Errno 13] Permission denied: '/etc/tomcat8/catalina.properties' /etc/tomcat8/context.xml [Errno 13] Permission denied: '/etc/tomcat8/context.xml' /etc/tomcat8/jaspic-providers.xml [Errno 13] Permission denied: '/etc/tomcat8/jaspic-providers.xml' /etc/tomcat8/logging.properties [Errno 13] Permission denied: '/etc/tomcat8/logging.properties' /etc/tomcat8/policy.d/01system.policy [Errno 13] Permission denied: '/etc/tomcat8/policy.d/01system.policy' /etc/tomcat8/policy.d/02debian.policy [Errno 13] Permission denied: '/etc/tomcat8/policy.d/02debian.policy' /etc/tomcat8/policy.d/03catalina.policy [Errno 13] Permission denied: '/etc/tomcat8/policy.d/03catalina.policy' /etc/tomcat8/policy.d/04webapps.policy [Errno 13] Permission denied: '/etc/tomcat8/policy.d/04webapps.policy' /etc/tomcat8/policy.d/50local.policy [Errno 13] Permission denied: '/etc/tomcat8/policy.d/50local.policy' /etc/tomcat8/server.xml [Errno 13] Permission denied: '/etc/tomcat8/server.xml' /etc/tomcat8/tomcat-users.xml [Errno 13] Permission denied: '/etc/tomcat8/tomcat-users.xml' /etc/tomcat8/web.xml [Errno 13] Permission denied: '/etc/tomcat8/web.xml' -- debconf information excluded