Java UnsatisfiedLinkError exception when connecting to Postgresql database

Started by Nonameover 7 years ago6 messagesgeneral
Jump to latest
#1Noname
dclark@cinci.rr.com

Hello;

I've written a Java program which uses Postgresql via JDBC. The program works fine on all RedHat systems I've tested except one, where it yields an UnsatisifiedLinkError. Here is the stack trace:

sun.misc.VM.latestUserDefinedLoader0(Native
Method)
sun.misc.VM.latestUserDefinedLoader(VM.java:411)
java.io.ObjectInputStream.latestUserDefinedLoader(ObjectInputStream.java:2351)
java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:686)
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1866)
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1749)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2040)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
org.postgresql.ds.common.BaseDataSource.readBaseObject(BaseDataSource.java:1210)
org.postgresql.ds.common.BaseDataSource.initializeFrom(BaseDataSource.java:1220)
org.postgresql.ds.PGPoolingDataSource.initialize(PGPoolingDataSource.java:267)
org.postgresql.ds.PGPoolingDataSource.getConnection(PGPoolingDataSource.java:324)

Any ideas?

Thanks in advance.

#2Adrian Klaver
adrian.klaver@aklaver.com
In reply to: Noname (#1)
Re: Java UnsatisfiedLinkError exception when connecting to Postgresql database

On 11/14/18 9:25 AM, dclark@cinci.rr.com wrote:

Hello;

I've written a Java program which uses Postgresql via JDBC. The program works fine on all RedHat systems I've tested except one, where it yields an UnsatisifiedLinkError. Here is the stack trace:

sun.misc.VM.latestUserDefinedLoader0(Native
Method)
sun.misc.VM.latestUserDefinedLoader(VM.java:411)
java.io.ObjectInputStream.latestUserDefinedLoader(ObjectInputStream.java:2351)
java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:686)
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1866)
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1749)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2040)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
org.postgresql.ds.common.BaseDataSource.readBaseObject(BaseDataSource.java:1210)
org.postgresql.ds.common.BaseDataSource.initializeFrom(BaseDataSource.java:1220)
org.postgresql.ds.PGPoolingDataSource.initialize(PGPoolingDataSource.java:267)
org.postgresql.ds.PGPoolingDataSource.getConnection(PGPoolingDataSource.java:324)

Any ideas?

What is different about the system that throws the error?

For example:

OS version
JDBC version
Postgres version
Java version

Thanks in advance.

--
Adrian Klaver
adrian.klaver@aklaver.com

#3Adrian Klaver
adrian.klaver@aklaver.com
In reply to: Adrian Klaver (#2)
Re: Java UnsatisfiedLinkError exception when connecting to Postgresql database

On 11/14/18 10:24 AM, dclark@cinci.rr.com wrote:
Please reply to list also.
Ccing list.

---- Adrian Klaver <adrian.klaver@aklaver.com> wrote:

On 11/14/18 9:25 AM, dclark@cinci.rr.com wrote:

Hello;

I've written a Java program which uses Postgresql via JDBC. The program works fine on all RedHat systems I've tested except one, where it yields an UnsatisifiedLinkError. Here is the stack trace:

sun.misc.VM.latestUserDefinedLoader0(Native
Method)
sun.misc.VM.latestUserDefinedLoader(VM.java:411)
java.io.ObjectInputStream.latestUserDefinedLoader(ObjectInputStream.java:2351)
java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:686)
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1866)
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1749)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2040)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
org.postgresql.ds.common.BaseDataSource.readBaseObject(BaseDataSource.java:1210)
org.postgresql.ds.common.BaseDataSource.initializeFrom(BaseDataSource.java:1220)
org.postgresql.ds.PGPoolingDataSource.initialize(PGPoolingDataSource.java:267)
org.postgresql.ds.PGPoolingDataSource.getConnection(PGPoolingDataSource.java:324)

