Informix

  • 1.  Upgrade IDS 12 to 14 – JVP abort

    Posted Tue July 06, 2021 06:11 AM
    Edited by Sh To Wed July 07, 2021 03:14 AM

    Hello,

     

    I just tried to upgrade IDS 12 to 14 and I got this on online.log

     

    15:22:17  The C Language Module </IDS/informix/extend/krakatoa/lmjava.so> loaded

    15:22:17  Loading Module <java_security:SecurityUtil>

    15:22:17  Got the mutex

    15:22:17  LD_LIBRARY_PATH=/IDS/informix/extend/krakatoa/jre/bin/j9vm

    15:22:17  VM args[0]= -Xss512k

    15:22:17  VM args[1]= -Djava.security.policy=/IDS/informix/tmp/JVM_security

    15:22:17  VM args[2]= -Xms16m

    15:22:17  VM args[3]= -Xmx16m

    15:22:17  VM args[4]= exit

    15:22:17  VM args[5]= abort

    15:22:17  VM args[6]= -verbose:jni

    15:22:17  VM args[7]= vfprintf

    15:22:17  VM args[8]= -Dcom.ibm.tools.attach.enable=no

    15:22:17  VM args[9]= -Djava.class.path=/IDS/informix/extend/krakatoa/krakatoa.jar:/IDS/informix/extend/krakatoa/jdbc.jar:/IDS/informix/extend/krakatoa

    15:22:17  Successfully created Java VM.

    15:22:17  Got the mutex

    15:22:17  JVPEXIT:JVP process id = 15289 is exiting now!

    Please contact Informix Technical Support...

     

    15:22:17  Assert Failed: JVP abort

    15:22:17  IBM Informix Dynamic Server Version 14.10.FC4W1

    15:22:17   Who: Session(5, informix@, 0, (nil))

                    Thread(85, kaio, 0, 10)

                    File: mt_fn.c Line: 4389

    15:22:17   Results:

    15:22:17   Action: Please notify IBM Informix Technical Support.

    15:22:17  stack trace for pid 15280 written to /IDS/informix/tmp/af.43df979

    15:22:17   See Also: /IDS/informix/tmp/af.43df979

    15:22:26  JVP abort

     

     

    In the IDS 14 install, under

    /IDS/informix/extend/krakatoa/

    I don't have jdbc.jar

     

    But under IDS12, it is there.

    First, is it the reason of JVP abort?

    If yes, how do I install that jdbc.jar file ?

     

    Thanks
    Samuel



    ------------------------------
    Sh To
    ------------------------------


  • 2.  RE: Upgrade IDS 12 to 14 – JVP abort

    Posted Tue July 06, 2021 08:16 AM
    You do not need the JDBC driver for the JVM to start - I had that confirmed recently under another PMR.

    This customer issue was a classpath picking up some older V11.7 jars.  Once the classpath was altered all was good

    Cheers
    Paul

    Paul Watson
    Oninit LLC
    +1-913-387-7529
    www.oninit.com
    Oninit®️ is a registered trademark of Oninit LLC





  • 3.  RE: Upgrade IDS 12 to 14 – JVP abort

    Posted Tue July 06, 2021 08:17 AM
    What is the stack on the abort ? Normally points you in the right direction

    Cheers
    Paul

    Paul Watson
    Oninit LLC
    +1-913-387-7529
    www.oninit.com
    Oninit®️ is a registered trademark of Oninit LLC





  • 4.  RE: Upgrade IDS 12 to 14 – JVP abort

    Posted Wed July 07, 2021 02:15 AM
    Edited by Sh To Wed July 07, 2021 03:17 AM
    Hello Paul,

    Sorry, but I don't understand what to do with this :
    What is the stack on the abort ? Normally points you in the right direction

    Where is that information ?

    Also,
    In fact we use UDRs written in java
    https://www.ibm.com/docs/en/informix-servers/14.10?topic=guide-prepare-java-support

    I understand now that it's not a prob of jdbc.
    So, i need to install
    • Informix® 14.10 with J/Foundation.
    • Java software development kit

    Do i need to do something specific for Informix 14.10 with J/Foundation ?

    And about the SDK, if it runs on the same server for IDS12,
    Do i need to re-install something for IDS14 ?


    Thanks

    ------------------------------
    Sh To
    ------------------------------



  • 5.  RE: Upgrade IDS 12 to 14 – JVP abort

    Posted Wed July 07, 2021 03:36 AM
    15:22:17  stack trace for pid 15280 written to /IDS/informix/tmp/af.43df979
    Paul is asking what that file reveals.


    Clive Eisen
    GPG: 3818B5F1











  • 6.  RE: Upgrade IDS 12 to 14 – JVP abort

    Posted Wed July 07, 2021 04:37 AM
    It will be in the top 100 lines or so of the af file. The last few functions will probably be af_*

    Cheers
    Paul

    Paul Watson
    Oninit LLC
    +1-913-387-7529
    www.oninit.com
    Oninit®️ is a registered trademark of Oninit LLC





  • 7.  RE: Upgrade IDS 12 to 14 – JVP abort

    Posted Thu July 08, 2021 05:57 AM
    Hello,

    So, there is a lot of things in af.43df979 and it s not easy to understand what's wrong there.
    But, i found something interesting in tmp/jvp.log

    At the very beginning i have this :

    loading native library /IDS/informix/extend/krakatoa/libjvp.so
    Read JVP property file/IDS/informix/extend/krakatoa/.jvpprops
    2020/05/11 18:43:47.906 JVP#19: TraceableImpl: trace settings property is null
    DBAThread Pool is enabled with size = 20 with patrol interval = 5
    Alarm Time set to 3
    2020/05/11 18:43:48.315 JVP#19: DBA API: binding to '/anonymous:19/ServiceDirectory'
    2020/05/11 18:43:48.325 JVP#19: ServiceDirectory rebind err: Connection refused to host: 10.0.1.3; nested exception is:
    java.net.ConnectException: Connection refused
    2020/05/11 18:43:48.325 JVP#19: Could not connect to RMI, rmiregistry probably not running
    2020/05/11 18:43:48.329 JVP#19: Registering service Logger
    2020/05/11 18:43:48.330 JVP#19: Registering service Tracer
    T#1 2020/05/11 18:43:48.549 JVP#19: Error loading UDR class: java.lang.ClassNotFoundException: Class devdb.dbown.java_security:SecurityUtil not found in jar devdb.dbown.java_security. Please verify the three part name (dbname.username.jarid) of the installed jar with the jar file name in your JAR_TEMP_PATH or /tmp directory.
    PARAM is not NULL

    I found something else interesting. (It s little messy, sorry)
    For multiple informix installation (upgrade) on the same server, the chosen solution is to use different directories (mount point) and not symbolic link.

    The current version run on IDS/informix mount point and
    the new install process is made on IDS_Prev/informix

    And when the new install is ready the devices and mount points are switched
    so the new install become IDS/informix and the old one IDS_Prev/informix

    I don't know if this could be the problem, but i see that under informix/extend/krakatoa/ the jre symbolic link of the new install points to /IDS_Prev/informix/jvm/jre.
    lrwxrwxrwx. 1 root root 26 Apr 22 14:47 jre -> /IDS_Prev/informix/jvm/jre

    That means that after the switch between the mount point, jre will point toward the old installation.

    Is this could be a/the problem ?

    Thanks
    Samuel


    ------------------------------
    Sh To
    ------------------------------



  • 8.  RE: Upgrade IDS 12 to 14 – JVP abort

    Posted Thu July 08, 2021 09:09 AM
    Samuel:

    Yes, it is likely that this is a problem. Try fixing the link to where it should go and try again.

    Art

    ------------------------------
    Art S. Kagel, President and Principal Consultant
    ASK Database Management Corp.
    www.askdbmgt.com
    ------------------------------



  • 9.  RE: Upgrade IDS 12 to 14 – JVP abort

    Posted Wed July 14, 2021 04:57 AM
    Hello,

    Fixing the link is not enough.
    But i found the way to make it work.

    In the onconfig, the Java Configuration Parameters are taken from the ids12 onconfig file
    And they are like this :

    VPCLASS jvp,num=1
    JVPJAVAHOME $INFORMIXDIR/extend/krakatoa/jre
    JVPHOME $INFORMIXDIR/extend/krakatoa
    JVPPROPFILE $INFORMIXDIR/extend/krakatoa/.jvpprops
    JVPLOGFILE $INFORMIXDIR/tmp/jvp.log
    JVPARGS -verbose:jni;-Dcom.ibm.tools.attach.enable=no
    JVPCLASSPATH $INFORMIXDIR/extend/krakatoa/krakatoa.jar

    If i set those params to the default (onconfig.std values), it works

    #VPCLASS jvp,num=1
    JVPPROPFILE $INFORMIXDIR/extend/krakatoa/.jvpprops
    JVPCLASSPATH $INFORMIXDIR/extend/krakatoa/krakatoa.jar

    The person who set the Java Configuration Parameters did this for sure for good reasons,
    but apparently this is not suitable for ids14.

    But, i don't understand what s wrong
    VPCLASS
    If you use Java™ user-defined routines or Java applications, create at least one Java virtual processor by adding a VPCLASS configuration parameter entry for the JVP virtual processor class. If you set the number of JVPs to zero, or if there is no VPCLASS parameter for the JVP class, you cannot run Java UDRs.

    Strangely it works when VPCLASS is commented out.

    JVPJAVAHOME
    Deprecated but
    "
    This parameter is required if the number of JVPs (set in VPCLASS JVP) is greater than 0."
    And this is the case.

    JVPHOME
    Correct value

    JVPPROPFILE
    This parameter is optional.
    Although the file does not exist, it works with the default ids14 settings of onconfig.std

    JVPLOGFILE
    For sure, not the problem

    JVPARGS
    Maybe here i have a problem

    JVPCLASSPATH

    And the $INFORMIXDIR/extend/krakatoa/ folder contains this:
    -rw-r--r--. 1 informix informix 1688 Jun 16 2020 .jvpprops.template
    drwxr-xr-x. 2 informix informix 4096 Jul 14 08:56 examples
    -rw-r--r--. 1 informix informix 1585162 Jun 16 2020 ifxlang.jar
    -rw-r--r--. 1 informix informix 526 Jun 16 2020 informix.policy.std
    lrwxrwxrwx. 1 root root 21 Jul 14 09:21 jre -> /IDS/informix/jvm/jre
    -rw-r--r--. 1 informix informix 2575442 Jun 16 2020 krakatoa.jar
    -rwxr-xr-x. 1 informix informix 84192 Jun 16 2020 libjvp.so
    -rwxr-xr-x. 1 informix informix 707304 Jun 16 2020 libjvp_g.so
    -rwxr-xr-x. 1 informix informix 180712 Jun 16 2020 lmjava.so
    -rw-r--r--. 1 informix informix 1673 Jun 16 2020 logback.xml
    -rw-r--r--. 1 informix informix 498 Jun 16 2020 update_jars.sql

    But... something strange:
    If i first run a UDR with the onconfig.std Java Configuration Parameters (default)

    And after, i edit the onconfig and set the IDS12 values (+ informix off / on)
    It still work.

    Any idea ?
    Samuel

    ------------------------------
    Sh To
    ------------------------------



  • 10.  RE: Upgrade IDS 12 to 14 – JVP abort

    IBM Select
    Posted Thu July 08, 2021 12:21 PM

    To help answer some questions.  When we rebuilt J/Foundation for 14.10, we consolidated the jdbc driver jar file into the krakatoa.jar file.  They were so tightly coupled  that it made sense to just combine them so a single file could be upgraded.

    You have some good things to try from Art, but if you need the JVP to log more information which may or may not help this or in the future, j/foundation with 14.10 has actual logging 😁.  

    You will find it in your $INFORMIXDIR/extend/krakatoa/logback.xml file and by default it should print to $INFORMIXDIR/tmp/jvp.log and should have any java exceptions and tracing printed in it.  It's set to WARN, but you can get more information setting it to DEBUG.  It's a logback file so you can look up logback configuration files to see all the options you can set.



    ------------------------------
    Brian Hughes
    ------------------------------