Hi Andreas,
thanks for response.
From online.log :
16:18:30 Booting Language <java> from module <$INFORMIXDIR/extend/krakatoa/lmjava.so>
16:18:30 Loading Module <$INFORMIXDIR/extend/krakatoa/lmjava.so>
16:18:30 The C Language Module </usr/informix/ids14/extend/krakatoa/lmjava.so> loaded
16:18:30 Loading Module <com.informix.judrs.IfxStrings>
16:18:30 Got the mutex
16:18:30 LIBPATH=/usr/informix/ids14/extend/krakatoa/jre/bin/classic:/usr/informix/ids14/extend/krakatoa/jre/bin:/usr/informix/ids14/extend/krakatoa/jre/lib/ppc64
16:18:30 VM args[0]= -Xss512k
16:18:30 VM args[1]= -Djava.security.policy=/usr/informix/ids14/tmp/JVM_security
16:18:30 VM args[2]= -Xms16m
16:18:30 VM args[3]= -Xmx16m
16:18:30 VM args[4]= exit
16:18:30 VM args[5]= abort
16:18:30 VM args[6]= -Djava.class.path=/usr/informix/ids14/extend/krakatoa/krakatoa.jar:/usr/informix/ids14/extend/krakatoa
16:18:30 Successfully created Java VM.
From onconfig :
VPCLASS jvp,num=1
JVPPROPFILE $INFORMIXDIR/extend/krakatoa/.jvpprops
JVPCLASSPATH $INFORMIXDIR/extend/krakatoa/krakatoa.jar
JVPJAVAHOME $INFORMIXDIR/extend/krakatoa/jre
JVPHOME $INFORMIXDIR/extend/krakatoa
From jvp.log :
16:18:31.153 [main] INFO i.j.dbapplet.impl.UDRDBAContextImpl - Initializing J/Foundation
16:18:31.161 [main] INFO i.j.dbapplet.impl.UDRDBAContextImpl - Loading native library: /usr/informix/ids14/extend/krakatoa/libjvp.so
16:18:31.164 [main] WARN jvp - TraceableImpl: trace settings property is null
16:18:31.171 [jvp-worker-1] INFO i.jvp.dbapplet.impl.DBAThreadImpl - Thread Thread[jvp-worker-1,9,main],state = IN-POOL T#1 IN POOL WAITS FOR WORK
16:18:31.171 [jvp-worker-2] INFO i.jvp.dbapplet.impl.DBAThreadImpl - Thread Thread[jvp-worker-2,9,main],state = IN-POOL T#2 IN POOL WAITS FOR WORK
16:18:31.172 [main] INFO i.j.d.impl.DBAThreadPoolPatrol - DBAThreadPool Patrol started
16:18:31.172 [main] INFO i.j.dbapplet.impl.UDRDBAContextImpl - DBAThread Pool is enabled with size = 2 with patrol interval = 5
16:18:31.178 [main] INFO i.j.d.impl.SAPIRequestFreeList - SAPIRequestFreeList: Instantiating SAPI request pool
16:18:31.178 [main] INFO i.j.d.impl.SAPIRequestFreeList - SAPIRequestFreeList: Instantiating SAPI request pool [COMPLETE]
16:18:31.196 [main] INFO system.out - Informix JDBC Driver Version 4.50.JC3
16:18:31.198 [MT Alarm Thread] ERROR system.err - Alarm Time set to 3
16:18:31.201 [main] INFO i.j.dbapplet.impl.UDRDBAContextImpl - Acquiring a jvp-worker thread: open context for com.informix.judrs.IfxStrings of thread group java.lang.ThreadGroup[name=DBAPPLET,maxpri=10]
16:18:31.202 [main] INFO i.jvp.dbapplet.impl.DBAThreadImpl - Thread Thread[jvp-worker-1,9,main],state = IN-POOL T#1 IN POOL GETS WORK
16:18:31.202 [jvp-worker-1] INFO i.jvp.dbapplet.impl.DBAThreadImpl - start runDBWork
16:18:31.206 [jvp-worker-1] INFO i.j.dbapplet.impl.PerJavaUDRContext - Initialising JAVA UDR Context
16:18:31.603 [jvp-worker-1] ERROR i.jvp.dbapplet.impl.SQLJParamImpl - Unknown exception occurred.
java.lang.reflect.InvocationTargetException: null
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
at java.lang.reflect.Method.invoke(Method.java:508)
at informix.jvp.dbapplet.impl.SQLJParamImpl.invoke(SQLJParamImpl.java:720)
at informix.jvp.dbapplet.impl.PerJavaUDRContext.invokeUDR(PerJavaUDRContext.java:191)
at informix.jvp.dbapplet.impl.DBAThreadImpl.runDBApplet(DBAThreadImpl.java:411)
at informix.jvp.dbapplet.impl.DBAThreadImpl.runDBWork(DBAThreadImpl.java:328)
at informix.jvp.dbapplet.impl.DBAThreadImpl.run(DBAThreadImpl.java:295)
Caused by: java.lang.ExceptionInInitializerError: null
at java.lang.J9VMInternals.ensureError(J9VMInternals.java:145)
at java.lang.J9VMInternals.recordInitializationFailure(J9VMInternals.java:134)
at java.util.UUID.randomUUID(UUID.java:153)
at com.informix.judrs.IfxStrings.getUUID(IfxStrings.java:62)
... 9 common frames omitted
Caused by: java.security.ProviderException: Failed to initialize IBMJCEPlus provider
at com.ibm.crypto.plus.provider.IBMJCEPlus.a(IBMJCEPlus.java:185)
at com.ibm.crypto.plus.provider.IBMJCEPlus.e(IBMJCEPlus.java:139)
at com.ibm.crypto.plus.provider.IBMJCEPlus.a(IBMJCEPlus.java:162)
at com.ibm.crypto.plus.provider.h.run(h.java:1)
at java.security.AccessController.doPrivileged(AccessController.java:682)
at com.ibm.crypto.plus.provider.IBMJCEPlus.<init>(IBMJCEPlus.java:260)
at java.lang.J9VMInternals.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:2062)
at sun.security.jca.ProviderConfig$2.run(ProviderConfig.java:233)
at sun.security.jca.ProviderConfig$2.run(ProviderConfig.java:218)
at java.security.AccessController.doPrivileged(AccessController.java:682)
at sun.security.jca.ProviderConfig.doLoadProvider(ProviderConfig.java:218)
at sun.security.jca.ProviderConfig.getProvider(ProviderConfig.java:199)
at sun.security.jca.ProviderList.getProvider(ProviderList.java:245)
at sun.security.jca.ProviderList$3.get(ProviderList.java:160)
at sun.security.jca.ProviderList$3.get(ProviderList.java:155)
at java.util.AbstractList$Itr.next(AbstractList.java:369)
at java.security.SecureRandom.getPrngAlgorithm(SecureRandom.java:567)
at java.security.SecureRandom.getDefaultPRNG(SecureRandom.java:205)
at java.security.SecureRandom.<init>(SecureRandom.java:173)
at java.util.UUID$Holder.<clinit>(UUID.java:107)
... 11 common frames omitted
Caused by: java.security.ProviderException: jgskit (Not a directory)
at com.ibm.crypto.plus.provider.IBMJCEPlus.e(IBMJCEPlus.java:114)
... 30 common frames omitted
16:18:31.605 [jvp-worker-1] ERROR i.jvp.dbapplet.impl.SQLJParamImpl - UDR Invoation exception
java.lang.reflect.InvocationTargetException: null
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
at java.lang.reflect.Method.invoke(Method.java:508)
at informix.jvp.dbapplet.impl.SQLJParamImpl.invoke(SQLJParamImpl.java:720)
at informix.jvp.dbapplet.impl.PerJavaUDRContext.invokeUDR(PerJavaUDRContext.java:191)
at informix.jvp.dbapplet.impl.DBAThreadImpl.runDBApplet(DBAThreadImpl.java:411)
at informix.jvp.dbapplet.impl.DBAThreadImpl.runDBWork(DBAThreadImpl.java:328)
at informix.jvp.dbapplet.impl.DBAThreadImpl.run(DBAThreadImpl.java:295)
Caused by: java.lang.ExceptionInInitializerError: null
at java.lang.J9VMInternals.ensureError(J9VMInternals.java:145)
at java.lang.J9VMInternals.recordInitializationFailure(J9VMInternals.java:134)
at java.util.UUID.randomUUID(UUID.java:153)
at com.informix.judrs.IfxStrings.getUUID(IfxStrings.java:62)
... 9 common frames omitted
Caused by: java.security.ProviderException: Failed to initialize IBMJCEPlus provider
at com.ibm.crypto.plus.provider.IBMJCEPlus.a(IBMJCEPlus.java:185)
at com.ibm.crypto.plus.provider.IBMJCEPlus.e(IBMJCEPlus.java:139)
at com.ibm.crypto.plus.provider.IBMJCEPlus.a(IBMJCEPlus.java:162)
at com.ibm.crypto.plus.provider.h.run(h.java:1)
at java.security.AccessController.doPrivileged(AccessController.java:682)
at com.ibm.crypto.plus.provider.IBMJCEPlus.<init>(IBMJCEPlus.java:260)
at java.lang.J9VMInternals.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:2062)
at sun.security.jca.ProviderConfig$2.run(ProviderConfig.java:233)
at sun.security.jca.ProviderConfig$2.run(ProviderConfig.java:218)
at java.security.AccessController.doPrivileged(AccessController.java:682)
at sun.security.jca.ProviderConfig.doLoadProvider(ProviderConfig.java:218)
at sun.security.jca.ProviderConfig.getProvider(ProviderConfig.java:199)
at sun.security.jca.ProviderList.getProvider(ProviderList.java:245)
at sun.security.jca.ProviderList$3.get(ProviderList.java:160)
at sun.security.jca.ProviderList$3.get(ProviderList.java:155)
at java.util.AbstractList$Itr.next(AbstractList.java:369)
at java.security.SecureRandom.getPrngAlgorithm(SecureRandom.java:567)
at java.security.SecureRandom.getDefaultPRNG(SecureRandom.java:205)
at java.security.SecureRandom.<init>(SecureRandom.java:173)
at java.util.UUID$Holder.<clinit>(UUID.java:107)
... 11 common frames omitted
Caused by: java.security.ProviderException: jgskit (Not a directory)
at com.ibm.crypto.plus.provider.IBMJCEPlus.e(IBMJCEPlus.java:114)
... 30 common frames omitted
16:18:31.607 [jvp-worker-1] ERROR i.jvp.dbapplet.impl.DBAThreadImpl - Unknown Exception thrown during UDR execution
java.lang.ExceptionInInitializerError: null
at java.lang.J9VMInternals.ensureError(J9VMInternals.java:145)
at java.lang.J9VMInternals.recordInitializationFailure(J9VMInternals.java:134)
at java.util.UUID.randomUUID(UUID.java:153)
at com.informix.judrs.IfxStrings.getUUID(IfxStrings.java:62)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
at java.lang.reflect.Method.invoke(Method.java:508)
at informix.jvp.dbapplet.impl.SQLJParamImpl.invoke(SQLJParamImpl.java:720)
at informix.jvp.dbapplet.impl.PerJavaUDRContext.invokeUDR(PerJavaUDRContext.java:191)
at informix.jvp.dbapplet.impl.DBAThreadImpl.runDBApplet(DBAThreadImpl.java:411)
at informix.jvp.dbapplet.impl.DBAThreadImpl.runDBWork(DBAThreadImpl.java:328)
at informix.jvp.dbapplet.impl.DBAThreadImpl.run(DBAThreadImpl.java:295)
Caused by: java.security.ProviderException: Failed to initialize IBMJCEPlus provider
at com.ibm.crypto.plus.provider.IBMJCEPlus.a(IBMJCEPlus.java:185)
at com.ibm.crypto.plus.provider.IBMJCEPlus.e(IBMJCEPlus.java:139)
at com.ibm.crypto.plus.provider.IBMJCEPlus.a(IBMJCEPlus.java:162)
at com.ibm.crypto.plus.provider.h.run(h.java:1)
at java.security.AccessController.doPrivileged(AccessController.java:682)
at com.ibm.crypto.plus.provider.IBMJCEPlus.<init>(IBMJCEPlus.java:260)
at java.lang.J9VMInternals.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:2062)
at sun.security.jca.ProviderConfig$2.run(ProviderConfig.java:233)
at sun.security.jca.ProviderConfig$2.run(ProviderConfig.java:218)
at java.security.AccessController.doPrivileged(AccessController.java:682)
at sun.security.jca.ProviderConfig.doLoadProvider(ProviderConfig.java:218)
at sun.security.jca.ProviderConfig.getProvider(ProviderConfig.java:199)
at sun.security.jca.ProviderList.getProvider(ProviderList.java:245)
at sun.security.jca.ProviderList$3.get(ProviderList.java:160)
at sun.security.jca.ProviderList$3.get(ProviderList.java:155)
at java.util.AbstractList$Itr.next(AbstractList.java:369)
at java.security.SecureRandom.getPrngAlgorithm(SecureRandom.java:567)
at java.security.SecureRandom.getDefaultPRNG(SecureRandom.java:205)
at java.security.SecureRandom.<init>(SecureRandom.java:173)
at java.util.UUID$Holder.<clinit>(UUID.java:107)
... 11 common frames omitted
Caused by: java.security.ProviderException: jgskit (Not a directory)
at com.ibm.crypto.plus.provider.IBMJCEPlus.e(IBMJCEPlus.java:114)
... 30 common frames omitted
16:18:31.643 [jvp-worker-1] INFO i.jvp.dbapplet.impl.DBAMonitorImpl - notify JAVA UDR error
------------------------------
Vladimir Tomanicek
------------------------------
Original Message:
Sent: Fri February 17, 2023 12:52 PM
From: Andreas Legner
Subject: UUID initialization failure IDS 14.10.FC8
So what's your server's online.log showing?
Mine, upon first call to this function:
18:48:59 Booting Language <java> from module <$INFORMIXDIR/extend/krakatoa/lmjava.so>
18:48:59 Loading Module <$INFORMIXDIR/extend/krakatoa/lmjava.so>
18:48:59 The C Language Module </opt/informix/IBM/14.10.FC9W1/extend/krakatoa/lmjava.so> loaded
18:48:59 Loading Module <com.informix.judrs.IfxStrings>
18:48:59 INFO (autoregvp 6) (Execution of [ autoregvp ] dymamically creating VPCLASS jvp)
18:49:00 Dynamically added 1 jvp VP
18:49:00 Got the mutex
18:49:00 LD_LIBRARY_PATH=/opt/informix/IBM/14.10.FC9W1/extend/krakatoa/jre/bin/j9vm
18:49:00 VM args[0]= -Xss512k
18:49:00 VM args[1]= -Djava.security.policy=/opt/informix/IBM/14.10.FC9W1/tmp/JVM_security
18:49:00 VM args[2]= -Xms16m
18:49:00 VM args[3]= -Xmx16m
18:49:00 VM args[4]= exit
18:49:00 VM args[5]= abort
18:49:00 VM args[6]= -Djava.class.path=/opt/informix/IBM/14.10.FC9W1/extend/krakatoa/krakatoa.jar:/opt/informix/IBM/14.10.FC9W1/extend/krakatoa/jdbc.jar:/opt/informix/IBM/14.10.FC9W1/extend/krakatoa
18:49:01 Successfully created Java VM.
------------------------------
Andreas Legner
Original Message:
Sent: Fri February 17, 2023 11:38 AM
From: Vladimir Tomanicek
Subject: UUID initialization failure IDS 14.10.FC8
I am trying to use the UUID function according to the documentation, but I end up with an error :
CREATE FUNCTION UUID() RETURNING CHAR(36) EXTERNAL NAME 'com.informix.judrs.IfxStrings.getUUID()' language java;
GRANT EXECUTE ON UUID TO PUBLIC;
CREATE TABLE test(a char(36), b int);
INSERT INTO test VALUES(UUID(), 5);
SQL Error (-937): Unknown throwable: (java.lang.NoClassDefFoundError: java.util.UUID$Holder (initialization failure)).
Any idea how to solve this?
------------------------------
Vladimir Tomanicek
------------------------------