Bug 995629 - Candlepin will not start if sun or oracle java devel rpms are installed
Summary: Candlepin will not start if sun or oracle java devel rpms are installed
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: Subscription Management
Version: 6.0.1
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: Unspecified
Assignee: Devan Goodwin
QA Contact: Katello QA List
URL:
Whiteboard:
Depends On:
Blocks: sam13-tracker
TreeView+ depends on / blocked
 
Reported: 2013-08-09 21:53 UTC by Chuck Schweizer
Modified: 2014-01-27 13:26 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-08-13 15:20:04 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Chuck Schweizer 2013-08-09 21:53:21 UTC
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:

Comment 1 Devan Goodwin 2013-08-13 13:41:00 UTC
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.

Comment 2 Chuck Schweizer 2013-08-13 13:50:47 UTC
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.

Comment 3 Devan Goodwin 2013-08-13 15:20:04 UTC
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.

Comment 4 Chuck Schweizer 2013-08-13 15:25:57 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.