Any ideas?

What is different about the system that throws the error?

For example:

OS version
JDBC version
Postgres version
Java version

Thank you for your reply.

OS on working system: Linux 3.10.0-693.11.6.el7.x86_64 x86_64
OS on problem system: Linux 3.10.0-693.21.1.el7.x86_64 x86_64

JDBC version on both systems: 9.4.1209

Postgres version on both systems: 9.6.5 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-11), 64-bit

Java version on both systems:

openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-b10)
OpenJDK 64-Bit Server VM (build 25.171-b10, mixed mode)

Hmm.
So what was the UnsatisifiedLinkError message, before the traceback above?

--
Adrian Klaver
adrian.klaver@aklaver.com

#4Noname
dclark@cinci.rr.com
In reply to: Adrian Klaver (#3)
Re: Java UnsatisfiedLinkError exception when connecting to Postgresql database

---- Adrian Klaver <adrian.klaver@aklaver.com> wrote:

On 11/14/18 10:24 AM, dclark@cinci.rr.com wrote:
Please reply to list also.
Ccing list.

---- Adrian Klaver <adrian.klaver@aklaver.com> wrote:

On 11/14/18 9:25 AM, dclark@cinci.rr.com wrote:

Hello;

I've written a Java program which uses Postgresql via JDBC. The program works fine on all RedHat systems I've tested except one, where it yields an UnsatisifiedLinkError. Here is the stack trace:

sun.misc.VM.latestUserDefinedLoader0(Native
Method)
sun.misc.VM.latestUserDefinedLoader(VM.java:411)
java.io.ObjectInputStream.latestUserDefinedLoader(ObjectInputStream.java:2351)
java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:686)
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1866)
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1749)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2040)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
org.postgresql.ds.common.BaseDataSource.readBaseObject(BaseDataSource.java:1210)
org.postgresql.ds.common.BaseDataSource.initializeFrom(BaseDataSource.java:1220)
org.postgresql.ds.PGPoolingDataSource.initialize(PGPoolingDataSource.java:267)
org.postgresql.ds.PGPoolingDataSource.getConnection(PGPoolingDataSource.java:324)

Any ideas?

What is different about the system that throws the error?

For example:

OS version
JDBC version
Postgres version
Java version

Thank you for your reply.

OS on working system: Linux 3.10.0-693.11.6.el7.x86_64 x86_64
OS on problem system: Linux 3.10.0-693.21.1.el7.x86_64 x86_64

JDBC version on both systems: 9.4.1209

Postgres version on both systems: 9.6.5 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-11), 64-bit

Java version on both systems:

openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-b10)
OpenJDK 64-Bit Server VM (build 25.171-b10, mixed mode)

Hmm.
So what was the UnsatisifiedLinkError message, before the traceback above?

java.lang.UnsatisfiedLinkError: sun.misc.VM.latestUserDefinedLoader0()Ljava/lang/ClassLoader;

Thank you.

#5Rob Sargent
robjsargent@gmail.com
In reply to: Noname (#4)
Re: Java UnsatisfiedLinkError exception when connecting to Postgresql database

On 11/14/18 5:03 PM, dclark@cinci.rr.com wrote:

---- Adrian Klaver <adrian.klaver@aklaver.com> wrote:

On 11/14/18 10:24 AM, dclark@cinci.rr.com wrote:
Please reply to list also.
Ccing list.

---- Adrian Klaver <adrian.klaver@aklaver.com> wrote:

On 11/14/18 9:25 AM, dclark@cinci.rr.com wrote:

Hello;

I've written a Java program which uses Postgresql via JDBC. The program works fine on all RedHat systems I've tested except one, where it yields an UnsatisifiedLinkError. Here is the stack trace:

sun.misc.VM.latestUserDefinedLoader0(Native
Method)
sun.misc.VM.latestUserDefinedLoader(VM.java:411)
java.io.ObjectInputStream.latestUserDefinedLoader(ObjectInputStream.java:2351)
java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:686)
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1866)
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1749)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2040)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
org.postgresql.ds.common.BaseDataSource.readBaseObject(BaseDataSource.java:1210)
org.postgresql.ds.common.BaseDataSource.initializeFrom(BaseDataSource.java:1220)
org.postgresql.ds.PGPoolingDataSource.initialize(PGPoolingDataSource.java:267)
org.postgresql.ds.PGPoolingDataSource.getConnection(PGPoolingDataSource.java:324)

