Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-2074

NullPointerException when two threads load sort factory concurrently

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 10.1.3.1
    • 10.5.2.0, 10.6.1.0
    • Store
    • None
    • WinXP Professional, Java 1.5.0_06
    • Normal

    Description

      12:34:45,323 ERROR [pool-1-thread-3] history.helpers.HistoryDataAccessHelper - failed to read measurements, filter = (fromTime=Mon Nov 06 12:34:00 MSK 2006, toTime=Mon Nov 13 12:34:00 MSK 2006, , properties=2-6-2-value) org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [SELECT COUNT(DISTINCT sshis.measurement_time) FROM sshis_property_measurement sshis INNER JOIN sstmp_filter_3 filtertbl ON sshis.property_id = filtertbl.property_id WHERE sshis.measurement_time >= ? AND sshis.measurement_time < ?]; SQL state [XJ001]; error code [0]; Java exception:':
      java.lang.NullPointerException'.; nested exception is
      org.apache.derby.impl.jdbc.EmbedSQLException: Java exception: ': java.lang.NullPointerException'.
      java.lang.NullPointerException
      at java.util.Hashtable.put(Unknown Source)
      at org.apache.derby.impl.store.access.RAMAccessManager.registerAccessMethod(Unknown Source)
      at org.apache.derby.impl.store.access.RAMAccessManager.findMethodFactoryByImpl(Unknown Source)
      at org.apache.derby.impl.store.access.RAMTransaction.createSort(UnknownSource)
      at org.apache.derby.impl.sql.execute.DistinctScalarAggregateResultSet.loadSorter(Unknown Source)
      at org.apache.derby.impl.sql.execute.DistinctScalarAggregateResultSet.openCore(Unknown Source)
      at org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.openCore(Unknown Source)
      at org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.open(Unknown Source)
      at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeQuery(Unknown Source)
      at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:535)
      at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:476)
      at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:528)
      at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:561)
      at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:579)
      at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:589)
      at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:619)
      at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:629)
      at org.springframework.jdbc.core.JdbcTemplate.queryForInt(JdbcTemplate.java:656)
      at com.meshnetics.wsn.ctrl.dispatcher.services.history.helpers.MeasurementsSaveGetHelper.getMeasurements(MeasurementsSaveGetHelper.java:81)
      at com.meshnetics.wsn.ctrl.dispatcher.services.history.helpers.HistoryDataAccessHelper$7.doInTransaction(HistoryDataAccessHelper.java:315)
      at com.meshnetics.wsn.ctrl.dispatcher.services.history.helpers.HistoryDataAccessHelper$7.doInTransaction(HistoryDataAccessHelper.java:314)
      at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:117)
      at com.meshnetics.wsn.ctrl.dispatcher.services.history.helpers.HistoryDataAccessHelper.getMeasurements(HistoryDataAccessHelper.java:313)
      at com.meshnetics.wsn.ctrl.dispatcher.services.history.asyncread.MeasurementsReadTask.executeTask(MeasurementsReadTask.java:127)
      at com.meshnetics.wsn.ctrl.dispatcher.services.history.asyncread.MeasurementsReadTask.run(MeasurementsReadTask.java:97)
      at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
      at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
      at java.util.concurrent.FutureTask.run(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

      Attachments

        1. LoadSorter.java
          1 kB
          Knut Anders Hatlen
        2. d2074-1a.diff
          2 kB
          Knut Anders Hatlen
        3. d2074-1b.diff
          9 kB
          Knut Anders Hatlen
        4. d2074-1b.stat
          0.3 kB
          Knut Anders Hatlen

        Activity

          People

            knutanders Knut Anders Hatlen
            akovylin Kovylin Alexandr
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: