Uploaded image for project: 'NetBeans'
  1. NetBeans
  2. NETBEANS-3335

NB 11.2 NullPointerException - Enter key doesn't work in editor in certain files

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 11.2
    • Fix Version/s: 11.3
    • Component/s: web - HTML Editor
    • Environment:
      Windows 10 64-bit, JDK 11.0.1 and 13.0.1

      Description

      I've just tried NetBeans 11.2 for PHP projects and this version appears to be unusable for PHP due to lots of NPE errors, which in effect prevent the Enter key from working in the editor. It looks like certain code structures trigger the NPE's. So far I've come across them in js and tpl (Smarty) files. And I have a way of reproducing the problem:

      1. Create a new PHP project or open an existing one.
      2. Create a new Smarty .tpl file (or open an existing one).
      3. In the editor paste this code:
      <a {if $smarty.server.REQUEST_URI|strstr:"/new"}class="underline"{/if} href="{url('new')}">
      1. Try pressing Enter anywhere in the editor - an NPE comes up and the Enter key does not work.

      There seem to be more code samples that trigger the error but for now I'm reporting the first one that caught my attention. Here is the error:

      java.lang.NullPointerExceptionjava.lang.NullPointerException at org.netbeans.lib.html.lexer.HtmlLexer.equals(HtmlLexer.java:1557) at org.netbeans.lib.html.lexer.HtmlLexer.nextToken(HtmlLexer.java:1051) at org.netbeans.lib.lexer.LexerInputOperation.nextToken(LexerInputOperation.java:191) at org.netbeans.lib.lexer.BatchTokenList.tokenOrEmbeddingImpl(BatchTokenList.java:171) at org.netbeans.lib.lexer.BatchTokenList.tokenCount(BatchTokenList.java:122) at org.netbeans.api.lexer.TokenSequence.moveEnd(TokenSequence.java:607) at org.netbeans.modules.html.editor.lib.ElementsParser.forTokenIndex(ElementsParser.java:106) at org.netbeans.modules.html.editor.lib.api.elements.ElementsIterator.<init>(ElementsIterator.java:63) at org.netbeans.modules.html.editor.lib.api.SyntaxAnalyzer.<init>(SyntaxAnalyzer.java:57) at org.netbeans.modules.html.editor.lib.api.SyntaxAnalyzer.create(SyntaxAnalyzer.java:53) at org.netbeans.modules.html.editor.indent.HtmlIndenter.<init>(HtmlIndenter.java:63) at org.netbeans.modules.html.editor.indent.HtmlIndentTask.<init>(HtmlIndentTask.java:40) at org.netbeans.modules.html.editor.indent.HtmlIndentTaskFactory.createTask(HtmlIndentTaskFactory.java:32) at org.netbeans.modules.editor.indent.TaskHandler$MimeItem.createTask(TaskHandler.java:531) at org.netbeans.modules.editor.indent.TaskHandler.addItem(TaskHandler.java:315) at org.netbeans.modules.editor.indent.TaskHandler.collectTasks(TaskHandler.java:133) at org.netbeans.modules.editor.indent.IndentImpl.indentLock(IndentImpl.java:136) at org.netbeans.modules.editor.indent.api.Indent.lock(Indent.java:91) at org.netbeans.editor.BaseKit$InsertBreakAction.actionPerformed(BaseKit.java:1518) at org.netbeans.editor.BaseAction.actionPerformed(BaseAction.java:322) at java.desktop/javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1810) at java.desktop/javax.swing.JComponent.processKeyBinding(JComponent.java:2900) at java.desktop/javax.swing.JComponent.processKeyBindings(JComponent.java:2948) at java.desktop/javax.swing.JComponent.processKeyEvent(JComponent.java:2862) at java.desktop/java.awt.Component.processEvent(Component.java:6413) at java.desktop/java.awt.Container.processEvent(Container.java:2263) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5012) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4844) at java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1950) at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:870) at java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1139) at java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:1009) at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:835) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4893) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2762) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4844) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) at java.base/java.security.AccessController.doPrivileged(AccessController.java:391) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743) at java.base/java.security.AccessController.doPrivileged(AccessController.java:391) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:136)[catch] at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

      I'm using Windows 10 64-bit and the zipped Netbeans 11.2. I tried running on jdk 11.0.1 and 13.0.1 - didn't make any difference. The error occurs even on fresh NetBeans installation (without importing previous settings) without any plugins apart from the default PHP plugins available under the "PHP" checkbox under Plugins/Installed tab.

      I don't know exactly when the bug first appeared since I skipped 11.1. I'm now back to 11.0.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                matthiasblaesing Matthias Bläsing
                Reporter:
                michal.lemon Michal Koscielny
              • Votes:
                2 Vote for this issue
                Watchers:
                10 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1h 40m
                  1h 40m