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

With mixed jar versions the error java.lang.NoSuchMethodError: org/apache/derby/iapi/services/info/JVMInfo.javaDump() can occur because JVMInfo is in both derby.jar and derbyclient.jar

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 10.8.2.2
    • Fix Version/s: 10.8.2.2, 10.9.1.0
    • Component/s: Services
    • Labels:
      None
    • Issue & fix info:
      High Value Fix, Newcomer
    • Bug behavior facts:
      Regression Test Failure

      Description

      The class org.apache.derby.iapi.services.info.JVMInfo is in both derbyclient.jar and derby.jar. This means that if an older version of derbyclient.jar is in the classpath before derby.jar the following error can occur when a javaDump is triggered.

      java.lang.NoSuchMethodError: org/apache/derby/iapi/services/info/JVMInfo.javaDump()V
      at org.apache.derby.iapi.services.context.ContextManager.cleanupOnError(Unknown Source)
      at org.apache.derby.impl.jdbc.TransactionResourceImpl.cleanupOnError(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
      at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown Source)
      at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
      at org.apache.derby.jdbc.EmbeddedDriver.connect(Unknown Source)
      at org.apache.derby.impl.drda.Database.makeConnection(Unknown Source)
      at org.apache.derby.impl.drda.DRDAConnThread.getConnFromDatabaseName(Unknown Source)
      at org.apache.derby.impl.drda.DRDAConnThread.verifyUserIdPassword(Unknown Source)
      at org.apache.derby.impl.drda.DRDAConnThread.parseSECCHK(Unknown Source)
      at org.apache.derby.impl.drda.DRDAConnThread.parseDRDAConnection(Unknown Source)
      at org.apache.derby.impl.drda.DRDAConnThread.processCommands(Unknown Source)
      at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source)

      This was discovered running a 10.5.3.2 - (1171883) client (derbclient.jar and derbyTesting.jar) against a 10.8.2.1 - (1170221) server (derby.jar and derbynet.jar) with the derbyclient.jar first in the classpath.

      The test that failed was testConnectShutdownAuthentication, but

      but this should be reproducible by reducing derby.stream.error.extendedDiagSeverityLevel=0 and generating any error. Probably client needs its own separate JVMInfo class. I am not sure where it is used. Maybe it s

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                kmarsden Katherine Marsden
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: