db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "TomohitoNakayama" <tomon...@basil.ocn.ne.jp>
Subject Re: [jira] Commented: (DERBY-496) unit test 'org.apache.derbyTesting.unitTests.services.T_Diagnosticable' was failed
Date Wed, 10 Aug 2005 14:52:17 GMT
Hello.

I have retried to test derbyall using next configuration and
found no error in this time.


DERBY_INSTALL=/home/naka/ProgramDev/derby/trunk

#used in previous derbyall
#CLASSPATH=$DERBY_INSTALL/tools/java/jakarta-oro-2.0.8.jar:$DERBY_INSTALL/jars/sane/derbynet.jar:$DERBY_INSTALL/jars/sane/derbyTesting.jar:$DERBY_INSTALL/jars/sane/derby.jar:$DERBY_INSTALL/jars/sane/derbytools.jar:$DERBY_INSTALL/jars/sane/derbyclient.jar:$DERBY_INSTALL/tools/java/db2jcc.jar:$DERBY_INSTALL/tools/java/db2jcc_license_c.jar:$DERBY_INSTALL/jars/sane/derbyLocale_es.jar:$DERBY_INSTALL/jars/sane/derbyLocale_de_DE.jar:$DERBY_INSTALL/jars/sane/derbyLocale_fr.jar:$DERBY_INSTALL/jars/sane/derbyLocale_it.jar:$DERBY_INSTALL/jars/sane/derbyLocale_ko_KR.jar:$DERBY_INSTALL/jars/sane/derbyLocale_pt_BR.jar:$DERBY_INSTALL/jars/sane/derbyLocale_zh_CN.jar:$DERBY_INSTALL/jars/sane/derbyLocale_zh_TW.jar:$DERBY_INSTALL/jars/sane/derbyLocale_ja_JP.jar:$CLASSPATH

#used in derbyall this time
CLASSPATH=$DERBY_INSTALL/jars/sane/derbyTesting.jar:$DERBY_INSTALL/tools/java/jakarta-oro-2.0.8.jar:$DERBY_INSTALL/jars/sane/derbynet.jar:$DERBY_INSTALL/jars/sane/derby.jar:$DERBY_INSTALL/jars/sane/derbytools.jar:$DERBY_INSTALL/jars/sane/derbyclient.jar:$DERBY_INSTALL/tools/java/db2jcc.jar:$DERBY_INSTALL/tools/java/db2jcc_license_c.jar:$DERBY_INSTALL/jars/sane/derbyLocale_es.jar:$DERBY_INSTALL/jars/sane/derbyLocale_de_DE.jar:$DERBY_INSTALL/jars/sane/derbyLocale_fr.jar:$DERBY_INSTALL/jars/sane/derbyLocale_it.jar:$DERBY_INSTALL/jars/sane/derbyLocale_ko_KR.jar:$DERBY_INSTALL/jars/sane/derbyLocale_pt_BR.jar:$DERBY_INSTALL/jars/sane/derbyLocale_zh_CN.jar:$DERBY_INSTALL/jars/sane/derbyLocale_zh_TW.jar:$DERBY_INSTALL/jars/sane/derbyLocale_ja_JP.jar:$CLASSPATH
export CLASSPATH


I'm not sure why error was not found in this time though derbyTesting.jar exists before derby.jar
in both previous and this time.
//Some kind of black magic may happens when jvm loads class from jar file  ....

However, I think multiple jar file should not contain same package , because sealing attribute
are used for the package now ...
I think only derby.jar should contain org.apache.derby.iapi.services.diag package .


Best regards.



/*

         Tomohito Nakayama
         tomonaka@basil.ocn.ne.jp
         tomohito@rose.zero.ad.jp
         tmnk@apache.org

         Naka
         http://www5.ocn.ne.jp/~tomohito/TopPage.html

*/
  ----- Original Message ----- 
  From: Satheesh Bandaram
  To: Derby Development
  Sent: Monday, August 08, 2005 3:47 AM
  Subject: Re: [jira] Commented: (DERBY-496) unit test 'org.apache.derbyTesting.unitTests.services.T_Diagnosticable'
was failed


  Great analysis... This probably explains why some people see this problem where as others
