Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 251741 - [implementation] BadLocationExceptions when inserting code inside a javadoc comment
Summary: [implementation] BadLocationExceptions when inserting code inside a javadoc c...
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Text (show other bugs)
Version: 3.4   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.6 M3   Edit
Assignee: Dani Megert CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 263629 274318 291704 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-10-22 13:08 EDT by Olivier Thomann CLA
Modified: 2009-10-16 06:15 EDT (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Olivier Thomann CLA 2008-10-22 13:08:00 EDT
I got this error, but I have no clue how to reproduce it. This was inside a target eclipse.
I was editing a javadoc comment.
I am using I20081021-0905.

org.eclipse.jface.text.BadLocationException
at org.eclipse.jface.text.TreeLineTracker.fail(TreeLineTracker.java:1061)
at org.eclipse.jface.text.TreeLineTracker.lineByOffset(TreeLineTracker.java:271)
at org.eclipse.jface.text.TreeLineTracker.getLineNumberOfOffset(TreeLineTracker.java:1143)
at org.eclipse.jface.text.AbstractLineTracker.getLineNumberOfOffset(AbstractLineTracker.java:161)
at org.eclipse.jface.text.AbstractDocument.getLineOfOffset(AbstractDocument.java:881)
at org.eclipse.core.internal.filebuffers.SynchronizableDocument.getLineOfOffset(SynchronizableDocument.java:398)
at org.eclipse.pde.api.tools.internal.search.AbstractProblemDetector.createProblem(AbstractProblemDetector.java:107)
at org.eclipse.pde.api.tools.internal.search.AbstractProblemDetector.createProblems(AbstractProblemDetector.java:270)
at org.eclipse.pde.api.tools.internal.search.ReferenceAnalyzer.analyze(ReferenceAnalyzer.java:185)
at org.eclipse.pde.api.tools.internal.search.ReferenceAnalyzer.analyze(ReferenceAnalyzer.java:406)
at org.eclipse.pde.api.tools.internal.builder.BaseApiAnalyzer.checkApiUsage(BaseApiAnalyzer.java:575)
at org.eclipse.pde.api.tools.internal.builder.BaseApiAnalyzer.analyzeComponent(BaseApiAnalyzer.java:192)
at org.eclipse.pde.api.tools.internal.builder.ApiAnalysisBuilder.build(ApiAnalysisBuilder.java:619)
at org.eclipse.pde.api.tools.internal.builder.ApiAnalysisBuilder.build(ApiAnalysisBuilder.java:338)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:633)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:170)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:253)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:256)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:309)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:341)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:140)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:238)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

I also got this one inside my host:
org.eclipse.jface.text.BadLocationException
at org.eclipse.jface.text.link.LinkedPositionGroup.enforceDisjoint(LinkedPositionGroup.java:148)
at org.eclipse.jface.text.link.LinkedPositionGroup.addPosition(LinkedPositionGroup.java:112)
at org.eclipse.jdt.internal.ui.viewsupport.LinkedProposalModelPresenter.enterLinkedMode(LinkedProposalModelPresenter.java:94)
at org.eclipse.jdt.internal.ui.text.correction.proposals.CUCorrectionProposal.performChange(CUCorrectionProposal.java:335)
at org.eclipse.jdt.internal.ui.text.correction.proposals.CUCorrectionProposal.apply(CUCorrectionProposal.java:304)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup.insertProposal(CompletionProposalPopup.java:929)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup.insertSelectedProposalWithMask(CompletionProposalPopup.java:875)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$27(CompletionProposalPopup.java:871)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup$5.widgetDefaultSelected(CompletionProposalPopup.java:653)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:113)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3848)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3446)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:333)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:370)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
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.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
Comment 1 Dani Megert CLA 2008-10-23 03:35:48 EDT
It happens because ApiAnalysisBuilder accesses the document from the non-UI thread while someone else changed it. Now, this should no happen because the document is synchronized.

Keeping the bug open but unless we have steps it's almost impossible to do something here.

>I am using I20081021-0905.
What version was the code that launched the target? Are you sure Text plug-ins were 3.5 M2 or newer?
Comment 2 Dani Megert CLA 2009-02-04 08:23:31 EST
*** Bug 263629 has been marked as a duplicate of this bug. ***
Comment 3 Benjamin Muskalla CLA 2009-02-24 05:53:21 EST
Same happened to me while doing a "Create method" quickfix in N20090203-2000.
Sorry but don't have reproducible steps. Doing the same actions as before doesn't lead the the exception :/
Comment 4 Dani Megert CLA 2009-04-29 11:39:30 EDT
*** Bug 274318 has been marked as a duplicate of this bug. ***
Comment 5 Markus Keller CLA 2009-10-08 10:25:22 EDT
*** Bug 291704 has been marked as a duplicate of this bug. ***
Comment 6 Markus Keller CLA 2009-10-08 10:27:39 EDT
Steps from bug 291704 comment 0:

- Have this class (without any newline after the last '}'):
----------------------------------------------------
class F { }
@SuppressWarnings("unchecked"){code}
----------------------------------------------------

- Toggle comment (Ctrl-/) on the final line
Comment 7 Dani Megert CLA 2009-10-16 06:15:30 EDT
Fixed in HEAD.
Available in builds > N20091015-2000.