Derby
  1. Derby
  2. DERBY-700

Derby does not prevent dual boot of database from different classloaders on Linux and Mac OS X

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 10.1.3.3, 10.2.2.1, 10.3.3.1, 10.4.2.1, 10.5.3.1, 10.6.1.0
    • Component/s: Store
    • Labels:
      None
    • Environment:
    • Urgency:
      Urgent
    • Issue & fix info:
      High Value Fix
    • Bug behavior facts:
      Data corruption

      Description

      Derby does not prevent dual boot from two different classloaders on Linux and Mac OS X.

      To reproduce run the program DualBootRepro with no derby jars in your classpath. The program assumes derby.jar is in 10.1.2.1/derby.jar, you can change the location by changing the DERBY_LIB_DIR variable.

      On Linux the output is:

      $java -cp . DualBootRepro
      Loading derby from file:10.1.2.1/derby.jar
      10.1.2.1/derby.jar
      Booted database in loader java.net.URLClassLoader@8ed465
      FAIL: Booted database in 2nd loader java.net.URLClassLoader@dc6a77

      On Windows I get the expected output.
      $ java -cp . DualBootRepro
      Loading derby from file:10.1.2.1/derby.jar
      10.1.2.1/derby.jar
      Booted database in loader java.net.URLClassLoader@1ac04e8
      PASS: Expected exception for dualboot:Another instance of Derby may have already booted the database D:\marsden\repro\dualboot\mydb.

      1. releaseNote.html
        4 kB
        Myrna van Lunteren
      2. releaseNote.html
        4 kB
        Kathey Marsden
      3. derby-700-02-aa-testCleanup.diff
        8 kB
        Rick Hillegas
      4. derby-700-01-ab-catchOverlappingFileLockException.diff
        16 kB
        Rick Hillegas
      5. derby-700-01-aa-catchOverlappingFileLockException.diff
        2 kB
        Rick Hillegas
      6. DualBootRepro.java
        6 kB
        Rick Hillegas
      7. derby-700_06_19_2007
        71 kB
        Kathey Marsden
      8. releaseNote.html
        3 kB
        Rick Hillegas
      9. releaseNote.html
        3 kB
        Kathey Marsden
      10. derby-700_06_07_07_stat.txt
        0.9 kB
        Kathey Marsden
      11. derby-700_06_07_07_diff.txt
        76 kB
        Kathey Marsden
      12. derby-700_with_NPE_fix_stat.txt
        1.0 kB
        Kathey Marsden
      13. derby-700_with_NPE_fix_diff.txt
        38 kB
        Kathey Marsden
      14. derby.log
        12 kB
        Kathey Marsden
      15. derby-700_stat.txt
        0.9 kB
        Kathey Marsden
      16. derby-700_diff.txt
        37 kB
        Kathey Marsden
      17. derby700_singleproperty_v1.stat
        0.7 kB
        Suresh Thalamati
      18. derby700_singleproperty_v1.diff
        34 kB
        Suresh Thalamati
      19. DERBY-700_v1_use_to_run_DualBootrepro_multithreaded.diff
        6 kB
        V.Narayanan
      20. DERBY-700_v1_use_to_run_DualBootrepro_multithreaded.stat
        0.3 kB
        V.Narayanan
      21. DualBootRepro_mutltithreaded.tar.bz2
        2 kB
        V.Narayanan
      22. DERBY-700.diff
        5 kB
        V.Narayanan
      23. DERBY-700.stat
        0.3 kB
        V.Narayanan
      24. DualBootRepro2.zip
        2 kB
        Kathey Marsden
      25. DualBootRepro.java
        2 kB
        Kathey Marsden

        Issue Links

          Activity

          No work has yet been logged on this issue.

            People

            • Assignee:
              Rick Hillegas
              Reporter:
              Kathey Marsden
            • Votes:
              2 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development