Description of problem: tomcat6 is unable to load candlepin when sun or oracle devel are installed. Version-Release number of selected component (if applicable): Satellite-6.0.1-RHEL-6-20130628.1-Satellite-x86_64-dvd1.iso How reproducible: every time Steps to Reproduce: 1. install java-1.6.0-sun-devel and/or java-1.7.0-oracle-devel 2. katello-service stop 3. katello-service start 4. cat /var/log/tomcat6/catalina.out Actual results: INFO: validateJarFile(/usr/share/tomcat6/webapps/candlepin/WEB-INF/lib/servlet.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class Aug 09 21:50:44 [main] WARN org.jboss.resteasy.plugins.providers.RegisterBuiltin - NoClassDefFoundError: Unable to load builtin provider: org.jboss.resteasy.plugins.providers.multipart.MimeMultipartProvider Aug 09 21:50:44 [main] INFO org.candlepin.guice.CustomizableModules - Found custom module module.config.katello Aug 09 21:50:44 [main] INFO org.candlepin.config.EncryptedValueConfigurationParser - reading secret file: /etc/katello/secure/passphrase Aug 09 21:50:44 [main] INFO org.candlepin.config.EncryptedValueConfigurationParser - str passphrase: J59hKKp1JAcsc9g4xS0YxlczrID8CY8iXrxghaUfu7i3cQZZNFZ0oaaBtykLvLGh Aug 09 21:50:44 [main] INFO org.candlepin.config.EncryptedValueConfigurationParser - tmpPassphrase: J59hKKp1JAcsc9g4xS0YxlczrID8CY8iXrxghaUfu7i3cQZZNFZ0oaaBtykLvLGh Aug 09 21:50:44 [main] INFO org.candlepin.config.EncryptedValueConfigurationParser - Using katello-passwd passphrase: J59hKKp1JAcsc9g4xS0YxlczrID8CY8iXrxghaUfu7i3cQZZNFZ0oaaBtykLvLGh Aug 09 21:50:44 [main] INFO org.candlepin.config.EncryptedValueConfigurationParser - getPassphrase: J59hKKp1JAcsc9g4xS0YxlczrID8CY8iXrxghaUfu7i3cQZZNFZ0oaaBtykLvLGh Aug 09 21:50:44 [main] INFO org.candlepin.config.EncryptedValueConfigurationParser - decrypt called Aug 09 21:50:44 [main] INFO org.candlepin.config.EncryptedValueConfigurationParser - Failure trying to decrypt1kcE/MKUOJwHEJh5H4WbQw== java.security.InvalidKeyException: Illegal key size Expected results: candlepin should start with java-1.6.0-sun-devel and/or java-1.7.0-oracle-devel installed Additional info:
Could you clarify where exactly you got these rpms: java-1.6.0-sun-devel and/or java-1.7.0-oracle-devel I cannot find these anywhere in Red Hat's build system so I'm not aware where they are coming from. If I go to download the official rpms from Oracle I get something like this: [root@rhel6-sam13-dev ~]# rpm -i jdk-7u25-linux-x64.rpm Unpacking JAR files... rt.jar... jsse.jar... charsets.jar... tools.jar... localedata.jar... [root@rhel6-sam13-dev ~]# rpm -qa | grep jdk java-1.7.0-openjdk-1.7.0.25-2.3.10.4.el6_4.x86_64 java-1.6.0-openjdk-1.6.0.0-1.62.1.11.11.90.el6_4.x86_64 jdk-1.7.0_25-fcs.x86_64 [root@rhel6-sam13-dev ~]# [root@rhel6-sam13-dev ~]# [root@rhel6-sam13-dev ~]# [root@rhel6-sam13-dev ~]# java -v Unrecognized option: -v Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit. [root@rhel6-sam13-dev ~]# java --version Unrecognized option: --version Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit. [root@rhel6-sam13-dev ~]# java -version java version "1.7.0_25" OpenJDK Runtime Environment (rhel-2.3.10.4.el6_4-x86_64) OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode) [root@rhel6-sam13-dev ~]# service tomcat6 restart Stopping tomcat6: [ OK ] Starting tomcat6: [ OK ] [root@rhel6-sam13-dev ~]# I can install it and openjdk remains the default, so Candlepin / Katello continue to function fine. Note that openjdk is the only supported JDK Katello can run on. So the official Sun/Oracle JDK doesn't seem to interfere if it's installed. I can't officially reproduce the problem as I don't know where these RPMs might be coming from. If I could reproduce I would be looking to see if "alternatives" can be used to configure openjdk as the default again, but that somewhat depends on where your rpms are from and how they're packaged. Need a little more info: 1. where exactly are these rpms from 2. does alternatives let you set openjdk back to the default: https://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_Web_Platform/5/html/Installation_Guide/sect-use_alternatives_to_set_default_JDK.html Thanks.
The packages are part of the Red Hat Supplementary repository. java-1.6.0-sun.x86_64 1:1.6.0.45-1jpp.1.el6 @RHEL6 Supplementary/6.3 java-1.7.0-oracle.x86_64 1:1.7.0.25-1jpp.1.el6_4 @RHEL6 Supplementary/6.3 java-1.7.0-oracle-devel.x86_64 1:1.7.0.25-1jpp.1.el6_4 @rhel6-supplementary java-1.6.0-sun.i686 1:1.6.0.45-1jpp.1.el6 rhel6-supplementary java-1.6.0-sun-demo.x86_64 1:1.6.0.45-1jpp.1.el6 rhel6-supplementary java-1.6.0-sun-devel.i686 1:1.6.0.45-1jpp.1.el6 rhel6-supplementary java-1.6.0-sun-devel.x86_64 1:1.6.0.45-1jpp.1.el6 rhel6-supplementary java-1.6.0-sun-jdbc.x86_64 1:1.6.0.45-1jpp.1.el6 rhel6-supplementary java-1.6.0-sun-plugin.x86_64 1:1.6.0.45-1jpp.1.el6 rhel6-supplementary java-1.6.0-sun-src.x86_64 1:1.6.0.45-1jpp.1.el6 rhel6-supplementary java-1.7.0-oracle-javafx.x86_64 1:1.7.0.25-1jpp.1.el6_4 rhel6-supplementary java-1.7.0-oracle-jdbc.x86_64 1:1.7.0.25-1jpp.1.el6_4 rhel6-supplementary java-1.7.0-oracle-plugin.x86_64 1:1.7.0.25-1jpp.1.el6_4 rhel6-supplementary java-1.7.0-oracle-src.x86_64 1:1.7.0.25-1jpp.1.el6_4 rhel6-supplementary I can use alternatives to set javac but I have to install the openjdk devel package in order to do that. java-1.6.0-openjdk-devel.x86_64 Once I installed java-1.6.0-openjdk-devel.x86_64 and used alternatives to set javac to openjdk candlepin will start.
Thanks for the details, unfortunately OpenJDK is required for Katello/Satellite 6 per instructions here: https://fedorahosted.org/katello/wiki/Install So this must be installed, combined with alternatives to configure the correct JVM on the Satellite server, I think everything is working as expected today. Closing for now.
At the very least I would think the Installer or Instructions must be updated. There is nothing that prevents a client from having both openjdk and oracle jdk installed. I wouldn't think openjdk should have to be set as the primary Java version either, candlepin should be able to select the correct version for its use.