Wierdness with Comment Parsing

kliencow wrote on Tue Nov 28 00:36:05 CET 2006:
I've recieved an NPE while trying to open a .pl file. I noticed in the stack
trace that Comments might be a culprit. I had to comments that started with
TODO. After deleting the TODO statements, I was able to open the file just
fine. I could even add them back in, save and close document, and reopen
them. Since I can edit with this work around, this is not a major issue
for me. If I close the eclipse editor and start it up again and open a doc
with TODO in it, the NPE returns. Here is my environment:

Linux - FC4
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_05-b05)
Eclipse Version: 3.1.1 Build id: M20050929-0840
EPIC 
  Editor Plug-in 0.4.18
  Source Plug-in 0.4.22
  Documentation 0.4.1
  External Libs 0.4.1
  Debug 0.4.10
  RegExp 0.4.1

NPE:
java.lang.NullPointerException
	at org.epic.perleditor.editors.util.MarkerUtil.isMarkerPresent(MarkerUtil.java:204)
	at org.epic.perleditor.editors.TasksReconciler.parseComment(TasksReconciler.java:126)
	at org.epic.perleditor.editors.TasksReconciler.parseComment(TasksReconciler.java:115)
	at org.epic.perleditor.editors.TasksReconciler.reconcile(TasksReconciler.java:70)
	at org.epic.perleditor.editors.PerlEditor$1.run(PerlEditor.java:393)
	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:152)
	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:28)
	at org.eclipse.swt.widgets.Display.syncExec(Display.java:3366)
	at org.epic.perleditor.editors.PerlEditor.reconcile(PerlEditor.java:386)
	at org.epic.perleditor.editors.PerlEditor.createPartControl(PerlEditor.java:99)
	at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:609)
	at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:384)
	at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:552)
	at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:223)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2362)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2295)
	at org.eclipse.ui.internal.WorkbenchPage.access$9(WorkbenchPage.java:2287)
	at org.eclipse.ui.internal.WorkbenchPage$9.run(WorkbenchPage.java:2273)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2268)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2249)
	at org.eclipse.ui.ide.IDE.openEditor(IDE.java:371)
	at org.eclipse.ui.ide.IDE.openEditor(IDE.java:334)
	at org.eclipse.ui.actions.OpenFileAction.openFile(OpenFileAction.java:98)
	at org.eclipse.ui.actions.OpenSystemEditorAction.run(OpenSystemEditorAction.java:98)
	at org.eclipse.ui.views.navigator.OpenActionGroup.runDefaultAction(OpenActionGroup.java:120)
	at org.eclipse.ui.views.navigator.MainActionGroup.runDefaultAction(MainActionGroup.java:326)
	at org.eclipse.ui.views.navigator.ResourceNavigator.handleOpen(ResourceNavigator.java:650)
	at org.eclipse.ui.views.navigator.ResourceNavigator$6.open(ResourceNavigator.java:409)
	at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:741)
	at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044)
	at org.eclipse.core.runtime.Platform.run(Platform.java:783)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:148)
	at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:739)
	at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:968)
	at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1067)
	at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:243)
	at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:238)
	at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:277)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1021)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2867)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2572)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1699)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
	at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103)
	at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163)
	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:585)
	at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
	at org.eclipse.core.launcher.Main.run(Main.java:973)
	at org.eclipse.core.launcher.Main.main(Main.java:948)
jgangemi wrote on Tue Nov 28 03:14:51 CET 2006:
i've committed a fix for this, however the behavior of the tag is still
off - the editor doesn't create a marker for it unless it has text that
follows (the jdt does, and i use that as my defacto standard). 

not sure why, but that's a different bug :)

you'll need to wait for jan to cut a release w/ this fix though.
kliencow wrote on Tue Nov 28 18:45:31 CET 2006:
I can wait until Jan for the patch. The work around I'm using until then
is to just remove TODO and TASK from Preferences->Perl EPIC->Tags Tags.
That seems to do the trick. 

Thanks for the info and for your work with EPIC.
jploski wrote on Sun Dec  3 20:09:06 CET 2006:
0.4.23/0.5.23 with Jae's fix is now out.

Note: The above is an archived snapshot of a forum thread. Use the original thread at sf.net to post comments.