Uploaded image for project: 'OpenJPA'
  1. OpenJPA
  2. OPENJPA-2204

NPE in JDBCStoreManager with Trace turned on

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.2.1, 2.3.0
    • 2.3.0
    • jdbc, logging
    • None

    Description

      Reporting JIRA on behalf of a user without access to JIRAs...

      OK - nearly there! Presumably because we're no longer hooked in to the container, OpenJPA was pumping out its log messages to system out. I set openjpa.Log to "commons" and, as desired, it now sends trace to java.util.logging. The only problem is that, when I set trace to "openjpa.*=all" I get a NullPointerException (that isn't there when trace is turned off):

      [31/05/12 11:31:05:576 BST] 00000020 id= com.ibm.amc.AmcRuntimeException 3 printStackTrace java.lang.NullPointerException
      at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.find(JDBCStoreManager.java:979)
      at org.apache.openjpa.jdbc.meta.strats.UntypedPCValueHandler.toObjectValue(UntypedPCValueHandler.java:127)
      at org.apache.openjpa.jdbc.meta.strats.HandlerStrategies.loadObject(HandlerStrategies.java:207)
      at org.apache.openjpa.jdbc.meta.strats.HandlerCollectionTableFieldStrategy.loadElement(HandlerCollectionTableFieldStrategy.java:78)
      at org.apache.openjpa.jdbc.meta.strats.StoreCollectionFieldStrategy.load(StoreCollectionFieldStrategy.java:558)
      at org.apache.openjpa.jdbc.meta.FieldMapping.load(FieldMapping.java:934)
      at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:673)
      at com.ibm.ws.persistence.jdbc.kernel.WsJpaJDBCStoreManager.load(WsJpaJDBCStoreManager.java:130)
      at org.apache.openjpa.kernel.DelegatingStoreManager.load(DelegatingStoreManager.java:117)
      at org.apache.openjpa.kernel.ROPStoreManager.load(ROPStoreManager.java:78)
      at org.apache.openjpa.kernel.StateManagerImpl.loadFields(StateManagerImpl.java:3071)
      at org.apache.openjpa.kernel.StateManagerImpl.loadField(StateManagerImpl.java:3148)
      at org.apache.openjpa.kernel.StateManagerImpl.beforeAccessField(StateManagerImpl.java:1612)
      at org.apache.openjpa.kernel.StateManagerImpl.accessingField(StateManagerImpl.java:1597)
      at com.ibm.amc.server.action.impl.ActionStatusImpl.pcGetupdates(ActionStatusImpl.java)
      at com.ibm.amc.server.action.impl.ActionStatusImpl.getUpdates(ActionStatusImpl.java:206)

      This NPE looks to be due to dumping the parameters for the JDBCStoreManager.find():

      if (_log.isTraceEnabled())

      { _log.trace("find: oid="+oid+" "+vm.getDeclaredTypeMapping().getDescribedType()); }

      And, either vm or vm.getDeclaredTypeMapping() is null...

      Attachments

        Activity

          People

            kwsutter Kevin W. Sutter
            kwsutter Kevin W. Sutter
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: