Dukascopy
 
 
Wiki JStore Search Login

unhandled exception in com.dukascopy.dds2.greed.gui.component.strategy.tab.preset.a.g
 Post subject: unhandled exception in com.dukascopy.dds2.greed.gui.component.strategy.tab.preset.a.g Post rating: 0   New post Posted: Tue 24 Apr, 2012, 11:40 
User avatar

User rating: 6
Joined: Thu 19 May, 2011, 11:14
Posts: 235
Location: South Africa,
This bug seems to pop up whenever a strategy uses an enum defined in an external library, as a type for one of its parameters.

From the Java console:

24.04.2012 12:16:46.400   SEVERE                       preset.a ] isak.odds.userDefinedEnum
java.lang.ClassNotFoundException: isak.odds.userDefinedEnum
   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 java.lang.Class.forName0(Native Method)
   at java.lang.Class.forName(Unknown Source)
   at com.dukascopy.dds2.greed.gui.component.strategy.tab.preset.a.g(Unknown Source)
   at com.dukascopy.dds2.greed.gui.component.strategy.tab.toolbar.StrategiesToolbar.k(Unknown Source)
   at com.dukascopy.dds2.greed.gui.component.strategy.tab.toolbar.StrategiesToolbar.a(Unknown Source)
   at com.dukascopy.dds2.greed.gui.component.strategy.tab.toolbar.StrategiesToolbar.a(Unknown Source)
   at com.dukascopy.dds2.greed.gui.component.strategy.tab.toolbar.StrategiesToolbar.a(Unknown Source)
   at com.dukascopy.dds2.greed.gui.component.strategy.tab.toolbar.p.actionPerformed(Unknown Source)
   at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
   at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
   at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
   at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
   at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
   at java.awt.AWTEventMulticaster.mouseReleased(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)
24.04.2012 12:16:46.415   SEVERE                            a.c ] Uncaught exception in [AWT-EventQueue-0] thread: null
java.lang.NullPointerException
   at java.awt.Container.addImpl(Unknown Source)
   at java.awt.Container.add(Unknown Source)
   at com.dukascopy.dds2.greed.util.k.a(Unknown Source)
   at com.dukascopy.dds2.greed.gui.component.strategy.tab.preset.StrategyPresetsDialog.VN(Unknown Source)
   at com.dukascopy.dds2.greed.gui.component.strategy.tab.preset.StrategyPresetsDialog.<init>(Unknown Source)
   at com.dukascopy.dds2.greed.gui.component.strategy.tab.toolbar.StrategiesToolbar.a(Unknown Source)
   at com.dukascopy.dds2.greed.gui.component.strategy.tab.toolbar.StrategiesToolbar.a(Unknown Source)
   at com.dukascopy.dds2.greed.gui.component.strategy.tab.toolbar.StrategiesToolbar.a(Unknown Source)
   at com.dukascopy.dds2.greed.gui.component.strategy.tab.toolbar.p.actionPerformed(Unknown Source)
   at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
   at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
   at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
   at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
   at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
   at java.awt.AWTEventMulticaster.mouseReleased(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)


HOW TO REPRODUCE THIS BUG

1. Create an external library (e.g. in Netbeans) with a user-defined enum, for example
Attachment:
userDefinedEnum.java [233 Bytes]
Downloaded 300 times

2. Compile a strategy that uses it, for example
Attachment:
extEnumBugProducer.java [1.22 KiB]
Downloaded 309 times

3. Open the "Strategies" tab, select the strategy, start it and in the Parameters dialog box adjust some parameters and save as a new preset before clicking "Run".
4. After running for some seconds, stop the strategy.
5. If you start it again, the exception at the top of this post will be thrown.

FURTHER INFORMATION

The above is just a simple contrived procedure to induce the exception, but there are many other situations in which this exception is also thrown. Of its various consequences, these come to mind now:
  • requiring a platform restart every time certain strategies are started
  • rendering strategy parameter presets inaccessible, so that presets have to be set up from scratch every time

Some months ago, this bug did not exist.


 

Jump to:  

cron
  © 1998-2025 Dukascopy® Bank SA
On-line Currency forex trading with Swiss Forex Broker - ECN Forex Brokerage,
Managed Forex Accounts, introducing forex brokers, Currency Forex Data Feed and News
Currency Forex Trading Platform provided on-line by Dukascopy.com