openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Dick (JIRA)" <j...@apache.org>
Subject [jira] Created: (OPENJPA-401) UnsatisfiedLinkError in MappingToolTask when using DB2 JDBC driver
Date Fri, 12 Oct 2007 15:35:54 GMT
UnsatisfiedLinkError in MappingToolTask when using DB2 JDBC driver 
-------------------------------------------------------------------

                 Key: OPENJPA-401
                 URL: https://issues.apache.org/jira/browse/OPENJPA-401
             Project: OpenJPA
          Issue Type: Bug
    Affects Versions: 1.0.0
            Reporter: Michael Dick
            Assignee: Michael Dick
            Priority: Minor
             Fix For: 1.0.1, 1.1.0


The MappingToolTask's class resolver loads classes from a temporary classloader before loading
them in the "normal" classloader. This can cause problems if the JDBC driver requires access
to native libraries (which can only be loaded once). 

I've seen errors like this when using the DB2 JCC driver and the IBM JDK : 

  [mapping] 608  persistence-tests  INFO   [main] openjpa.Tool - Recording mapping and schema
changes.
  [mapping] java.lang.UnsatisfiedLinkError: com/ibm/jvm/Trace.initTrace([Ljava/lang/String;[Ljava/lang/String;)V
  [mapping]     at com.ibm.jvm.Trace.initializeTrace(Trace.java:96)
  [mapping]     at com.ibm.jvm.Trace.<clinit>(Trace.java:61)
  [mapping]     at java.lang.J9VMInternals.initializeImpl(Native Method)
  [mapping]     at java.lang.J9VMInternals.initialize(J9VMInternals.java:192)
  [mapping]     at java.lang.Class.forNameImpl(Native Method)
  [mapping]     at java.lang.Class.forName(Class.java:130)
  [mapping]     at com.ibm.db2.jcc.c.o.q(o.java:550)
  [mapping]     at com.ibm.db2.jcc.c.o.<clinit>(o.java:319)
  [mapping]     at java.lang.J9VMInternals.initializeImpl(Native Method)
  [mapping]     at java.lang.J9VMInternals.initialize(J9VMInternals.java:192)
  [mapping]     at java.lang.Class.forNameImpl(Native Method)
  [mapping]     at java.lang.Class.forName(Class.java:130)
  [mapping]     at com.ibm.db2.jcc.DB2Driver.class$(DB2Driver.java:48)
  [mapping]     at com.ibm.db2.jcc.DB2Driver.<clinit>(DB2Driver.java:51)
  [mapping]     at java.lang.J9VMInternals.initializeImpl(Native Method)
  [mapping]     at java.lang.J9VMInternals.initialize(J9VMInternals.java:192)
  [mapping]     at java.lang.Class.forNameImpl(Native Method)
  [mapping]     at java.lang.Class.forName(Class.java:163)
  [mapping]     at org.apache.openjpa.jdbc.schema.DataSourceFactory.newDataSource(DataSourceFactory.java:82)

 <snip>

Note that this does not occur with the Sun JDK (or at least I haven't hit the problem.

A potential solution is to change the order of the classloaders used in MappingToolTask.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message