History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: IDEADEV-14425
Type: Exception Exception
Status: Open Open
Priority: Major Major
Assignee: Alexey Kudravtsev
Reporter: Alexander Chernikov
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
IDEA: Development

NPE from CodeInsightUtil.findStatementsInRange() with specific JSP scriptlets

Created: 13 Feb 07 22:05   Updated: 13 Feb 07 22:05
Component/s: J2EE.JSP
Fix Version/s: None

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown

Build: 6,703


 Description  « Hide
Get a JSP:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
	<head><title>Title</title></head>
	<body>
		<p>
			<%
				for (int i = 0; i < 10; i++) {
			%>
			<%=i%>
			<%
				}
			%>
		</p>
	</body>
</html>

Put cursor right before any of 2 "<%" tokens. Invoke main menu | code. Wait a bit - exception. See below.
I cannot reproduce it in simple cases, e.g. in case when the "for" loop is completely within the single scriptlet block.

update failed for AnAction with ID=MoveStatementDown
java.lang.NullPointerException
	at com.intellij.codeInsight.CodeInsightUtil.findStatementsInRange(CodeInsightUtil.java:236)
	at com.intellij.openapi.editor.actions.moveUpDown.StatementMover.checkAvailable(StatementMover.java:71)
	at com.intellij.openapi.editor.actions.moveUpDown.MoveStatementHandler.a(MoveStatementHandler.java:30)
	at com.intellij.openapi.editor.actions.moveUpDown.MoveStatementHandler.isEnabled(MoveStatementHandler.java:13)
	at com.intellij.openapi.editor.actionSystem.EditorAction.update(EditorAction.java:62)
	at com.intellij.openapi.editor.actionSystem.EditorAction.update(EditorAction.java:73)
	at com.intellij.openapi.actionSystem.impl.Utils.a(Utils.java:73)
	at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:79)
	at com.intellij.openapi.actionSystem.impl.Utils.fillMenu(Utils.java:19)
	at com.intellij.openapi.actionSystem.impl.ActionMenu.f(ActionMenu.java:14)
	at com.intellij.openapi.actionSystem.impl.ActionMenu.access$400(ActionMenu.java:84)
	at com.intellij.openapi.actionSystem.impl.ActionMenu$MenuListenerImpl.menuSelected(ActionMenu.java:2)
	at javax.swing.JMenu.fireMenuSelected(JMenu.java:1091)
	at javax.swing.JMenu$MenuChangeListener.stateChanged(JMenu.java:1184)
	at javax.swing.DefaultButtonModel.fireStateChanged(DefaultButtonModel.java:362)
	at javax.swing.DefaultButtonModel.setSelected(DefaultButtonModel.java:228)
	at javax.swing.JMenu.setSelected(JMenu.java:280)
	at javax.swing.JMenu.menuSelectionChanged(JMenu.java:1251)
	at com.intellij.openapi.actionSystem.impl.ActionMenu.menuSelectionChanged(ActionMenu.java:36)
	at javax.swing.MenuSelectionManager.setSelectedPath(MenuSelectionManager.java:89)
	at javax.swing.plaf.basic.BasicMenuUI$Actions.actionPerformed(BasicMenuUI.java:270)
	at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1571)
	at javax.swing.JComponent.processKeyBinding(JComponent.java:2772)
	at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:255)
	at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:204)
	at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2849)
	at javax.swing.JComponent.processKeyBindings(JComponent.java:2841)
	at javax.swing.JComponent.processKeyEvent(JComponent.java:2735)
	at java.awt.Component.processEvent(Component.java:5278)
	at java.awt.Container.processEvent(Container.java:1966)
	at java.awt.Component.dispatchEventImpl(Component.java:3968)
	at java.awt.Container.dispatchEventImpl(Container.java:2024)
	at java.awt.Component.dispatchEvent(Component.java:3803)
	at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1826)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:677)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:934)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:806)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:641)
	at java.awt.Component.dispatchEventImpl(Component.java:3841)
	at java.awt.Container.dispatchEventImpl(Container.java:2024)
	at java.awt.Window.dispatchEventImpl(Window.java:1778)
	at java.awt.Component.dispatchEvent(Component.java:3803)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
	at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:28)
	at com.intellij.ide.IdeEventQueue.a(IdeEventQueue.java:115)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:102)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.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)



