Hi,

I got this stack trace. Any ideas how to troubleshoot?

Thanks,

Craig
     [java] <0|false|0.9.6-incubating> org.apache.openjpa.persistence.PersistenceException: null
     [java]     at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:851)
     [java]     at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:743)
     [java]     at org.apache.openjpa.kernel.DelegatingBroker.find(DelegatingBroker.java:169)
     [java]     at org.apache.openjpa.persistence.EntityManagerImpl.find(EntityManagerImpl.java:320)
     [java]     at pb.adapter.EJB3Adapter.lookupComponent(EJB3Adapter.java:254)
     [java]     at pb.common.InternalDriver.lookupComponent(InternalDriver.java:322)
     [java]     at pb.common.InternalDriver.createRelationships(InternalDriver.java:285)
     [java]     at pb.OCDriver.createRelationships(OCDriver.java:114)
     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
     [java]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
     [java]     at java.lang.reflect.Method.invoke(Method.java:585)
     [java]     at com.sun.faban.driver.core.AgentThread.timeRun(AgentThread.java:194)
     [java]     at com.sun.faban.driver.core.AgentThread.run(AgentThread.java:123)
     [java] Caused by: java.lang.NumberFormatException: null
     [java]     at java.lang.Integer.parseInt(Integer.java:415)
     [java]     at java.lang.Integer.parseInt(Integer.java:497)
     [java]     at pb.common.Component.pcsetId(Component.java:95)
     [java]     at pb.common.Component.pcClearFields(Component.java)
     [java]     at pb.common.Component.pcNewInstance(Component.java)
     [java]     at org.apache.openjpa.enhance.PCRegistry.newInstance(PCRegistry.java:117)
     [java]     at org.apache.openjpa.kernel.StateManagerImpl.initialize(StateManagerImpl.java:247)
     [java]     at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState(JDBCStoreManager.java:327)
     [java]     at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCStoreManager.java:252)
     [java]     at org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:108)
     [java]     at org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreManager.java:54)
     [java]     at org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:870)
     [java]     at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:828)
     [java]     ... 13 more

