IBM Support

IJ37661: SUMA FAILS WITH JVMCFRE003 BAD MAJOR VERSION APPLIES TO AIX 7300-00

 

APAR status

  • Closed as program error.

Error description

  • In AIX 7300-00-01-2148 and AIX 7200-05-03-2148 when you
    have multiple versions of Java installed SUMA fails with
    JVMCFRE003 bad major version:
    
    # oslevel -s
    7300-00-01-2148
    
    # lslpp -l | grep Java
      Java7_64.jre             7.0.0.690  COMMITTED  Java SDK
    64-bit Java Runtime
      Java7_64.sdk             7.0.0.690  COMMITTED  Java SDK
    64-bit Development
      Java8_64.jre             8.0.0.636  COMMITTED  Java SDK
    64-bit Java Runtime
      Java8_64.sdk             8.0.0.636  COMMITTED  Java SDK
    64-bit Development
      Java7_64.jre             7.0.0.690  COMMITTED  Java SDK
    64-bit Java Runtime
      Java8_64.jre             8.0.0.636  COMMITTED  Java SDK
    64-bit Java Runtime
    
    # suma -x -a Action=Preview -a RqType=Latest
    DEBUG: Defaulting FilterML to '7300-00' (SUMA::Policy,
    /usr/suma/lib/SUMA/Policy.pm [545])
    **************************************** (main,
    /usr/sbin/suma [994])
    Performing preview download. (main, /usr/sbin/suma [995])
    **************************************** (main,
    /usr/sbin/suma [996])
    Exception in thread "main"
    java.lang.UnsupportedClassVersionError: JVMCFRE003 bad
    major version; class=ECCWrapper, offset=6 (main,
    /usr/sbin/suma [1068])
            at java.lang.ClassLoader.defineClassImpl(Native
    Method) (main, /usr/sbin/suma [1068])
            at
    java.lang.ClassLoader.defineClass(ClassLoader.java:324)
    (main, /usr/sbin/suma [1068])
            at
    java.security.SecureClassLoader.defineClass(SecureClassLo
    ader.java:155) (main, /usr/sbin/suma [1068])
            at
    java.net.URLClassLoader.defineClass(URLClassLoader.java:7
    15) (main, /usr/sbin/suma [1068])
            at
    java.net.URLClassLoader.access$400(URLClassLoader.java:94
    ) (main, /usr/sbin/suma [1068])
            at
    java.net.URLClassLoader$ClassFinder.run(URLClassLoader.ja
    va:1169) (main, /usr/sbin/suma [1068])
            at
    java.security.AccessController.doPrivileged(AccessControl
    ler.java:492) (main, /usr/sbin/suma [1068])
            at
    java.net.URLClassLoader.findClass(URLClassLoader.java:598
    ) (main, /usr/sbin/suma [1068])
            at
    java.lang.ClassLoader.loadClassHelper(ClassLoader.java:77
    7) (main, /usr/sbin/suma [1068])
            at
    java.lang.ClassLoader.loadClass(ClassLoader.java:750)
    (main, /usr/sbin/suma [1068])
            at
    sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:
    341) (main, /usr/sbin/suma [1068])
            at
    java.lang.ClassLoader.loadClass(ClassLoader.java:731)
    (main, /usr/sbin/suma [1068])
            at
    sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelp
    er.java:495) (main, /usr/sbin/suma [1068])
    0500-012 An error occurred attempting to download. (main,
    /usr/sbin/suma [1087])
    

Local fix

  • 1) Uninstall older Java version:
    # installp -u Java7_64.jre Java7_64.sdk
    
    then SUMA starts working as expected.
    
    or
    
    2) vi /usr/suma/bin/suma
    
    find the following variable:
    
    # Global Variables
    #########################################################
    ######################
    my $JAVA = "/usr/java7_64/jre/bin/java";
    if (! -e $JAVA) {
            find_java();
    }
    
    change it to:
    
    # Global Variables
    #########################################################
    ######################
    my $JAVA = "/usr/java8_64/jre/bin/java";
    if (! -e $JAVA) {
            find_java();
    }
    
    Then SUMA starts working as expected.
    
    The script use find_java, that list java fileset as
    follow :
    /usr/java7/jre/bin/java
    /usr/java7/bin/java
    /usr/java7_64/jre/bin/java
    /usr/java7_64/bin/java
    /usr/java8_64/jre/bin/java
    /usr/java8_64/bin/java
    
    It takes the first that is executable it select java 7
    and errors out.
    

Problem summary

  • suma failed because of Java 7 is selected instead of Java 8
    

Problem conclusion

  • Change the default java search path to Java 8
    

Temporary fix

Comments

APAR Information

  • APAR number

    IJ37661

  • Reported component name

    AIX V7.3

  • Reported component ID

    5765CD300

  • Reported release

    730

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Submitted date

    2022-02-07

  • Closed date

    2022-02-07

  • Last modified date

    2022-12-02

  • APAR is sysrouted FROM one or more of the following:

    IJ37395

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    AIX V7.3

  • Fixed component ID

    5765CD300

Applicable component levels

  • R730 PSY U890960

       UP22/04/29 I 1000

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SG11T"},"Platform":[{"code":"PF053","label":"Power Systems"}],"Version":"730","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]

Document Information

Modified date:
02 December 2022