We have this really annoying bug in JDeveloper 11.1.1.6 while using the Oracle BPM plugin.
The application crashes approximately every hour with this nice feedback:

error

and this logging:


oracle.adf.share.ADFContext:Feb 8, 2013 9:49:35 AM oracle.adf.share.ADFContext getCurrent
WARNING: Automatically initializing a DefaultContext for getCurrent.
Caller should ensure that a DefaultContext is proper for this use.
Memory leaks and/or unexpected behaviour may occur if the automatic initialization is performed improperly.
This message may be avoided by performing initADFContext before using getCurrent().
For more information please enable logging for oracle.adf.share.ADFContext at FINEST level.

oracle.adf.share.jndi.ReferenceStoreHelper:Feb 8, 2013 9:49:35 AM oracle.adf.share.jndi.ReferenceStoreHelper getReferencesMapEx
WARNING: Incomplete connection reference object for connection:STUB

oracle.jps.common:Feb 8, 2013 9:49:36 AM oracle.security.jps.internal.common.util.StrictValidationEventHandler handleEvent
WARNING: Failed to validate the xml content. SchemaLocation: schemaLocation value = 'http://xmlns.oracle.com/oracleas/schema/11/jps-config-11_1.xsd' must have even number of URI's. Location: unavailable.

oracle.jps.common:Feb 8, 2013 9:49:36 AM oracle.security.jps.internal.common.util.StrictValidationEventHandler handleEvent
WARNING: Failed to validate the xml content. cvc-complex-type.2.4.b: The content of element 'propertySets' is not complete. One of '{"http://xmlns.oracle.com/oracleas/schema/11/jps-config-11_1.xsd":propertySet}' is expected. Location: unavailable.

oracle.adf.share.jndi.ReferenceStoreHelper:Feb 8, 2013 9:49:36 AM oracle.adf.share.jndi.ReferenceStoreHelper getReferencesMapEx
WARNING: Incomplete connection reference object for connection:SOA_MDS

Invoking command: Changes in myProcess
Invoking command:
Invoking command:
Invoking command:
Invoking command:
Performing action Save[ from oracle.bpm.fusion.studio.editor.ProcessEditor ]
Invoking command: [ from oracle.bpm.fusion.studio.editor.ProcessEditor ]
Performing action Save All[ from oracle.bpm.fusion.studio.editor.ProcessEditor ]
Invoking command: [ from oracle.bpm.fusion.studio.editor.ProcessEditor ]
Invoking command: [ from oracle.ide.navigator.ProjectNavigatorWindow ]
Invoking command: modify adf-config for soa
Invoking command: [ from oracle.ide.runner.RunLogPage ]
Invoking command:
Invoking command:
Invoking command:
Invoking command:
Uncaught exception
java.lang.NullPointerException
 net.miginfocom.layout.Grid.addLinkIDs()
 net.miginfocom.layout.Grid.<init>()
 net.miginfocom.swing.MigLayout.checkCache()
 net.miginfocom.swing.MigLayout.getSizeImpl()
 net.miginfocom.swing.MigLayout.preferredLayoutSize()
 o.bpm.ui.layout.MigLayout.preferredLayoutSize(MigLayout.java:114)
 j.a.Container.preferredSize(Container.java:1599)
 j.a.Container.getPreferredSize(Container.java:1584)
 jx.s.JComponent.getPreferredSize(JComponent.java:1636)
 o.ii.editor.SplitPane.doLayoutBottomTabs(SplitPane.java:537)
 o.ii.editor.SplitPane.doLayout(SplitPane.java:523)
 j.a.Container.validateTree(Container.java:1507)
 j.a.Container.validateTree(Container.java:1513)
 j.a.Container.validateTree(Container.java:1513)
 j.a.Container.validateTree(Container.java:1513)
 j.a.Container.validateTree(Container.java:1513)
 j.a.Container.validateTree(Container.java:1513)
 j.a.Container.validateTree(Container.java:1513)
 j.a.Container.validateTree(Container.java:1513)
 j.a.Container.validateTree(Container.java:1513)
 j.a.Container.validateTree(Container.java:1513)
 j.a.Container.validate(Container.java:1480)
 jx.s.RepaintManager.validateInvalidComponents(RepaintManager.java:669)
 jx.s.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:124)
 j.a.event.InvocationEvent.dispatch(InvocationEvent.java:209)
 j.a.EventQueue.dispatchEventImpl(EventQueue.java:642)
 j.a.EventQueue.access$000(EventQueue.java:85)
 j.a.EventQueue$1.run(EventQueue.java:603)
 j.a.EventQueue$1.run(EventQueue.java:601)
 j.security.AccessController.doPrivileged(Native Method)
 j.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
 j.a.EventQueue.dispatchEvent(EventQueue.java:612)
 j.a.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
 j.a.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
 j.a.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
 j.a.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
 j.a.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
 j.a.EventDispatchThread.run(EventDispatchThread.java:122)
