java.lang.RuntimeException: **Assertion botch: negative time**

Stack Overflow | Oded | 4 years ago
Click on the to mark the solution that helps you, Samebug will learn from it.
As a community member, you’ll be rewarded for you help.
  1. 0

    Assertion botch: negative time oracle 11

    Stack Overflow | 4 years ago | Oded
    java.lang.RuntimeException: **Assertion botch: negative time**
  2. 0

    В поисках несуществующего времени / Хабрахабр | 2 years ago
    java.lang.RuntimeException: Assertion botch: negative time
  3. 0

    Assertion botch: negative time / Java / | 2 years ago
    java.lang.RuntimeException: Assertion botch: negative time
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    ArrayIndexOutOfBoundsException with new driver

    Oracle Community | 9 years ago | poinsarx
    java.lang.ArrayIndexOutOfBoundsException: -32525
  6. 0

    This is really strange. I was randomly getting the following exception on the batch insert queries for Oracle. I tested and verified that the old JDBC driver we were using before MIRTH-3444 does not have this problem. This does not necessarily mean that we want to revert the driver however {code} java.lang.ArrayIndexOutOfBoundsException: -1 at oracle.jdbc.driver.OraclePreparedStatement.setupDbaBindBuffers( at oracle.jdbc.driver.OraclePreparedStatement.setupBindBuffers( at oracle.jdbc.driver.OraclePreparedStatement.executeBatch( at oracle.jdbc.driver.OracleStatementWrapper.executeBatch( {code} This seemed to occur only when using the HikariCP connection pool at first but once I figured out what was causing it I was able to reproduce it with DBCP. There are two reasons why this is occuring. 1. We are caching prepared statements for each connection. 2. The batch and non-batch content insertion queries are using the same cached prepared statement object. It appears if for a single connection several thousand of the non-batch queries get executed with no batch query in between, then on the next batch query this exception will occur. Since the batch queries occur whenever a message is processed through the source connector, its pretty rare for a connection to have the non-batch query run several thousand times in a row without a batch query running. However it is more likely if queuing is enabled. For some reason, the way Hikari chooses which connection to return makes this issue more likely to occur with it, but ultimately the connection pool is not the cause of the problem at all. None of the other databases appear to have this problem so it may be a but with the Oracle 12 JDBC drivers. Rather than downgrade, there are two ways we can fix this issue. 1. Duplicate the insertMessageContent query in default.xml and create batchInsertMessageContent so that the batch and non-batch queries will use a different PreparedStatement object 2. Calling PreparedStatement.clearBatch before the batch also appears to fix this problem.

    Mirth Project | 2 years ago | Wayne Huang
    java.lang.ArrayIndexOutOfBoundsException: -1

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. java.lang.RuntimeException

      **Assertion botch: negative time**

      at oracle.jdbc.driver.DateCommonBinder.setOracleHMS()
    2. Oracle jdbc
      1. oracle.jdbc.driver.DateCommonBinder.setOracleHMS(
      2. oracle.jdbc.driver.TimestampBinder.bind(
      3. oracle.jdbc.driver.OraclePreparedStatement.setupBindBuffers(
      4. oracle.jdbc.driver.OraclePreparedStatement.executeBatch(
      5. oracle.jdbc.driver.OracleStatementWrapper.executeBatch(
      5 frames