[ http://issues.apache.org/jira/browse/DERBY-1687?page=all ]

Andrew McIntyre updated DERBY-1687:
-----------------------------------

    Attachment: derby-1687-v1.diff

I must have been in too much of a hurry when looking at this, because I didn't 
notice that iapi.context is actually unsealed in derby.jar. derbyclient.jar is 
sealed, but doesn't have  the appropriate sections in its manifest to unseal 
the iapi and impl packages that need unsealing for sysinfo.

So all we actually need to do is make derbyclient.jar's manifest equal to 
derby.jar's with regard to the packages that are unsealed. Attaching a patch 
which does that. I have verified that the test mentioned in the comments for 
this issue pass with the patch applied. Comments?

> sealing violation: can't seal package org.apache.derby.iapi.services.context: 
> already loaded with 10.2.1.0 beta
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-1687
>                 URL: http://issues.apache.org/jira/browse/DERBY-1687
>             Project: Derby
>          Issue Type: Bug
>    Affects Versions: 10.2.0.0
>         Environment: Class path order for derby jars
> "${derby}/derbyclient.jar:${derby}/derbynet.jar:${derbytest}/derbyTesting.jar:${derby}/derbytools.jar"
>            Reporter: Daniel John Debrunner
>             Fix For: 10.2.0.0
>
>         Attachments: derby-1687-v1.diff
>
>
> Downloaded db-derby-10.2.1.0-bin.zip  and hit this sealing error when running 
> test lang/insert.sql in DerbyNetClient framework.
> Also see on the trunk with self-built jars.
> Exception in thread "main" java.lang.ExceptionInInitializerError
>         at java.lang.Class.forName1(Native Method)
>         at java.lang.Class.forName(Class.java:180)
>         at org.apache.derby.impl.tools.ij.util.loadDriver(Unknown Source)
>         at org.apache.derby.impl.tools.ij.util.startJBMS(Unknown Source)
>         at org.apache.derby.impl.tools.ij.util.startJBMS(Unknown Source)
>         at org.apache.derby.impl.tools.ij.ConnectionEnv.init(Unknown Source)
>         at org.apache.derby.impl.tools.ij.utilMain.initConnections(Unknown 
> Sourc
> e)
>         at org.apache.derby.impl.tools.ij.Main.<init>(Unknown Source)
>         at org.apache.derby.impl.tools.ij.Main14.<init>(Unknown Source)
>         at org.apache.derby.impl.tools.ij.Main14.getMain(Unknown Source)
>         at org.apache.derby.impl.tools.ij.Main.mainCore(Unknown Source)
>         at org.apache.derby.impl.tools.ij.Main14.main(Unknown Source)
>         at org.apache.derby.tools.ij.main(Unknown Source)
> Caused by: java.lang.SecurityException: sealing violation: can't seal package 
> or
> g.apache.derby.iapi.services.context: already loaded
>         at java.net.URLClassLoader.defineClass(URLClassLoader.java:412)
>         at java.net.URLClassLoader.access$500(URLClassLoader.java:109)
>         at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:848)
>         at java.security.AccessController.doPrivileged1(Native Method)
>         at 
> java.security.AccessController.doPrivileged(AccessController.java:389
> )
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:371)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:572)
>         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:442)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
>         at 
> org.apache.derby.iapi.services.monitor.Monitor.startMonitor(Unknown S
> ource)
>         at org.apache.derby.iapi.jdbc.JDBCBoot.boot(Unknown Source)
>         at org.apache.derby.jdbc.EmbeddedDriver.boot(Unknown Source)
>         at org.apache.derby.jdbc.EmbeddedDriver.<clinit>(Unknown Source)
>         ... 13 more

-- 
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

        

Reply via email to