Uncaught exception
java.lang.NullPointerException
 net.miginfocom.layout.Grid.addLinkIDs()
 net.miginfocom.layout.Grid.<init>()
 net.miginfocom.swing.MigLayout.checkCache()
 net.miginfocom.swing.MigLayout.getSizeImpl()
 net.miginfocom.swing.MigLayout.preferredLayoutSize()
 o.bpm.ui.layout.MigLayout.preferredLayoutSize(MigLayout.java:114)
 j.a.Container.preferredSize(Container.java:1599)
 j.a.Container.getPreferredSize(Container.java:1584)
 jx.s.JComponent.getPreferredSize(JComponent.java:1636)
 o.ii.editor.SplitPane.doLayoutBottomTabs(SplitPane.java:537)
 o.ii.editor.SplitPane.doLayout(SplitPane.java:523)
 j.a.Container.validateTree(Container.java:1507)
 j.a.Container.validateTree(Container.java:1513)
 j.a.Container.validateTree(Container.java:1513)
 j.a.Container.validateTree(Container.java:1513)
 j.a.Container.validateTree(Container.java:1513)
 j.a.Container.validateTree(Container.java:1513)
 j.a.Container.validateTree(Container.java:1513)
 j.a.Container.validateTree(Container.java:1513)
 j.a.Container.validateTree(Container.java:1513)
 j.a.Container.validateTree(Container.java:1513)
 j.a.Container.validate(Container.java:1480)
 jx.s.RepaintManager.validateInvalidComponents(RepaintManager.java:669)
 jx.s.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:124)
 j.a.event.InvocationEvent.dispatch(InvocationEvent.java:209)
 j.a.EventQueue.dispatchEventImpl(EventQueue.java:642)
 j.a.EventQueue.access$000(EventQueue.java:85)
 j.a.EventQueue$1.run(EventQueue.java:603)
 j.a.EventQueue$1.run(EventQueue.java:601)
 j.security.AccessController.doPrivileged(Native Method)
 j.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
 j.a.EventQueue.dispatchEvent(EventQueue.java:612)
 j.a.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
 j.a.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
 j.a.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
 j.a.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
 j.a.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
 j.a.EventDispatchThread.run(EventDispatchThread.java:122)

Marc Nelson mentions this in his blogpost but Oracle Support seemed more confused then us about this error. So in the end we discovered a quick fix solution on the Oracle forums here.

Solution:

The bug is in one of the third party librararies which is named: MigLayout from Mig Infocom AB.

According to their support forum this bug is fixed with Version 3.6.3:
You can download the fix in version 3.6.3 here
and replace the Library 3.6 which is shipped with Jdeveloper in directory:
%JDEV_HOME%jdeveloperidelibmiglayout-3.6-swing.jar

Dont forget to rename the downloaded 3.6.3 version and overwrite the old file, JDev will be looking for the exact 3.6 name.

References:

Houd jij je kennis graag up to date?

Mis niets meer van onze kennisdocumenten, events, blogs en cases: ontvang als eerste het laatste nieuws in je inbox!

Fijn dat we je op de hoogte mogen houden!