[ http://issues.apache.org/jira/browse/DERBY-1229?page=all ]
Bryan Pendleton updated DERBY-1229: ----------------------------------- Attachment: notes.html derby-1229.diff Attached is a proposed patch (derby-1229.diff) and a discussion of the patch (notes.html). Please read the notes.html (it's a quick read), and let me know what you think. If it sounds reasonable, I'd love to hear from a few reviewers whether this patch works successfully in their environment, since we all seem to have radically different classpath configurations. thanks, bryan > sysinfo and sysinfo_withproperties.java fail with java.lang.RuntimePermission > getProtectionDomain when db2jcc.jar is in same dir as the derby-jars > -------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: DERBY-1229 > URL: http://issues.apache.org/jira/browse/DERBY-1229 > Project: Derby > Type: Test > Components: Security, Test, Tools > Versions: 10.2.0.0 > Environment: Solaris 10 x86 > Sun JDK > java version "1.5.0_06" > Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05) > Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing) > Reporter: Vemund Østgaard > Assignee: Bryan Pendleton > Priority: Minor > Attachments: derby-1229.diff, notes.html > > The problem I've been seeing is that if I run: > java -Dframework=DerbyNetClient > org.apache.derbyTesting.functionTests.harness.RunTest derbynet/sysinfo.java > in a configuration where my db2jcc.jar is located in the same directory as > all the other derby-jars, then the test fails with a diff caused by a > RuntimeException. If I change nothing else then moving that db2jcc.jar out of > that directory (and making the appropriate classpath change) then the test > succeeds. > The reason is that the test fails to get the permission for doing > getProtectionDomain().getCodeSource() on class com.ibm.db2.jcc.DB2Driver. > Below follows relevant output from my system that might be useful to debug > this: > --- > [EMAIL PROTECTED]:~/tmp/test> env |grep CLAS > CLASSPATH=/home/vo136787/derby/tmp/testbuild/lib/derby.jar:/home/vo136787/derby/tmp/testbuild/lib/derbyTesting.jar:/home/vo136787/derby/tmp/testbuild/lib/derbytools.jar:/home/vo136787/derby/tmp/testbuild/lib/derbynet.jar:/home/vo136787/derby/tmp/testbuild/lib/derbyclient.jar:/home/vo136787/derby/tmp/testbuild/lib/derbyrun.jar:/home/vo136787/derby/tmp/testbuild/lib/junit.jar:/home/vo136787/derby/tmp/testbuild/lib/db2jcc.jar:/home/vo136787/derby/tmp/testbuild/lib/db2jcc_license_c.jar:/home/vo136787/derby/tmp/testbuild/lib/jakarta-oro-2.0.8.jar:/home/vo136787/derby/tmp/testbuild/lib/derbyLocale_de_DE.jar:/home/vo136787/derby/tmp/testbuild/lib/derbyLocale_es.jar:/home/vo136787/derby/tmp/testbuild/lib/derbyLocale_fr.jar:/home/vo136787/derby/tmp/testbuild/lib/derbyLocale_it.jar:/home/vo136787/derby/tmp/testbuild/lib/derbyLocale_ja_JP.jar:/home/vo136787/derby/tmp/testbuild/lib/derbyLocale_ko_KR.jar:/home/vo136787/derby/tmp/testbuild/lib/derbyLocale_pt_BR.jar:/home/vo136787/derby/tmp/testbuild/lib/derbyLocale_zh_CN.jar:/home/vo136787/derby/tmp/testbuild/lib/derbyLocale_zh_TW.jar > [EMAIL PROTECTED]:~/tmp/test> java -Dframework=DerbyNetClient > org.apache.derbyTesting.functionTests.harness.RunTest derbynet/sysinfo.java > *** Start: sysinfo jdk1.5.0_06 DerbyNetClient 2006-04-19 13:00:33 *** > Initialize for framework: DerbyNetClient > java -Dderby.system.home=/home/vo136787/tmp/test/DerbyNetClient/sysinfo > -Djava.security.manager > -Djava.security.policy=/home/vo136787/tmp/test/derby_tests.policy > -DderbyTesting.codejar=file:/home/vo136787/derby/tmp/testbuild/lib/ > -DderbyTesting.codedir=/home/vo136787/derby/tmp/testbuild/lib > -DderbyTesting.serverhost=localhost -DderbyTesting.clienthost=localhost > -DderbyTesting.codeclasses=file://unused/ > org.apache.derby.drda.NetworkServerControl start > -- SecurityManager not installed -- > Attempt to shutdown framework: DerbyNetClient > 14a15 > > [Unable to access Protection Domain or Code Source for class class > > com.ibm.db2.jcc.DB2Driver: access denied (java.lang.RuntimePermission > > getProtectionDomain)] 2.4 - (17) > 41a43 > > [Unable to access Protection Domain or Code Source for class class > > com.ibm.db2.jcc.DB2Driver: access denied (java.lang.RuntimePermission > > getProtectionDomain)] 2.4 - (17) > 69a72 > > [Unable to access Protection Domain or Code Source for class class > > com.ibm.db2.jcc.DB2Driver: access denied (java.lang.RuntimePermission > > getProtectionDomain)] 2.4 - (17) > Test Failed. > *** End: sysinfo jdk1.5.0_06 DerbyNetClient 2006-04-19 13:00:40 *** > [EMAIL PROTECTED]:~/tmp/test> java org.apache.derby.tools.sysinfo > ------------------ Java Information ------------------ > Java Version: 1.5.0_06 > Java Vendor: Sun Microsystems Inc. > Java home: /usr/jdk/instances/jdk1.5.0/jre > Java classpath: > /home/vo136787/derby/tmp/testbuild/lib/derby.jar:/home/vo136787/derby/tmp/testbuild/lib/derbyTesting.jar:/home/vo136787/derby/tmp/testbuild/lib/derbytools.jar:/home/vo136787/derby/tmp/testbuild/lib/derbynet.jar:/home/vo136787/derby/tmp/testbuild/lib/derbyclient.jar:/home/vo136787/derby/tmp/testbuild/lib/derbyrun.jar:/home/vo136787/derby/tmp/testbuild/lib/junit.jar:/home/vo136787/derby/tmp/testbuild/lib/db2jcc.jar:/home/vo136787/derby/tmp/testbuild/lib/db2jcc_license_c.jar:/home/vo136787/derby/tmp/testbuild/lib/jakarta-oro-2.0.8.jar:/home/vo136787/derby/tmp/testbuild/lib/derbyLocale_de_DE.jar:/home/vo136787/derby/tmp/testbuild/lib/derbyLocale_es.jar:/home/vo136787/derby/tmp/testbuild/lib/derbyLocale_fr.jar:/home/vo136787/derby/tmp/testbuild/lib/derbyLocale_it.jar:/home/vo136787/derby/tmp/testbuild/lib/derbyLocale_ja_JP.jar:/home/vo136787/derby/tmp/testbuild/lib/derbyLocale_ko_KR.jar:/home/vo136787/derby/tmp/testbuild/lib/derbyLocale_pt_BR.jar:/home/vo136787/derby/tmp/testbuild/lib/derbyLocale_zh_CN.jar:/home/vo136787/derby/tmp/testbuild/lib/derbyLocale_zh_TW.jar > OS name: SunOS > OS architecture: x86 > OS version: 5.10 > Java user name: vo136787 > Java user home: /home/vo136787 > Java user dir: /home/vo136787/tmp/test > java.specification.name: Java Platform API Specification > java.specification.version: 1.5 > --------- Derby Information -------- > JRE - JDBC: J2SE 5.0 - JDBC 3.0 > [/home/vo136787/derby/tmp/testbuild/lib/derby.jar] 10.2.0.0 alpha - (394991) > [/home/vo136787/derby/tmp/testbuild/lib/derbytools.jar] 10.2.0.0 alpha - > (394991) > [/home/vo136787/derby/tmp/testbuild/lib/derbynet.jar] 10.2.0.0 alpha - > (394991) > [/home/vo136787/derby/tmp/testbuild/lib/derbyclient.jar] 10.2.0.0 alpha - > (394991) > [/home/vo136787/derby/tmp/testbuild/lib/db2jcc.jar] 2.4 - (17) > [/home/vo136787/derby/tmp/testbuild/lib/db2jcc_license_c.jar] 2.4 - (17) > ------------------------------------------------------ > ----------------- Locale Information ----------------- > Current Locale : [English/United States [en_US]] > Found support for locale: [de_DE] > version: 10.2.0.0 alpha - (394991) > Found support for locale: [es] > version: 10.2.0.0 alpha - (394991) > Found support for locale: [fr] > version: 10.2.0.0 alpha - (394991) > Found support for locale: [it] > version: 10.2.0.0 alpha - (394991) > Found support for locale: [ja_JP] > version: 10.2.0.0 alpha - (394991) > Found support for locale: [ko_KR] > version: 10.2.0.0 alpha - (394991) > Found support for locale: [pt_BR] > version: 10.2.0.0 alpha - (394991) > Found support for locale: [zh_CN] > version: 10.2.0.0 alpha - (394991) > Found support for locale: [zh_TW] > version: 10.2.0.0 alpha - (394991) > ------------------------------------------------------ > [EMAIL PROTECTED]:~/tmp/test> java org.apache.derby.tools.sysinfo -cp > Testing for presence of all Derby-related libraries; typically, only some are > needed. > For a list of possible arguments, type java org.apache.derby.tools.sysinfo > -cp args > FOUND IN CLASS PATH: > Derby embedded engine library (derby.jar) > /home/vo136787/derby/tmp/testbuild/lib/derby.jar > Derby embedded engine library (derby.jar) > /home/vo136787/derby/tmp/testbuild/lib/derby.jar > Derby Network Server library (derbynet.jar) > /home/vo136787/derby/tmp/testbuild/lib/derbynet.jar > Derby Client libraries (db2jcc.jar) > /home/vo136787/derby/tmp/testbuild/lib/db2jcc.jar > Derby Client libraries (derbyclient.jar) > /home/vo136787/derby/tmp/testbuild/lib/derbyclient.jar > NOT FOUND IN CLASS PATH: > Derby tools library (derbytools.jar) > (org.apache.derby.tools.ij not found.) -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira