[
https://issues.apache.org/jira/browse/DERBY-700?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12740196#action_12740196
]
Rick Hillegas edited comment on DERBY-700 at 8/6/09 11:57 AM:
--------------------------------------------------------------
It appears to me that a workaround for this bug is to upgrade to Java 6. I am
attaching a slightly revised version of the repro, DualBootRepro.java (this
revision contains all of the helper classes needed to create the failure
scenario). I see failures on the following platforms:
Apple Java 5 on Mac OS X
Sun Java 5 on Ubuntu Linux
IBM Java 5 on Ubuntu Linux
Happily, however, the second boot fails and raises
java.nio.channels.OverlappingFileLockException on the following platforms:
Apple Java 6 beta on Mac OS X
Sun Java 6 on Ubuntu Linux
IBM Java 6 on Ubuntu Linux
Admittedly, that's a graceless failure. However, I think it should prevent the
database from being corrupted and it's worth recommending an upgrade to Java 6
for users who encounter this bug.
was (Author: rhillegas):
It appears to me that a workaround for this bug is to upgrade to Java 6. I
am attaching a slightly revised version of the repro, DualBootRepro.java (this
revision contains all of the helper classes needed to create the failure
scenario). I see failures on the following platforms:
Apple Java 5 on Mac OS X
Sun Java 5 on Ubuntu Linux
IBM Java 5 on Ubuntu Linux
Happily, however, the second boot fails and raises
java.nio.channels.OverlappingFileLockException on the following platforms:
Apple Java 6 beta on Mac OS X
Sun Java 6 on Ubuntu Linux
IBM Java 5 on Ubuntu Linux
Admittedly, that's a graceless failure. However, I think it should prevent the
database from being corrupted and it's worth recommending an upgrade to Java 6
for users who encounter this bug.
> Derby does not prevent dual boot of database from different classloaders on
> Linux and Mac OS X
> ----------------------------------------------------------------------------------------------
>
> Key: DERBY-700
> URL: https://issues.apache.org/jira/browse/DERBY-700
> Project: Derby
> Issue Type: Bug
> Components: Store
> Affects Versions: 10.0.2.0, 10.0.2.1, 10.1.1.0, 10.1.2.1, 10.1.3.1,
> 10.2.1.6, 10.2.2.0, 10.3.1.4, 10.4.1.3
> Environment: ava -version
> java version "1.4.2_08"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_08-b03)
> Java HotSpot(TM) Client VM (build 1.4.2_08-b03, mixed mode)
> also
> java version "1.5.0_19"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_19-b02-304)
> Java HotSpot(TM) Client VM (build 1.5.0_19-137, mixed mode, sharing)
> on Mac OS X 10.5.7.
> Reporter: Kathey Marsden
> Priority: Critical
> Attachments: DERBY-700.diff, DERBY-700.stat,
> derby-700_06_07_07_diff.txt, derby-700_06_07_07_stat.txt,
> derby-700_06_19_2007, derby-700_diff.txt, derby-700_stat.txt,
> DERBY-700_v1_use_to_run_DualBootrepro_multithreaded.diff,
> DERBY-700_v1_use_to_run_DualBootrepro_multithreaded.stat,
> derby-700_with_NPE_fix_diff.txt, derby-700_with_NPE_fix_stat.txt, derby.log,
> derby700_singleproperty_v1.diff, derby700_singleproperty_v1.stat,
> DualBootRepro.java, DualBootRepro.java, DualBootRepro2.zip,
> DualBootRepro_mutltithreaded.tar.bz2, releaseNote.html, releaseNote.html
>
>
> 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.urlclassloa...@8ed465
> FAIL: Booted database in 2nd loader java.net.urlclassloa...@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.urlclassloa...@1ac04e8
> PASS: Expected exception for dualboot:Another instance of Derby may have
> already booted the database D:\marsden\repro\dualboot\mydb.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.