Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #4476
| From | FutureScalper <futurescalper@gmail.com> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Mixed Code java.lang.SecurityException |
| Date | 2011-05-23 11:00 -0700 |
| Organization | http://groups.google.com |
| Message-ID | <3cba3633-d90e-411f-a052-dd92bc0ee30e@c26g2000vbq.googlegroups.com> (permalink) |
| References | <051b76f3-6ee6-4d0b-9f57-dc96062c9fe0@c41g2000yqm.googlegroups.com> |
http://bugs.sun.com/view_bug.do?bug_id=6805618 appears to be a well known issue, not sure of the resolution. I don't see a resolution I can implement myself. On May 23, 1:47 pm, FutureScalper <futurescal...@gmail.com> wrote: > Exception in thread "AWT-EventQueue-0" java.lang.SecurityException: > class "com.twc.trader.SupportResistanceDialog$1"'s signer information > does not match signer information of other classes in the same package > > This emerges at random intervals during runtime, and cannot be > predicted. Once these exceptions begin to be thrown there is no > recovery. The class in question is in my own jars, uniformly signed > using the Java 6 Update 25 JDK jarsigner. > > I had previously frozen my users on Java 6 Update 17 because the > platform apparently had this bug. After a few days of testing on > Update 25, I thought everything was OK, and now the Java 6 Update 25 > platform is throwing Security exceptions again !!! Once it starts > throwing them, it never stops and I have to shut down my app. > > Problem is this runs fine, for hours, even days, and then the Java > runtime starts throwing these exceptions, and there's no way for my > app to recover. > > I am running a complex Swing-based multi threaded app, and the errors > typically occur on inner GUI related classes, as in the sample below. > > All of this code is fully debugged tested, for years, and should run > fine which is why I think it's an error in the Java platform itself. > > I've used the Java 6 Update 25 JDK jarsigner on my jars. > > All of the jars are cached locally using Java Web Start. They are > also running under the 32-bit Java Server VM on Windows. > > C:\Windows\Sun\Java\Deployment contains the following two files, > deployment.config and deployment.properties which I thought was a > system-wide suppression of this mixed code check: > > (deployment.config) > deployment.system.config=file:/C:/windows/Sun/Java/Deployment/ > deployment.properties > deployment.system.config.mandatory=true > > (deployment.properties) > deployment.security.mixcode=DISABLE > > I have noticed that in the Java Console, after a long time, the system > will periodically read the Certs again. I think this re-reading of > the Certs is responsible for this error condition. > > This is run under Web Start, I'd like to emphasize and the code is > perfect; something about the runtime is causing this problem at random > intervals into execution. > > The only thing I can do is to force my users back to Java 6 Update 17, > unless someone would kindly point me in the direction of a solution. > > The next step is to submit a bug report I guess, but it is difficult > to reproduce. Thanks in advance ! > > Exception in thread "AWT-EventQueue-0" java.lang.SecurityException: > class "com.twc.trader.SupportResistanceDialog$1"'s signer information > does not match signer information of other classes in the same package > at java.lang.ClassLoader.checkCerts(Unknown Source) > at java.lang.ClassLoader.preDefineClass(Unknown Source) > at java.lang.ClassLoader.defineClassCond(Unknown Source) > at java.lang.ClassLoader.defineClass(Unknown Source) > at java.security.SecureClassLoader.defineClass(Unknown Source) > at java.net.URLClassLoader.defineClass(Unknown Source) > at java.net.URLClassLoader.access$000(Unknown Source) > at java.net.URLClassLoader$1.run(Unknown Source) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(Unknown Source) > at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source) > at java.lang.ClassLoader.loadClass(Unknown Source) > at java.lang.ClassLoader.loadClass(Unknown Source) > at com.twc.trader.SupportResistanceDialog.<init>(Unknown Source) > at com.twc.trader.Core.getSupportResistanceDialog(Unknown Source) > at com.twc.trader.TickAnalyzer.update(Unknown Source) > at com.twc.replay.PriceOverview.notifyObservers(Unknown Source) > at com.twc.replay.PriceOverview$1.chartMouseClicked(Unknown Source) > at org.jfree.chart.ChartPanel.mouseClicked(Unknown Source) > at java.awt.Component.processMouseEvent(Unknown Source) > at javax.swing.JComponent.processMouseEvent(Unknown Source) > at java.awt.Component.processEvent(Unknown Source) > at java.awt.Container.processEvent(Unknown Source) > at java.awt.Component.dispatchEventImpl(Unknown Source) > at java.awt.Container.dispatchEventImpl(Unknown Source) > at java.awt.Component.dispatchEvent(Unknown Source) > at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) > at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) > at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) > at java.awt.Container.dispatchEventImpl(Unknown Source) > at java.awt.Window.dispatchEventImpl(Unknown Source) > at java.awt.Component.dispatchEvent(Unknown Source) > at java.awt.EventQueue.dispatchEventImpl(Unknown Source) > at java.awt.EventQueue.access$000(Unknown Source) > at java.awt.EventQueue$1.run(Unknown Source) > at java.awt.EventQueue$1.run(Unknown Source) > at java.security.AccessController.doPrivileged(Native Method) > at java.security.AccessControlContext > $1.doIntersectionPrivilege(Unknown Source) > at java.security.AccessControlContext > $1.doIntersectionPrivilege(Unknown Source) > at java.awt.EventQueue$2.run(Unknown Source) > at java.awt.EventQueue$2.run(Unknown Source) > at java.security.AccessController.doPrivileged(Native Method) > at java.security.AccessControlContext > $1.doIntersectionPrivilege(Unknown Source) > at java.awt.EventQueue.dispatchEvent(Unknown Source) > at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown > Source) > at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) > at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown > Source) > at java.awt.EventDispatchThread.pumpEvents(Unknown Source) > at java.awt.EventDispatchThread.pumpEvents(Unknown Source) > at java.awt.EventDispatchThread.run(Unknown Source)
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Find similar
Mixed Code java.lang.SecurityException FutureScalper <futurescalper@gmail.com> - 2011-05-23 10:47 -0700 Re: Mixed Code java.lang.SecurityException FutureScalper <futurescalper@gmail.com> - 2011-05-23 11:00 -0700
csiph-web