This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Create a Java App. In Projects, right-click Source Packages, choose File/Folder In New File wizard, Categories: click on XML File Types: select External XML Schema Documents(s) click Next select From URL In the text field below it, type http://docs.oasis-open.org/ubl/cd-UBL-1.0/xsd/maindoc/UBL-Order-1.0.xsd accept all other defaults click In Projects, right-click Source Packages, choose File/Folder In New File wizard, Categories: click on XML File Types: XML Schema click Next accept all other defaults click Finish Open newXmlSchema.xsd In Schema view, right-click namespace, choose Add > Import In Import popup, expand By File until UBL-Order-1.0.xsd is visible Select UBL-Order-1.0.xsd Enter value for New Prefix click OK In Schema view, add global element E in Element popup, select Use Existing Type expand Referenced Schemas > import > Complex Types select OrderType click OK In Projects, right-click newXmlSchema.xsd, choose Apply Design Pattern In Apply Design Pattern wizard, attempt to change to another pattern by selecting any of the radio button => IDE hangs and eventually results in java.lang.OutOfMemoryError: Java heap space In Source view, observe: <?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://xml.netbeans.org/schema/newXMLSchema" xmlns:tns="http://xml.netbeans.org/schema/newXMLSchema" elementFormDefault="qualified" xmlns:ayub="urn:oasis:names:tc:ubl:Order:1:0"> <xsd:import schemaLocation="xsd/maindoc/UBL-Order-1.0.xsd" namespace="urn:oasis:names:tc:ubl:Order:1:0"/> <xsd:element name="E" type="ayub:OrderType"/> </xsd:schema>
Chris, can you take a look at this issue. Possible deadlock is found. The stack trace is given below. Full thread dump Java HotSpot(TM) Client VM (1.5.0_05-b05 mixed mode): "Default RequestProcessor" daemon prio=2 tid=0x1dee0a08 nid=0xf14 in Object.wait () [0x1d83f000..0x1d83fae8] at java.lang.Object.wait(Native Method) - waiting on <0x055b8368> (a java.lang.Object) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java :885) - locked <0x055b8368> (a java.lang.Object) "Timer-3" prio=7 tid=0x1cf178f0 nid=0xe18 in Object.wait() [0x1dcff000..0x1dcffc e8] at java.lang.Object.wait(Native Method) - waiting on <0x051ac700> (a java.util.TaskQueue) at java.lang.Object.wait(Object.java:474) at java.util.TimerThread.mainLoop(Timer.java:483) - locked <0x051ac700> (a java.util.TaskQueue) at java.util.TimerThread.run(Timer.java:462) "Timer-1" prio=7 tid=0x1e0667b8 nid=0x7ac in Object.wait() [0x1d7ef000..0x1d7efc e8] at java.lang.Object.wait(Native Method) - waiting on <0x04f826f8> (a java.util.TaskQueue) at java.lang.Object.wait(Object.java:474) at java.util.TimerThread.mainLoop(Timer.java:483) - locked <0x04f826f8> (a java.util.TaskQueue) at java.util.TimerThread.run(Timer.java:462) "MDR event dispatcher" daemon prio=2 tid=0x1e19b3f8 nid=0xbc in Object.wait() [0 x1da0f000..0x1da0fae8] at java.lang.Object.wait(Native Method) - waiting on <0x047f9260> (a java.util.LinkedList) at java.lang.Object.wait(Object.java:474) at org.netbeans.mdr.util.EventNotifier$EventsDelivery.run(EventNotifier. java:263) - locked <0x047f9260> (a java.util.LinkedList) at java.lang.Thread.run(Thread.java:595) "DestroyJavaVM" prio=5 tid=0x00039118 nid=0xbbc waiting on condition [0x00000000 ..0x0007fae8] "AWT-EventQueue-1" prio=7 tid=0x1d14ccf0 nid=0xe10 runnable [0x1d7ae000..0x1d7af 9e8] at org.openide.util.WeakListenerImpl$ProxyListener.<init>(WeakListenerIm pl.java:357) at org.openide.util.WeakListenerImpl.create(WeakListenerImpl.java:119) at org.openide.util.WeakListeners.create(WeakListeners.java:199) at org.netbeans.modules.xml.xdm.xam.XDMAccess.setAutoSync(XDMAccess.java :391) at org.netbeans.modules.xml.schema.model.impl.SchemaModelImpl.getAccess( SchemaModelImpl.java:261) at org.netbeans.modules.xml.schema.model.impl.SchemaModelImpl.getAccess( SchemaModelImpl.java:49) at org.netbeans.modules.xml.xam.AbstractModel.sync(AbstractModel.java:23 0) - locked <0x02fefcc8> (a org.netbeans.modules.xml.schema.model.impl.Sche maModelImpl) at org.netbeans.modules.xml.xam.AbstractModelFactory.getModel(AbstractMo delFactory.java:83) - locked <0x0468b5a8> (a org.netbeans.modules.xml.schema.model.SchemaMod elFactory) at org.netbeans.modules.xml.schema.model.SchemaModelFactory.getModel(Sch emaModelFactory.java:95) at org.netbeans.modules.xml.schema.model.impl.ImportImpl.resolveReferenc edModel(ImportImpl.java:95) at org.netbeans.modules.xml.schema.model.impl.SchemaModelImpl.checkImpor tedSchemas(SchemaModelImpl.java:173) at org.netbeans.modules.xml.schema.model.impl.SchemaModelImpl._findSchem as(SchemaModelImpl.java:128) at org.netbeans.modules.xml.schema.model.impl.SchemaModelImpl.findSchema s(SchemaModelImpl.java:99) at org.netbeans.modules.xml.schema.model.impl.SchemaModelImpl.findSchema s(SchemaModelImpl.java:49) at org.netbeans.modules.xml.schema.model.impl.GlobalReferenceImpl.getSch emas(GlobalReferenceImpl.java:60) at org.netbeans.modules.xml.schema.model.impl.GlobalReferenceImpl.get(Gl obalReferenceImpl.java:66) at org.netbeans.modules.xml.schema.model.impl.GlobalReferenceImpl.get(Gl obalReferenceImpl.java:39) at org.netbeans.modules.xml.axi.impl.SchemaGeneratorUtil.findMasterGloba lElements(SchemaGeneratorUtil.java:1733) at org.netbeans.modules.xml.axi.impl.SchemaGeneratorFactoryImpl.canTrans formSchema(SchemaGeneratorFactoryImpl.java:86) at org.netbeans.modules.xml.schema.abe.wizard.SchemaTransformPatternSele ction.isValid(SchemaTransformPatternSelection.java:93) at org.openide.WizardDescriptor.updateState(WizardDescriptor.java:629) - locked <0x05622d10> (a org.openide.WizardDescriptor) at org.openide.WizardDescriptor$Listener.stateChanged(WizardDescriptor.j ava:1615) at org.openide.util.WeakListenerImpl$Change.stateChanged(WeakListenerImp l.java:284) at org.netbeans.modules.xml.schema.abe.wizard.SchemaTransformPatternSele ction.fireChangeEvent(SchemaTransformPatternSelection.java:187) at org.netbeans.modules.xml.schema.abe.wizard.SchemaTransformPatternSele ction.stateChanged(SchemaTransformPatternSelection.java:221) at org.netbeans.modules.xml.schema.abe.wizard.SchemaTransformPatternSele ctionUI.fireChange(SchemaTransformPatternSelectionUI.java:182) at org.netbeans.modules.xml.schema.abe.wizard.SchemaTransformPatternSele ctionUI.selectPattern(SchemaTransformPatternSelectionUI.java:128) at org.netbeans.modules.xml.schema.abe.wizard.SchemaTransformPatternSele ctionUI.access$000(SchemaTransformPatternSelectionUI.java:13) at org.netbeans.modules.xml.schema.abe.wizard.SchemaTransformPatternSele ctionUI$1.itemStateChanged(SchemaTransformPatternSelectionUI.java:53) at javax.swing.AbstractButton.fireItemStateChanged(AbstractButton.java:1 877) at javax.swing.AbstractButton$Handler.itemStateChanged(AbstractButton.ja va:2176) at javax.swing.DefaultButtonModel.fireItemStateChanged(DefaultButtonMode l.java:477) at javax.swing.JToggleButton$ToggleButtonModel.setSelected(JToggleButton .java:233) at javax.swing.ButtonGroup.setSelected(ButtonGroup.java:137) at javax.swing.JToggleButton$ToggleButtonModel.setSelected(JToggleButton .java:215) at javax.swing.JToggleButton$ToggleButtonModel.setPressed(JToggleButton. java:250) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL istener.java:234) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:2 31) at java.awt.Component.processMouseEvent(Component.java:5488) at javax.swing.JComponent.processMouseEvent(JComponent.java:3126) at java.awt.Component.processEvent(Component.java:5253) at java.awt.Container.processEvent(Container.java:1966) at java.awt.Component.dispatchEventImpl(Component.java:3955) at java.awt.Container.dispatchEventImpl(Container.java:2024) at java.awt.Component.dispatchEvent(Component.java:3803) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212 ) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822) at java.awt.Container.dispatchEventImpl(Container.java:2010) at java.awt.Window.dispatchEventImpl(Window.java:1774) at java.awt.Component.dispatchEvent(Component.java:3803) at java.awt.EventQueue.dispatchEvent(EventQueue.java:463) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh read.java:242) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre ad.java:163) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre ad.java:153) at java.awt.Dialog$1.run(Dialog.java:515) at java.awt.Dialog.show(Dialog.java:536) at org.netbeans.core.windows.services.NbPresenter.superShow(NbPresenter. java:816) at org.netbeans.core.windows.services.NbPresenter.doShow(NbPresenter.jav a:859) at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:8 47) at org.openide.util.Mutex.doEventAccess(Mutex.java:1178) at org.openide.util.Mutex.readAccess(Mutex.java:215) at org.netbeans.core.windows.services.NbPresenter.show(NbPresenter.java: 832) at java.awt.Component.show(Component.java:1300) at java.awt.Component.setVisible(Component.java:1253) at org.netbeans.modules.xml.schema.abe.wizard.SchemaTransformWizard.show (SchemaTransformWizard.java:136) at org.netbeans.modules.xml.schema.core.actions.SchemaTransformAction.sh owWizard(SchemaTransformAction.java:134) at org.netbeans.modules.xml.schema.core.actions.SchemaTransformAction.pe rformAction(SchemaTransformAction.java:66) at org.openide.util.actions.NodeAction$DelegateAction$1.run(NodeAction.j ava:537) at org.netbeans.modules.openide.util.ActionsBridge.doPerformAction(Actio nsBridge.java:53) at org.openide.util.actions.NodeAction$DelegateAction.actionPerformed(No deAction.java:533) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:18 49) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.jav a:2169) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel .java:420) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258 ) at javax.swing.AbstractButton.doClick(AbstractButton.java:302) at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1 000) at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMen uItemUI.java:1041) at java.awt.Component.processMouseEvent(Component.java:5488) at javax.swing.JComponent.processMouseEvent(JComponent.java:3126) at java.awt.Component.processEvent(Component.java:5253) at java.awt.Container.processEvent(Container.java:1966) at java.awt.Component.dispatchEventImpl(Component.java:3955) at java.awt.Container.dispatchEventImpl(Container.java:2024) at java.awt.Component.dispatchEvent(Component.java:3803) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212 ) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822) at java.awt.Container.dispatchEventImpl(Container.java:2010) at java.awt.Window.dispatchEventImpl(Window.java:1774) at java.awt.Component.dispatchEvent(Component.java:3803) at java.awt.EventQueue.dispatchEvent(EventQueue.java:463) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh read.java:242) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre ad.java:163) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) at java.awt.EventDispatchThread.run(EventDispatchThread.java:110) "TimerQueue" daemon prio=5 tid=0x1d1b4ac0 nid=0x2bc in Object.wait() [0x1d76f000 ..0x1d76fa68] at java.lang.Object.wait(Native Method) - waiting on <0x045382e8> (a javax.swing.TimerQueue) at javax.swing.TimerQueue.run(TimerQueue.java:233) - locked <0x045382e8> (a javax.swing.TimerQueue) at java.lang.Thread.run(Thread.java:595) "Java2D Disposer" daemon prio=10 tid=0x1d17a958 nid=0x8f4 in Object.wait() [0x1d 67f000..0x1d67f9e8] at java.lang.Object.wait(Native Method) - waiting on <0x03ed97f8> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116) - locked <0x03ed97f8> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132) at sun.java2d.Disposer.run(Disposer.java:107) at java.lang.Thread.run(Thread.java:595) "AWT-Windows" daemon prio=7 tid=0x1d0c40a8 nid=0xf20 runnable [0x1d61f000..0x1d6 1fa68] at sun.awt.windows.WToolkit.eventLoop(Native Method) at sun.awt.windows.WToolkit.run(WToolkit.java:269) at java.lang.Thread.run(Thread.java:595) "AWT-Shutdown" prio=5 tid=0x1d143e88 nid=0x460 in Object.wait() [0x1d5df000..0x1 d5dfae8] at java.lang.Object.wait(Native Method) - waiting on <0x03ed9820> (a java.lang.Object) at java.lang.Object.wait(Object.java:474) at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:259) - locked <0x03ed9820> (a java.lang.Object) at java.lang.Thread.run(Thread.java:595) "Timer-0" daemon prio=5 tid=0x00a93518 nid=0xcd0 in Object.wait() [0x1d53f000..0 x1d53fb68] at java.lang.Object.wait(Native Method) - waiting on <0x03ed9848> (a java.util.TaskQueue) at java.util.TimerThread.mainLoop(Timer.java:509) - locked <0x03ed9848> (a java.util.TaskQueue) at java.util.TimerThread.run(Timer.java:462) "CLI Requests Server" daemon prio=5 tid=0x1d16e7f8 nid=0xe24 runnable [0x1d4bf00 0..0x1d4bfc68] at java.net.PlainSocketImpl.socketAccept(Native Method) at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384) - locked <0x03e8cbe8> (a java.net.SocksSocketImpl) at java.net.ServerSocket.implAccept(ServerSocket.java:450) at java.net.ServerSocket.accept(ServerSocket.java:421) at org.netbeans.CLIHandler$Server.run(CLIHandler.java:867) "Active Reference Queue Daemon" daemon prio=2 tid=0x1ce45b78 nid=0xf98 in Object .wait() [0x1d04f000..0x1d04fce8] at java.lang.Object.wait(Native Method) - waiting on <0x03e8cd08> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116) - locked <0x03e8cd08> (a java.lang.ref.ReferenceQueue$Lock) at org.openide.util.Utilities$ActiveQueue.run(Utilities.java:3002) at java.lang.Thread.run(Thread.java:595) "Low Memory Detector" daemon prio=5 tid=0x00a9e288 nid=0x84 runnable [0x00000000 ..0x00000000] "CompilerThread0" daemon prio=10 tid=0x00a9c970 nid=0xa98 waiting on condition [ 0x00000000..0x1cd8f7cc] "Signal Dispatcher" daemon prio=10 tid=0x00a9bbf8 nid=0x664 waiting on condition [0x00000000..0x00000000] "JDWP Event Helper Thread" daemon prio=5 tid=0x00a9a9c0 nid=0xb70 runnable [0x00 000000..0x00000000] "JDWP Transport Listener: dt_socket" daemon prio=5 tid=0x00a93c30 nid=0x294 runn able [0x00000000..0x00000000] "Finalizer" daemon prio=9 tid=0x00a8a118 nid=0x558 in Object.wait() [0x1cc8f000. .0x1cc8fc68] at java.lang.Object.wait(Native Method) - waiting on <0x03e8cdf0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116) - locked <0x03e8cdf0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) "Reference Handler" daemon prio=10 tid=0x00a88c88 nid=0xf7c in Object.wait() [0x 1cc4f000..0x1cc4fce8] at java.lang.Object.wait(Native Method) - waiting on <0x03e8cb30> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:474) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) - locked <0x03e8cb30> (a java.lang.ref.Reference$Lock) "VM Thread" prio=10 tid=0x00a862b8 nid=0x964 runnable "VM Periodic Task Thread" prio=10 tid=0x00a9f4d0 nid=0x5b4 waiting on condition
The stack trace doesn't look like a deadlock at first glance.
The IDE does hang, but I dont get an OOM exception. I waited for about 15mins. My guess is that, the code gets into an infinite loop, not sure where and how. Ayub will be the best person to understand this.
Created attachment 34330 [details] ctrl-break trace
Fixed. Files changed: /cvs/xml/axi/src/org/netbeans/modules/xml/axi/impl/Attic/SchemaGeneratorUtil.java new revision: 1.1.2.22; previous revision: 1.1.2.21 /cvs/xml/axi/src/org/netbeans/modules/xml/axi/impl/Attic/DefaultSchemaGenerator.java new revision: 1.1.2.52; previous revision: 1.1.2.51 /cvs/xml/axi/src/org/netbeans/modules/xml/axi/visitor/Attic/AXINonCyclicVisitor.java new revision: 1.1.2.4; previous revision: 1.1.2.3 /cvs/xml/axi/src/org/netbeans/modules/xml/axi/visitor/Attic/FindUsageVisitor.java, new revision: 1.1.2.9; previous revision: 1.1.2.8
The current behaviour will be that if you try to ADP on a schema 'A' that imports from other schema model 'B', we only expand and apply design pattern on components in schema 'A'. So for this testcase, the wizard wont allow to adp since there is no child elements or attributes for the single global element in 'A'.
Verified in CB 060925_10.