don't, depending on the order of JAR 
files in your CLASSPATH.

  Satheesh

  Tomohito Nakayama (JIRA) wrote:

    [ http://issues.apache.org/jira/browse/DERBY-496?page=comments#action_12317906 ]

Tomohito Nakayama commented on DERBY-496:
-----------------------------------------

I found that org.apache.derby.iapi.services.diag package exists in multiple jarfile.


naka@nysalor:~/ProgramDev/derby/trunk/jars/sane$ jar tf derby.jar > derby.jar.list
naka@nysalor:~/ProgramDev/derby/trunk/jars/sane$ jar tf derbyTesting.jar > derbyTesting.jar.list

naka@nysalor:~/ProgramDev/derby/trunk/jars/sane$ grep "org.apache.derby.iapi.services.diag"
derby.jar.list
org/apache/derby/iapi/services/diag/DiagnosticUtil.class
org/apache/derby/iapi/services/diag/Diagnosticable.class

naka@nysalor:~/ProgramDev/derby/trunk/jars/sane$ grep "org.apache.derby.iapi.services.diag"
derbyTesting.jar.list
org/apache/derby/iapi/services/diag/DiagnosticUtil.class
org/apache/derby/iapi/services/diag/Diagnosticable.class
org/apache/derby/iapi/services/diag/DiagnosticableGeneric.class
naka@nysalor:~/ProgramDev/derby/trunk/jars/sane$


This seems to be the reason why SecurityException happened.


Spec says ...

	A package sealed within a JAR specifies
	that all classes defined in that package must originate from the same JAR.
	Otherwise, a SecurityException is thrown

(citation from http://java.sun.com/j2se/1.4.2/docs/guide/extensions/spec.html#sealing)



  unit test 'org.apache.derbyTesting.unitTests.services.T_Diagnosticable' was failed
----------------------------------------------------------------------------------

         Key: DERBY-496
         URL: http://issues.apache.org/jira/browse/DERBY-496
     Project: Derby
        Type: Bug
 Environment: naka@nysalor:~$ cat /proc/version
Linux version 2.4.27-2-386 (horms@tabatha.lab.ultramonkey.org) (gcc version 3.3. 5 (Debian
1:3.3.5-12)) #1 Mon May 16 16:47:51 JST 
2005
naka@nysalor:~$ java -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)
    Reporter: Tomohito Nakayama
    Assignee: Tomohito Nakayama
 Attachments: derby.log

As summary.
I found next exception in derby.log.
[main] FAIL - org.apache.derbyTesting.unitTests.harness.T_Fail: Test failed - DiagnosticUtil.toDiagString()
failed, got: 
(T_DiagTestClass1.toString(): object with diag interface), expected: (D_T_DiagTestClass1:
object with diag interface).
org.apache.derbyTesting.unitTests.harness.T_Fail: Test failed - DiagnosticUtil.toDiagString()
failed, got: 
(T_DiagTestClass1.toString(): object with diag interface), expected: (D_T_DiagTestClass1:
object with diag interface).
	at org.apache.derbyTesting.unitTests.harness.T_Fail.testFailMsg(T_Fail.java:95)
	at org.apache.derbyTesting.unitTests.services.T_Diagnosticable.t_001(T_Diagnosticable.java:105)
	at org.apache.derbyTesting.unitTests.services.T_Diagnosticable.runTestSet(T_Diagnosticable.java:207)
	at org.apache.derbyTesting.unitTests.harness.T_MultiIterations.runTests(T_MultiIterations.java:94)
	at org.apache.derbyTesting.unitTests.harness.T_Generic.Execute(T_Generic.java:117)
	at org.apache.derbyTesting.unitTests.harness.BasicUnitTestManager.runATest(BasicUnitTestManager.java:183)
	at org.apache.derbyTesting.unitTests.harness.BasicUnitTestManager.runTests(BasicUnitTestManager.java:245)
	at org.apache.derbyTesting.unitTests.harness.BasicUnitTestManager.boot(BasicUnitTestManager.java:92)
	at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1996)
	at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
	at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1834)
	at org.apache.derby.impl.services.monitor.BaseMonitor.startServices(BaseMonitor.java:966)
	at org.apache.derby.impl.services.monitor.BaseMonitor.runWithState(BaseMonitor.java:398)
	at org.apache.derby.impl.services.monitor.FileMonitor.<init>(FileMonitor.java:57)
	at org.apache.derby.iapi.services.monitor.Monitor.startMonitor(Monitor.java:288)
	at org.apache.derbyTesting.unitTests.harness.UnitTestMain.main(UnitTestMain.java:50)



------------------------------------------------------------------------------


  No virus found in this incoming message.
  Checked by AVG Anti-Virus.
  Version: 7.0.338 / Virus Database: 267.10.1/64 - Release Date: 2005/08/04

Mime
View raw message