Any ideas?

What is different about the system that throws the error?

For example:

OS version
JDBC version
Postgres version
Java version

Thank you for your reply.

OS on working system: Linux 3.10.0-693.11.6.el7.x86_64 x86_64
OS on problem system: Linux 3.10.0-693.21.1.el7.x86_64 x86_64

JDBC version on both systems: 9.4.1209

Postgres version on both systems: 9.6.5 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-11), 64-bit

Java version on both systems:

openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-b10)
OpenJDK 64-Bit Server VM (build 25.171-b10, mixed mode)

Hmm.
So what was the UnsatisifiedLinkError message, before the traceback above?

java.lang.UnsatisfiedLinkError: sun.misc.VM.latestUserDefinedLoader0()Ljava/lang/ClassLoader;

Thank you.

Should OpenJDK be looking for a sun class?

#6Noname
dclark@cinci.rr.com
In reply to: Rob Sargent (#5)
Re: Java UnsatisfiedLinkError exception when connecting to Postgresql database

---- Rob Sargent <robjsargent@gmail.com> wrote:

On 11/14/18 5:03 PM, dclark@cinci.rr.com wrote:

---- Adrian Klaver <adrian.klaver@aklaver.com> wrote:

On 11/14/18 10:24 AM, dclark@cinci.rr.com wrote:
Please reply to list also.
Ccing list.

---- Adrian Klaver <adrian.klaver@aklaver.com> wrote:

On 11/14/18 9:25 AM, dclark@cinci.rr.com wrote:

Hello;

I've written a Java program which uses Postgresql via JDBC. The program works fine on all RedHat systems I've tested except one, where it yields an UnsatisifiedLinkError. Here is the stack trace:

sun.misc.VM.latestUserDefinedLoader0(Native
Method)
sun.misc.VM.latestUserDefinedLoader(VM.java:411)
java.io.ObjectInputStream.latestUserDefinedLoader(ObjectInputStream.java:2351)
java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:686)
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1866)
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1749)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2040)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
org.postgresql.ds.common.BaseDataSource.readBaseObject(BaseDataSource.java:1210)
org.postgresql.ds.common.BaseDataSource.initializeFrom(BaseDataSource.java:1220)
org.postgresql.ds.PGPoolingDataSource.initialize(PGPoolingDataSource.java:267)
org.postgresql.ds.PGPoolingDataSource.getConnection(PGPoolingDataSource.java:324)

Any ideas?

What is different about the system that throws the error?

For example:

OS version
JDBC version
Postgres version
Java version

Thank you for your reply.

OS on working system: Linux 3.10.0-693.11.6.el7.x86_64 x86_64
OS on problem system: Linux 3.10.0-693.21.1.el7.x86_64 x86_64

JDBC version on both systems: 9.4.1209

Postgres version on both systems: 9.6.5 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-11), 64-bit

Java version on both systems:

openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-b10)
OpenJDK 64-Bit Server VM (build 25.171-b10, mixed mode)

Hmm.
So what was the UnsatisifiedLinkError message, before the traceback above?

java.lang.UnsatisfiedLinkError: sun.misc.VM.latestUserDefinedLoader0()Ljava/lang/ClassLoader;

Thank you.

Should OpenJDK be looking for a sun class?

Ah ha, that's it. Part of the deployment on the problem system was outdated.

Thanks to all.