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.

Bug 211034 - NullPointerException at org.netbeans.modules.html.HtmlEditorSupport.updateEncoding
Summary: NullPointerException at org.netbeans.modules.html.HtmlEditorSupport.updateEnc...
Status: RESOLVED FIXED
Alias: None
Product: cnd
Classification: Unclassified
Component: -- Other -- (show other bugs)
Version: 7.2
Hardware: All All
: P1 normal (vote)
Assignee: issues@cnd
URL:
Keywords:
Depends on:
Blocks: 209745
  Show dependency tree
 
Reported: 2012-04-11 16:41 UTC by Vladimir Voskresensky
Modified: 2012-04-12 11:12 UTC (History)
3 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vladimir Voskresensky 2012-04-11 16:41:58 UTC
even after fixing http://netbeans.org/bugzilla/show_bug.cgi?id=210541 Studio IDE can not work with HTML files. Now it is NPE when just adding HTML file to project.

java.lang.NullPointerException
    at
org.netbeans.modules.html.HtmlEditorSupport.updateEncoding(HtmlEditorSupport.java:178)
    at
org.netbeans.modules.html.HtmlEditorSupport.saveDocument(HtmlEditorSupport.java:135)
    at org.netbeans.modules.editor.EditorModule.reformat(EditorModule.java:637)
    at
org.netbeans.modules.editor.EditorModule.access$100(EditorModule.java:109)
    at
org.netbeans.modules.editor.EditorModule$5.operationCreateFromTemplate(EditorModule.java:294)
    at
org.openide.loaders.DataLoaderPool.fireOperationEvent(DataLoaderPool.java:240)
    at org.openide.loaders.DataObject.fireOperationEvent(DataObject.java:870)
    at org.openide.loaders.DataObject.createFromTemplate(DataObject.java:843)
    at
org.openide.loaders.TemplateWizard$DefaultIterator.instantiate(TemplateWizard.java:888)
    at
org.openide.loaders.TemplateWizard.handleInstantiate(TemplateWizard.java:587)
    at
org.openide.loaders.TemplateWizard.instantiateNewObjects(TemplateWizard.java:426)
    at
org.openide.loaders.TemplateWizardIterImpl.instantiate(TemplateWizardIterImpl.java:247)
    at
org.openide.loaders.TemplateWizardIteratorWrapper.instantiate(TemplateWizardIteratorWrapper.java:160)
    at
org.openide.WizardDescriptor.callInstantiateOpen(WizardDescriptor.java:1600)
    at org.openide.WizardDescriptor.callInstantiate(WizardDescriptor.java:1541)
    at org.openide.WizardDescriptor.access$2000(WizardDescriptor.java:139)
[catch] at
org.openide.WizardDescriptor$Listener$2$1.run(WizardDescriptor.java:2165)
    at org.openide.WizardDescriptor$Listener$2.run(WizardDescriptor.java:2222)
    at org.openide.WizardDescriptor.lazyValidate(WizardDescriptor.java:1516)
    at org.openide.WizardDescriptor.access$1600(WizardDescriptor.java:139)
    at
org.openide.WizardDescriptor$Listener.actionPerformed(WizardDescriptor.java:2229)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at
org.openide.util.WeakListenerImpl$ProxyListener.invoke(WeakListenerImpl.java:457)
    at $Proxy15.actionPerformed(Unknown Source)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
    at
javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
    at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
    at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
    at java.awt.Component.processMouseEvent(Component.java:6290)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
    at java.awt.Component.processEvent(Component.java:6055)
    at java.awt.Container.processEvent(Container.java:2039)
    at java.awt.Component.dispatchEventImpl(Component.java:4653)
    at java.awt.Container.dispatchEventImpl(Container.java:2097)
    at java.awt.Component.dispatchEvent(Component.java:4481)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4575)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4236)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4166)
    at java.awt.Container.dispatchEventImpl(Container.java:2083)
    at java.awt.Window.dispatchEventImpl(Window.java:2482)
    at java.awt.Component.dispatchEvent(Component.java:4481)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:648)
    at java.awt.EventQueue.access$000(EventQueue.java:84)
    at java.awt.EventQueue$1.run(EventQueue.java:607)
    at java.awt.EventQueue$1.run(EventQueue.java:605)
    at java.security.AccessController.doPrivileged(Native Method)
    at
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
    at
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
    at java.awt.EventQueue$2.run(EventQueue.java:621)
    at java.awt.EventQueue$2.run(EventQueue.java:619)
    at java.security.AccessController.doPrivileged(Native Method)
    at
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:618)
    at
org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:158)
    at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
    at java.awt.Dialog$1.run(Dialog.java:1044)
    at java.awt.Dialog$3.run(Dialog.java:1096)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.Dialog.show(Dialog.java:1094)
    at
org.netbeans.core.windows.services.NbPresenter.superShow(NbPresenter.java:1051)
    at
org.netbeans.core.windows.services.NbPresenter.doShow(NbPresenter.java:1085)
    at
org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:1073)
    at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:125)
    at org.openide.util.Mutex.doEventAccess(Mutex.java:1361)
    at org.openide.util.Mutex.readAccess(Mutex.java:271)
    at
org.netbeans.core.windows.services.NbPresenter.show(NbPresenter.java:1058)
    at java.awt.Component.show(Component.java:1584)
    at java.awt.Component.setVisible(Component.java:1536)
    at java.awt.Window.setVisible(Window.java:841)
    at java.awt.Dialog.setVisible(Dialog.java:984)
    at
org.netbeans.core.windows.services.DialogDisplayerImpl$1AWTQuery.showDialog(DialogDisplayerImpl.java:260)
    at
org.netbeans.core.windows.services.DialogDisplayerImpl$1AWTQuery.run(DialogDisplayerImpl.java:186)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:646)
    at java.awt.EventQueue.access$000(EventQueue.java:84)
    at java.awt.EventQueue$1.run(EventQueue.java:607)
    at java.awt.EventQueue$1.run(EventQueue.java:605)
    at java.security.AccessController.doPrivileged(Native Method)
    at
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:616)
    at
org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:158)
    at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Comment 1 Vladimir Voskresensky 2012-04-11 16:43:09 UTC
P1, because we still can not make Studio IDE workable and tests are failing.
Comment 2 Marek Fukala 2012-04-12 10:01:26 UTC
changeset:   219605:642b75c7366c
summary:     #210541 - more robust code with respect to a CES redirectors

No NPE should be thrown now, but if HtmlEditorSupport.getDocument()  returns null due to a registered CES redirector which return null from getDocument() then the file encoding is not properly used when saving the document to the FileObject.

I cannot reproduce the issue so I just guess it may be caused by a problem in the registered redirector.

BTW do you mean CND distribution by "Studio IDE"???

Please give me more info how to reproduce or ideally create a complete failing unit test for me. Then I'll try to make more elegant solution, otherwise I cannot fix properly. Please reopen the issue then. Thank you for understanding.
Comment 3 Marek Fukala 2012-04-12 10:04:17 UTC
BTW when the problem started to appear? I haven't done any change in the related code for long time so it may be caused by some platform (Jarda's) changes (not necessarily regression, could just reveal an old bug in html).
Comment 4 Vladimir Voskresensky 2012-04-12 11:12:30 UTC
it appeared exactly after Jarda's fix of  http://netbeans.org/bugzilla/show_bug.cgi?id=210541