java.lang.NullPointerException
	at com.intellij.codeInsight.CodeInsightUtil.findStatementsInRange(CodeInsightUtil.java:236)
	at com.intellij.openapi.editor.actions.moveUpDown.StatementMover.checkAvailable(StatementMover.java:71)
	at com.intellij.openapi.editor.actions.moveUpDown.MoveStatementHandler.a(MoveStatementHandler.java:30)
	at com.intellij.openapi.editor.actions.moveUpDown.MoveStatementHandler.isEnabled(MoveStatementHandler.java:13)
	at com.intellij.openapi.editor.actionSystem.EditorAction.update(EditorAction.java:62)
	at com.intellij.openapi.editor.actionSystem.EditorAction.update(EditorAction.java:73)
	at com.intellij.openapi.actionSystem.impl.Utils.a(Utils.java:73)
	at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:79)
	at com.intellij.openapi.actionSystem.impl.Utils.fillMenu(Utils.java:19)
	at com.intellij.openapi.actionSystem.impl.ActionMenu.f(ActionMenu.java:14)
	at com.intellij.openapi.actionSystem.impl.ActionMenu.access$400(ActionMenu.java:84)
	at com.intellij.openapi.actionSystem.impl.ActionMenu$MenuListenerImpl.menuSelected(ActionMenu.java:2)
	at javax.swing.JMenu.fireMenuSelected(JMenu.java:1091)
	at javax.swing.JMenu$MenuChangeListener.stateChanged(JMenu.java:1184)
	at javax.swing.DefaultButtonModel.fireStateChanged(DefaultButtonModel.java:362)
	at javax.swing.DefaultButtonModel.setSelected(DefaultButtonModel.java:228)
	at javax.swing.JMenu.setSelected(JMenu.java:280)
	at javax.swing.JMenu.menuSelectionChanged(JMenu.java:1251)
	at com.intellij.openapi.actionSystem.impl.ActionMenu.menuSelectionChanged(ActionMenu.java:36)
	at javax.swing.MenuSelectionManager.setSelectedPath(MenuSelectionManager.java:89)
	at javax.swing.plaf.basic.BasicMenuUI$Actions.actionPerformed(BasicMenuUI.java:270)
	at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1571)
	at javax.swing.JComponent.processKeyBinding(JComponent.java:2772)
	at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:255)
	at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:204)
	at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2849)
	at javax.swing.JComponent.processKeyBindings(JComponent.java:2841)
	at javax.swing.JComponent.processKeyEvent(JComponent.java:2735)
	at java.awt.Component.processEvent(Component.java:5278)
	at java.awt.Container.processEvent(Container.java:1966)
	at java.awt.Component.dispatchEventImpl(Component.java:3968)
	at java.awt.Container.dispatchEventImpl(Container.java:2024)
	at java.awt.Component.dispatchEvent(Component.java:3803)
	at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1826)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:677)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:934)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:806)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:641)
	at java.awt.Component.dispatchEventImpl(Component.java:3841)
	at java.awt.Container.dispatchEventImpl(Container.java:2024)
	at java.awt.Window.dispatchEventImpl(Window.java:1778)
	at java.awt.Component.dispatchEvent(Component.java:3803)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
	at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:28)
	at com.intellij.ide.IdeEventQueue.a(IdeEventQueue.java:115)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:102)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.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)

The trace is similar to IDEADEV-2976.



 All   Comments   Work Log   Change History      Sort Order:
There are no comments yet on this issue.