This was after lots of warnings, but they didn't look related:
     [java] PersistenceDriver::initProperties:ejb30:true
     [java] 5490  INFO   [OCDriverAllOpsAgent[0].0] openjpa.MetaData - Parsing class "pb.common.Assembly".
     [java] 5492  INFO   [OCDriverAllOpsAgent[0].0] openjpa.MetaData - Parsing package "pb.common.Assembly".
     [java] 5720  INFO   [OCDriverAllOpsAgent[0].0] openjpa.MetaData - Parsing query "findRangeassembly".
     [java] 5746  INFO   [OCDriverAllOpsAgent[0].0] openjpa.MetaData - Parsing query "findAssemblyByBOM".
     [java] 5783  INFO   [OCDriverAllOpsAgent[0].0] openjpa.MetaData - Parsing class "pb.common.BOM".
     [java] 5949  INFO   [OCDriverAllOpsAgent[0].0] openjpa.MetaData - Parsing class "pb.common.Component".
     [java] 6012  INFO   [OCDriverAllOpsAgent[0].0] openjpa.MetaData - Parsing query "findRangecomponent".
     [java] 6049  INFO   [OCDriverAllOpsAgent[0].0] openjpa.MetaData - Parsing class "pb.common.Supplier".
     [java] 6222  WARN   [OCDriverAllOpsAgent[0].0] openjpa.Enhance - Detected the following possible violations of the restrictions placed on property access persistent types:
     [java] "pb.common.Assembly" uses property access, but its field "purchased" is accessed directly in method "writeObject" defined in "pb.common.Assembly".
     [java] "pb.common.Assembly" uses property access, but its field "planner" is accessed directly in method "readObject" defined in "pb.common.Assembly".
     [java] "pb.common.Assembly" uses property access, but its field "description" is accessed directly in method "writeObject" defined in "pb.common.Assembly".
     [java] "pb.common.Assembly" uses property access, but its field "planner" is accessed directly in method "writeObject" defined in "pb.common.Assembly".
     [java] "pb.common.Assembly" uses property access, but its field "id" is accessed directly in method "readObject" defined in "pb.common.Assembly".
     [java] "pb.common.Assembly" uses property access, but its field "boms" is accessed directly in method "writeObject" defined in "pb.common.Assembly".
     [java] "pb.common.Assembly" uses property access, but its field "version" is accessed directly in method "writeObject" defined in "pb.common.Assembly".
     [java] "pb.common.Assembly" uses property access, but its field "version" is accessed directly in method "readObject" defined in "pb.common.Assembly".
     [java] "pb.common.Assembly" uses property access, but its field "boms" is accessed directly in method "readObject" defined in "pb.common.Assembly".
     [java] "pb.common.Assembly" uses property access, but its field "lomark" is accessed directly in method "readObject" defined in "pb.common.Assembly".
     [java] "pb.common.Assembly" uses property access, but its field "himark" is accessed directly in method "writeObject" defined in "pb.common.Assembly".
     [java] "pb.common.Assembly" uses property access, but its field "revision" is accessed directly in method "writeObject" defined in "pb.common.Assembly".
     [java] "pb.common.Assembly" uses property access, but its field "id" is accessed directly in method "setId" defined in "pb.common.Assembly".
     [java] "pb.common.Assembly" uses property access, but its field "type" is accessed directly in method "readObject" defined in "pb.common.Assembly".
     [java] "pb.common.Assembly" uses property access, but its field "description" is accessed directly in method "readObject" defined in "pb.common.Assembly".
     [java] "pb.common.Assembly" uses property access, but its field "himark" is accessed directly in method "readObject" defined in "pb.common.Assembly".
     [java] "pb.common.Assembly" uses property access, but its field "planner" is accessed directly in method "setId" defined in "pb.common.Assembly".
     [java] "pb.common.Assembly" uses property access, but its field "id" is accessed directly in method "writeObject" defined in "pb.common.Assembly".
     [java] "pb.common.Assembly" uses property access, but its field "purchased" is accessed directly in method "readObject" defined in "pb.common.Assembly".
     [java] "pb.common.Assembly" uses property access, but its field "type" is accessed directly in method "writeObject" defined in "pb.common.Assembly".
     [java] "pb.common.Assembly" uses property access, but its field "name" is accessed directly in method "readObject" defined in "pb.common.Assembly".
     [java] "pb.common.Assembly" uses property access, but its field "name" is accessed directly in method "writeObject" defined in "pb.common.Assembly".
     [java] "pb.common.Assembly" uses property access, but its field "revision" is accessed directly in method "readObject" defined in "pb.common.Assembly".
     [java] "pb.common.Assembly" uses property access, but its field "lomark" is accessed directly in method "writeObject" defined in "pb.common.Assembly".
     [java] 7184  WARN   [OCDriverAllOpsAgent[0].0] openjpa.Enhance - Detected the following possible violations of the restrictions placed on property access persistent types:
     [java] "pb.common.Component" uses property access, but its field "type" is accessed directly in method "writeObject" defined in "pb.common.Component".
     [java] "pb.common.Component" uses property access, but its field "revision" is accessed directly in method "readObject" defined in "pb.common.Component".
     [java] "pb.common.Component" uses property access, but its field "description" is accessed directly in method "readObject" defined in "pb.common.Component".
     [java] "pb.common.Component" uses property access, but its field "revision" is accessed directly in method "writeObject" defined in "pb.common.Component".
     [java] "pb.common.Component" uses property access, but its field "planner" is accessed directly in method "writeObject" defined in "pb.common.Component".
     [java] "pb.common.Component" uses property access, but its field "lomark" is accessed directly in method "readObject" defined in "pb.common.Component".
     [java] "pb.common.Component" uses property access, but its field "id" is accessed directly in method "writeObject" defined in "pb.common.Component".
     [java] "pb.common.Component" uses property access, but its field "type" is accessed directly in method "readObject" defined in "pb.common.Component".
     [java] "pb.common.Component" uses property access, but its field "id" is accessed directly in method "setId" defined in "pb.common.Component".
     [java] "pb.common.Component" uses property access, but its field "suppliers" is accessed directly in method "writeObject" defined in "pb.common.Component".
     [java] "pb.common.Component" uses property access, but its field "lomark" is accessed directly in method "writeObject" defined in "pb.common.Component".
     [java] "pb.common.Component" uses property access, but its field "planner" is accessed directly in method "readObject" defined in "pb.common.Component".
     [java] "pb.common.Component" uses property access, but its field "description" is accessed directly in method "writeObject" defined in "pb.common.Component".
     [java] "pb.common.Component" uses property access, but its field "purchased" is accessed directly in method "readObject" defined in "pb.common.Component".
     [java] "pb.common.Component" uses property access, but its field "planner" is accessed directly in method "setId" defined in "pb.common.Component".
     [java] "pb.common.Component" uses property access, but its field "purchased" is accessed directly in method "writeObject" defined in "pb.common.Component".
     [java] "pb.common.Component" uses property access, but its field "name" is accessed directly in method "writeObject" defined in "pb.common.Component".
     [java] "pb.common.Component" uses property access, but its field "version" is accessed directly in method "readObject" defined in "pb.common.Component".
     [java] "pb.common.Component" uses property access, but its field "suppliers" is accessed directly in method "readObject" defined in "pb.common.Component".
     [java] "pb.common.Component" uses property access, but its field "himark" is accessed directly in method "readObject" defined in "pb.common.Component".
     [java] "pb.common.Component" uses property access, but its field "id" is accessed directly in method "readObject" defined in "pb.common.Component".
     [java] "pb.common.Component" uses property access, but its field "himark" is accessed directly in method "writeObject" defined in "pb.common.Component".
     [java] "pb.common.Component" uses property access, but its field "version" is accessed directly in method "writeObject" defined in "pb.common.Component".
     [java] "pb.common.Component" uses property access, but its field "name" is accessed directly in method "readObject" defined in "pb.common.Component".
     [java] s_dbAdapterClass:pb.adapter.EJB3ToplinkAdapter
     [java] 114  INFO   [OCDriverAllOpsAgent[0].0] openjpa.Runtime - Starting OpenJPA 0.9.6-incubating
     [java] 347  INFO   [OCDriverAllOpsAgent[0].0] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.DerbyDictionary".
     [java] 1408  INFO   [OCDriverAllOpsAgent[0].0] openjpa.MetaData - Found 4 classes with metadata in 1 milliseconds.
     [java] 9368  WARN   [OCDriverAllOpsAgent[0].0] openjpa.Enhance - Detected the following possible violations of the restrictions placed on property access persistent types:
     [java] "pb.common.Supplier" uses property access, but its field "components" is accessed directly in method "writeObject" defined in "pb.common.Supplier".
     [java] "pb.common.Supplier" uses property access, but its field "name" is accessed directly in method "readObject" defined in "pb.common.Supplier".
     [java] "pb.common.Supplier" uses property access, but its field "version" is accessed directly in method "writeObject" defined in "pb.common.Supplier".
     [java] "pb.common.Supplier" uses property access, but its field "name" is accessed directly in method "writeObject" defined in "pb.common.Supplier".
     [java] "pb.common.Supplier" uses property access, but its field "id" is accessed directly in method "readObject" defined in "pb.common.Supplier".
     [java] "pb.common.Supplier" uses property access, but its field "version" is accessed directly in method "readObject" defined in "pb.common.Supplier".
     [java] "pb.common.Supplier" uses property access, but its field "components" is accessed directly in method "readObject" defined in "pb.common.Supplier".
     [java] "pb.common.Supplier" uses property access, but its field "id" is accessed directly in method "writeObject" defined in "pb.common.Supplier".
     [java] 9537  WARN   [OCDriverAllOpsAgent[0].0] openjpa.Enhance - Detected the following possible violations of the restrictions placed on property access persistent types:
     [java] "pb.common.BOM" uses property access, but its field "assembly" is accessed directly in method "writeObject" defined in "pb.common.BOM".
     [java] "pb.common.BOM" uses property access, but its field "opsNo" is accessed directly in method "writeObject" defined in "pb.common.BOM".
     [java] "pb.common.BOM" uses property access, but its field "version" is accessed directly in method "writeObject" defined in "pb.common.BOM".
     [java] "pb.common.BOM" uses property access, but its field "qty" is accessed directly in method "readObject" defined in "pb.common.BOM".
     [java] "pb.common.BOM" uses property access, but its field "qty" is accessed directly in method "writeObject" defined in "pb.common.BOM".
     [java] "pb.common.BOM" uses property access, but its field "engChange" is accessed directly in method "writeObject" defined in "pb.common.BOM".
     [java] "pb.common.BOM" uses property access, but its field "version" is accessed directly in method "readObject" defined in "pb.common.BOM".
     [java] "pb.common.BOM" uses property access, but its field "component" is accessed directly in method "writeObject" defined in "pb.common.BOM".
     [java] "pb.common.BOM" uses property access, but its field "assembly" is accessed directly in method "readObject" defined in "pb.common.BOM".
     [java] "pb.common.BOM" uses property access, but its field "engChange" is accessed directly in method "readObject" defined in "pb.common.BOM".
     [java] "pb.common.BOM" uses property access, but its field "opsDesc" is accessed directly in method "readObject" defined in "pb.common.BOM".
     [java] "pb.common.BOM" uses property access, but its field "opsDesc" is accessed directly in method "writeObject" defined in "pb.common.BOM".
     [java] "pb.common.BOM" uses property access, but its field "lineNo" is accessed directly in method "readObject" defined in "pb.common.BOM".
     [java] "pb.common.BOM" uses property access, but its field "component" is accessed directly in method "readObject" defined in "pb.common.BOM".
     [java] "pb.common.BOM" uses property access, but its field "lineNo" is accessed directly in method "writeObject" defined in "pb.common.BOM".
     [java] "pb.common.BOM" uses property access, but its field "opsNo" is accessed directly in method "readObject" defined in "pb.common.BOM".

Craig Russell
DB PMC
clr@apache.org http://db.apache.org/jdo