Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.14.0 slowing down Eclipse (SpringTool Suite Edition) #717

Open
lombokissues opened this issue Jul 14, 2015 · 49 comments
Open

1.14.0 slowing down Eclipse (SpringTool Suite Edition) #717

lombokissues opened this issue Jul 14, 2015 · 49 comments
Labels
accepted The issue/enhancement is valid, sensible, and explained in sufficient detail

Comments

@lombokissues
Copy link

Migrated from Google Code (issue 682)

@lombokissues
Copy link
Author

👤 shawn.tuatara   🕗 May 28, 2014 at 16:31 UTC

I went and updated my lombok to 1.14.0 yesterday afternoon. I noticed fairly quickly that my Eclipse slowed down considerably when making changes to files. Researching it a bit further this morning I found that in the eclipse log there is a lot of error messages for lombok starting at when I upgraded. Attached is the related log file.

@lombokissues
Copy link
Author

👤 shawn.tuatara   🕗 May 28, 2014 at 16:31 UTC

🔗 lombok-eclipse-error-log.txt View file

@lombokissues
Copy link
Author

👤 reinierz   🕗 May 30, 2014 at 00:30 UTC

Dang. Can't reproduce, but that's definitely from the new code in 1.14 that attempts to find the lombok.config related to your source directory.

Which eclipse version are you using, exactly? Is there anything particularly special about that project's set up? For example, is it a so-called 'linked' resource (example: is the directory of the project someplace else, other than as a direct subdirectory to your workspace dir?)

Eclipse has a really REALLY weirdo idea of how to make strings that refer to resources in the workspace, and clearly we missed something.

@lombokissues
Copy link
Author

👤 shawn.tuatara   🕗 May 30, 2014 at 00:35 UTC

It is a Spring Tool Suite version of Eclipse version 3.5.1 (
http://spring.io/tools). The project in question was a normal maven
project. If you need any specific information just tell me where to find it
and I can share it.

@lombokissues
Copy link
Author

👤 reinierz   🕗 May 30, 2014 at 01:03 UTC

Okay, I have an edge release version that won't produce quite so many errors, but it 'works' by basically not supporting lombok.config at all in your particular setup, which is of course not good. For now this edge release will log whenever this failure occurs, because we really do need to figure out when this happens and how to get an absolute path.

Give it a shot and report back? Thanks a bunch for letting us know!

https://projectlombok.org/download-edge.html

If this doesn't lead anywhere useful I'm going to try and reproduce your situation, but there are tons of variables here, so that would take a long time.

@lombokissues lombokissues added the accepted The issue/enhancement is valid, sensible, and explained in sufficient detail label Jul 14, 2015
@lombokissues
Copy link
Author

👤 shawn.tuatara   🕗 May 30, 2014 at 16:29 UTC

So far this morning no errors are showing up. I did notice some lag on initial loading of a source file. As well I am noticing some odd syntax highlighting on the lombok annotations. Attached shows the @ Slf4j annotation in an italicized black font instead of the normal slightly brown font. As well when I added a @ Getter annotation on the sender it was with a blue font instead of the normal font. If I go back to 1.12.x the fonts show up normally.

@lombokissues
Copy link
Author

👤 shawn.tuatara   🕗 May 30, 2014 at 16:29 UTC

@lombokissues
Copy link
Author

👤 shawn.tuatara   🕗 May 30, 2014 at 16:29 UTC

@lombokissues
Copy link
Author

👤 shawn.tuatara   🕗 May 30, 2014 at 21:25 UTC

So after using my Eclipse for the day I have not seen any errors show up in the log. Other than the weird colouring of the lombok annotations it seems to be stable. If you want me to try another edge build that would output more information and actually error again I don't have a problem trying it.

@lombokissues
Copy link
Author

👤 Maaartinus   🕗 May 31, 2014 at 04:50 UTC

With my old Eclipse 3.7.2, I was having quite some problems and tons of "Path must include project and resource name" messages, too. Now (using the current master), they're gone. The colors aren't really weird, it's just that some areas (sometimes nearly everything) get all gray. Clicking around usually relocates the area or makes it disappear.

@lombokissues
Copy link
Author

👤 r.spilker   🕗 Jun 03, 2014 at 22:30 UTC

This is NOT fixed at all, we merely hid the problem. The issue is that we try to find, as a sibling file to your source file, the file 'lombok.config', and there are some fancy scenarios where this doesn't work. So far we know of at least these 3:

  • In javac, with some as yet unknown scenario probably involving maven.
  • In eclipse, with a 'virtual file' that is simply being tossed through the parser for some source arithmatic. For example when refactoring or save actions or scala plugin stuff.
  • In eclipse/rational rose, with the 'jazz' sourcecontrol system, where files aren't officially hosted on disk at all, but instead at URL 'sourcecontrol://jazz/etc', which we don't know how to resolve.

The quick and dirty non-fix for all of these scenarios is to just not look for lombok.config at all but this is NOT A SOLUTION: The lombok config system is here to stay and we can't just randomly decide it's too hard to find it and stop there. However, that is exactly what the edge release currently does - hence, not a fix.

We're currently looking into how to detect these scenarios, and, optimally, figure out how to still find lombok.config. This is an extremely difficult task because for a lot of the above scenarios, we do not have a system to reproduce, and it takes a lot of effort to create it (example: Installing rational whatsit with jazz and all that, well, that's a lot of work, obviously). So, it'll be slow going and require a lot of feedback.

We're calling it a night for now. Progress on our research is on public branch:

https://github.com/rzwitserloot/lombok/tree/configResolutionInEclipse

In the mean time we have the rather acute problem that 1.14.0 is causing tons of show-stopping problems, so most likely we'll push a release out the door soon that'll catch these issues and instead post a warning in the eclipse log imploring the user to get back to us.

@lombokissues
Copy link
Author

👤 r.spilker   🕗 Jun 11, 2014 at 10:00 UTC

About the sourcecontrol://jazz urls: thate are some pointers in:

@lombokissues
Copy link
Author

👤 r.spilker   🕗 Jun 24, 2014 at 18:46 UTC

Issue #733 has been merged into this issue.

@lombokissues
Copy link
Author

👤 shawn.tuatara   🕗 Jun 25, 2014 at 21:19 UTC

More feedback on this. I am now running 1.14.2 in my environment and while it isn't slowing down Eclipse the same way it was in the past it is still showing times when it is slow. The good thing is that when it is slow I can look at the Error Log and see that it is actually lombok trying to do something. I have been able to reproduce the problem for one situation:

  1. Have a project that is a git repository
  2. Modify a .java file in the project
  3. Bring up the commit dialog
  4. Double click the changed file to bring up the compare dialog

At this moment you should see a dialog saying that it is loading the compare but it takes it a brief second or two before the comparison dialog shows up. If you then look at the Error Log you will see entries like the one below.

eclipse.buildId=3.5.1.201405030657-RELEASE-e43
java.version=1.7.0_40
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments: -product org.springsource.sts.ide
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.springsource.sts.ide

This is a continuation of log file C:\Development\Workspaces\sts-3.5.x.metadata.bak_0.log
Created Time: 2014-06-25 12:41:28.475

Warning
Wed Jun 25 14:12:37 PDT 2014
Finding 'lombok.config' file failed for ''

java.lang.IllegalArgumentException: Path must include project and resource name: /
at org.eclipse.core.runtime.Assert.isLegal(Assert.java:63)
at org.eclipse.core.internal.resources.Workspace.newResource(Workspace.java:2170)
at org.eclipse.core.internal.resources.Container.getFile(Container.java:208)
at lombok.eclipse.EclipseAST$EclipseWorkspaceBasedFileResolver.resolve(EclipseAST.java:154)
at lombok.eclipse.EclipseAST.getAbsoluteFileLocation(EclipseAST.java:92)
at lombok.core.LombokConfiguration$1.createResolver(LombokConfiguration.java:50)
at lombok.core.LombokConfiguration.read(LombokConfiguration.java:44)
at lombok.core.AST.readConfiguration(AST.java:422)
at lombok.core.handlers.HandlerUtil.handleFlagUsage(HandlerUtil.java:91)
at lombok.eclipse.handlers.HandleSetter.handle(HandleSetter.java:122)
at lombok.eclipse.HandlerLibrary$AnnotationHandlerContainer.handle(HandlerLibrary.java:106)
at lombok.eclipse.HandlerLibrary.handleAnnotation(HandlerLibrary.java:233)
at lombok.eclipse.TransformEclipseAST$AnnotationVisitor.visitAnnotationOnField(TransformEclipseAST.java:189)
at lombok.eclipse.EclipseNode.traverse(EclipseNode.java:99)
at lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:189)
at lombok.eclipse.EclipseNode.traverse(EclipseNode.java:68)
at lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:189)
at lombok.eclipse.EclipseNode.traverse(EclipseNode.java:63)
at lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:189)
at lombok.eclipse.EclipseNode.traverse(EclipseNode.java:58)
at lombok.eclipse.EclipseAST.traverse(EclipseAST.java:182)
at lombok.eclipse.TransformEclipseAST.go(TransformEclipseAST.java:175)
at lombok.eclipse.TransformEclipseAST.transform(TransformEclipseAST.java:140)
at lombok.eclipse.TransformEclipseAST.transform_swapped(TransformEclipseAST.java:93)
at org.eclipse.jdt.internal.compiler.parser.Parser.endParse(Parser.java:9872)
at org.eclipse.jdt.internal.core.util.CommentRecorderParser.endParse(CommentRecorderParser.java:116)
at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:11043)
at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:11267)
at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:11224)
at org.eclipse.jdt.internal.compiler.parser.Parser.dietParse(Parser.java:9645)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.parse(CompilationUnitResolver.java:507)
at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1202)
at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:809)
at org.eclipse.jdt.internal.ui.compare.JavaStructureCreator.createStructureComparator(JavaStructureCreator.java:301)
at org.eclipse.jdt.internal.ui.compare.JavaStructureCreator.createStructureComparator(JavaStructureCreator.java:260)
at org.eclipse.compare.structuremergeviewer.StructureCreator.internalCreateStructure(StructureCreator.java:121)
at org.eclipse.compare.structuremergeviewer.StructureCreator.access$0(StructureCreator.java:109)
at org.eclipse.compare.structuremergeviewer.StructureCreator$1.run(StructureCreator.java:96)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.compare.internal.Utilities.runInUIThread(Utilities.java:859)
at org.eclipse.compare.structuremergeviewer.StructureCreator.createStructure(StructureCreator.java:102)
at org.eclipse.compare.structuremergeviewer.StructureDiffViewer$StructureInfo.createStructure(StructureDiffViewer.java:155)
at org.eclipse.compare.structuremergeviewer.StructureDiffViewer$StructureInfo.refresh(StructureDiffViewer.java:133)
at org.eclipse.compare.structuremergeviewer.StructureDiffViewer$StructureInfo.setInput(StructureDiffViewer.java:104)
at org.eclipse.compare.structuremergeviewer.StructureDiffViewer.compareInputChanged(StructureDiffViewer.java:347)
at org.eclipse.compare.structuremergeviewer.StructureDiffViewer$2.run(StructureDiffViewer.java:74)
at org.eclipse.compare.structuremergeviewer.StructureDiffViewer$6.run(StructureDiffViewer.java:322)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.compare.structuremergeviewer.StructureDiffViewer.compareInputChanged(StructureDiffViewer.java:319)
at org.eclipse.compare.structuremergeviewer.StructureDiffViewer.compareInputChanged(StructureDiffViewer.java:307)
at org.eclipse.jdt.internal.ui.compare.JavaStructureDiffViewer.compareInputChanged(JavaStructureDiffViewer.java:165)
at org.eclipse.compare.structuremergeviewer.StructureDiffViewer.inputChanged(StructureDiffViewer.java:278)
at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:280)
at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1690)
at org.eclipse.compare.CompareViewerSwitchingPane.setInput(CompareViewerSwitchingPane.java:277)
at org.eclipse.compare.internal.CompareStructureViewerSwitchingPane.setInput(CompareStructureViewerSwitchingPane.java:132)
at org.eclipse.compare.CompareEditorInput.feedInput(CompareEditorInput.java:747)
at org.eclipse.compare.CompareEditorInput.createContents(CompareEditorInput.java:555)
at org.eclipse.compare.internal.CompareDialog.createDialogArea(CompareDialog.java:175)
at org.eclipse.jface.dialogs.Dialog.createContents(Dialog.java:775)
at org.eclipse.jface.window.Window.create(Window.java:432)
at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1104)
at org.eclipse.jface.window.Window.open(Window.java:791)
at org.eclipse.compare.internal.CompareDialog.open(CompareDialog.java:196)
at org.eclipse.compare.internal.CompareUIPlugin$4.run(CompareUIPlugin.java:1391)
at org.eclipse.compare.internal.CompareUIPlugin.syncExec(CompareUIPlugin.java:1401)
at org.eclipse.compare.internal.CompareUIPlugin.internalOpenDialog(CompareUIPlugin.java:1394)
at org.eclipse.compare.internal.CompareUIPlugin.openCompareDialog(CompareUIPlugin.java:575)
at org.eclipse.compare.CompareUI.openCompareDialog(CompareUI.java:211)
at org.eclipse.egit.ui.internal.CompareUtils.compareHeadWithWorkspace(CompareUtils.java:392)
at org.eclipse.egit.ui.internal.dialogs.CommitDialog.compare(CommitDialog.java:1271)
at org.eclipse.egit.ui.internal.dialogs.CommitDialog.access$0(CommitDialog.java:1264)
at org.eclipse.egit.ui.internal.dialogs.CommitDialog$CommitItemSelectionListener.widgetDefaultSelected(CommitDialog.java:301)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:119)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4170)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:826)
at org.eclipse.jface.window.Window.open(Window.java:802)
at org.eclipse.egit.ui.internal.commit.CommitUI.commit(CommitUI.java:179)
at org.eclipse.egit.ui.internal.actions.CommitActionHandler.execute(CommitActionHandler.java:54)
at org.eclipse.egit.ui.internal.actions.RepositoryAction.run(RepositoryAction.java:76)
at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:251)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4170)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
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:354)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
at org.eclipse.equinox.launcher.Main.main(Main.java:1426)

@lombokissues
Copy link
Author

👤 r.spilker   🕗 Jun 26, 2014 at 09:07 UTC

We've created a new edge release: https://projectlombok.org/download-edge.html

@lombokissues
Copy link
Author

👤 r.spilker   🕗 Jun 26, 2014 at 09:08 UTC

Any feedback is appreciated...

@lombokissues
Copy link
Author

👤 shawn.tuatara   🕗 Jun 26, 2014 at 20:56 UTC

A little better with the latest edge build. Before the error would show up about 10-15 times in the log at the same time. Now it only shows up about 6-8 times. Similar error:

eclipse.buildId=3.5.1.201405030657-RELEASE-e43
java.version=1.7.0_40
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments: -product org.springsource.sts.ide
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.springsource.sts.ide

Warning
Thu Jun 26 13:54:50 PDT 2014
Finding 'lombok.config' file failed for ''

java.lang.IllegalArgumentException: Path must include project and resource name: /
at org.eclipse.core.runtime.Assert.isLegal(Assert.java:63)
at org.eclipse.core.internal.resources.Workspace.newResource(Workspace.java:2170)
at org.eclipse.core.internal.resources.Container.getFile(Container.java:208)
at lombok.eclipse.EclipseAST$EclipseWorkspaceBasedFileResolver.resolve(EclipseAST.java:159)
at lombok.eclipse.EclipseAST.getAbsoluteFileLocation(EclipseAST.java:97)
at lombok.core.LombokConfiguration$1.createResolver(LombokConfiguration.java:50)
at lombok.core.LombokConfiguration.read(LombokConfiguration.java:44)
at lombok.core.AST.readConfiguration(AST.java:422)
at lombok.core.handlers.HandlerUtil.handleFlagUsage(HandlerUtil.java:105)
at lombok.eclipse.handlers.HandleLog$HandleSlf4jLog.handle(HandleLog.java:216)
at lombok.eclipse.HandlerLibrary$AnnotationHandlerContainer.handle(HandlerLibrary.java:106)
at lombok.eclipse.HandlerLibrary.handleAnnotation(HandlerLibrary.java:233)
at lombok.eclipse.TransformEclipseAST$AnnotationVisitor.visitAnnotationOnType(TransformEclipseAST.java:209)
at lombok.eclipse.EclipseNode.traverse(EclipseNode.java:96)
at lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:194)
at lombok.eclipse.EclipseNode.traverse(EclipseNode.java:63)
at lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:194)
at lombok.eclipse.EclipseNode.traverse(EclipseNode.java:58)
at lombok.eclipse.EclipseAST.traverse(EclipseAST.java:187)
at lombok.eclipse.TransformEclipseAST.go(TransformEclipseAST.java:175)
at lombok.eclipse.TransformEclipseAST.transform(TransformEclipseAST.java:140)
at lombok.eclipse.TransformEclipseAST.transform_swapped(TransformEclipseAST.java:93)
at org.eclipse.jdt.internal.compiler.parser.Parser.endParse(Parser.java:9872)
at org.eclipse.jdt.internal.core.util.CommentRecorderParser.endParse(CommentRecorderParser.java:116)
at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:11043)
at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:11267)
at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:11224)
at org.eclipse.jdt.internal.compiler.parser.Parser.dietParse(Parser.java:9645)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.parse(CompilationUnitResolver.java:507)
at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1202)
at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:809)
at org.eclipse.jdt.internal.ui.compare.JavaStructureCreator.createStructureComparator(JavaStructureCreator.java:301)
at org.eclipse.jdt.internal.ui.compare.JavaStructureCreator.createStructureComparator(JavaStructureCreator.java:260)
at org.eclipse.compare.structuremergeviewer.StructureCreator.internalCreateStructure(StructureCreator.java:121)
at org.eclipse.compare.structuremergeviewer.StructureCreator.access$0(StructureCreator.java:109)
at org.eclipse.compare.structuremergeviewer.StructureCreator$1.run(StructureCreator.java:96)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.compare.internal.Utilities.runInUIThread(Utilities.java:859)
at org.eclipse.compare.structuremergeviewer.StructureCreator.createStructure(StructureCreator.java:102)
at org.eclipse.compare.structuremergeviewer.StructureDiffViewer$StructureInfo.createStructure(StructureDiffViewer.java:155)
at org.eclipse.compare.structuremergeviewer.StructureDiffViewer$StructureInfo.refresh(StructureDiffViewer.java:133)
at org.eclipse.compare.structuremergeviewer.StructureDiffViewer$StructureInfo.setInput(StructureDiffViewer.java:104)
at org.eclipse.compare.structuremergeviewer.StructureDiffViewer.compareInputChanged(StructureDiffViewer.java:347)
at org.eclipse.compare.structuremergeviewer.StructureDiffViewer$2.run(StructureDiffViewer.java:74)
at org.eclipse.compare.structuremergeviewer.StructureDiffViewer$6.run(StructureDiffViewer.java:322)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.compare.structuremergeviewer.StructureDiffViewer.compareInputChanged(StructureDiffViewer.java:319)
at org.eclipse.compare.structuremergeviewer.StructureDiffViewer.compareInputChanged(StructureDiffViewer.java:307)
at org.eclipse.jdt.internal.ui.compare.JavaStructureDiffViewer.compareInputChanged(JavaStructureDiffViewer.java:165)
at org.eclipse.compare.structuremergeviewer.StructureDiffViewer.inputChanged(StructureDiffViewer.java:278)
at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:280)
at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1690)
at org.eclipse.compare.CompareViewerSwitchingPane.setInput(CompareViewerSwitchingPane.java:277)
at org.eclipse.compare.internal.CompareStructureViewerSwitchingPane.setInput(CompareStructureViewerSwitchingPane.java:132)
at org.eclipse.compare.CompareEditorInput.feedInput(CompareEditorInput.java:747)
at org.eclipse.compare.CompareEditorInput.createContents(CompareEditorInput.java:555)
at org.eclipse.compare.internal.CompareDialog.createDialogArea(CompareDialog.java:175)
at org.eclipse.jface.dialogs.Dialog.createContents(Dialog.java:775)
at org.eclipse.jface.window.Window.create(Window.java:432)
at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1104)
at org.eclipse.jface.window.Window.open(Window.java:791)
at org.eclipse.compare.internal.CompareDialog.open(CompareDialog.java:196)
at org.eclipse.compare.internal.CompareUIPlugin$4.run(CompareUIPlugin.java:1391)
at org.eclipse.compare.internal.CompareUIPlugin.syncExec(CompareUIPlugin.java:1401)
at org.eclipse.compare.internal.CompareUIPlugin.internalOpenDialog(CompareUIPlugin.java:1394)
at org.eclipse.compare.internal.CompareUIPlugin.openCompareDialog(CompareUIPlugin.java:575)
at org.eclipse.compare.CompareUI.openCompareDialog(CompareUI.java:211)
at org.eclipse.egit.ui.internal.CompareUtils.compareHeadWithWorkspace(CompareUtils.java:392)
at org.eclipse.egit.ui.internal.dialogs.CommitDialog.compare(CommitDialog.java:1271)
at org.eclipse.egit.ui.internal.dialogs.CommitDialog.access$0(CommitDialog.java:1264)
at org.eclipse.egit.ui.internal.dialogs.CommitDialog$CommitItemSelectionListener.widgetDefaultSelected(CommitDialog.java:301)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:119)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4170)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:826)
at org.eclipse.jface.window.Window.open(Window.java:802)
at org.eclipse.egit.ui.internal.commit.CommitUI.commit(CommitUI.java:179)
at org.eclipse.egit.ui.internal.actions.CommitActionHandler.execute(CommitActionHandler.java:54)
at org.eclipse.egit.ui.internal.actions.RepositoryAction.run(RepositoryAction.java:76)
at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:251)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4170)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
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:354)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
at org.eclipse.equinox.launcher.Main.main(Main.java:1426)

@lombokissues
Copy link
Author

👤 joerg.stoever   🕗 Jul 05, 2014 at 15:04 UTC

For what it's worth, this definitely seems to be source control/git related, today I worked with two projects for a few hours and had no issues, and then worked on a third and had massive slowdown problems and the above mentioned log messages. All in the same Eclipse and the same workspace, all having the same lombok dependency in their pom.xml. The only difference between them was the third project being a git project.

@lombokissues
Copy link
Author

👤 matthew.painter@import.io   🕗 Jul 06, 2014 at 13:27 UTC

I can confirm this is still a problem with Luna RC3 and git projects.

It also seems to slow down code completion horrifically compared to 12.6

@lombokissues
Copy link
Author

👤 gsolecki8   🕗 Jul 15, 2014 at 07:47 UTC

I have exactly the same effect. This applies to version 1.14.0, 1.14.2 and 1.14.4. I use a clean version of Eclipse Luna JavaEE Full Release. The environment is so slow that you can not work and the only solution is to go back to version 1.12.6.

@lombokissues
Copy link
Author

👤 shawn.tuatara   🕗 Jul 15, 2014 at 08:15 UTC

To help the developers... Whenever it is slow go check out the Error Log and see if there is any Lombok errors. If so copy them here and help track down the roots of this problem.

@lombokissues
Copy link
Author

👤 matthew.painter@import.io   🕗 Jul 15, 2014 at 16:30 UTC

No errors, but lots of lombok.config not found kind of messages...

@lombokissues
Copy link
Author

👤 shawn.tuatara   🕗 Jul 15, 2014 at 16:45 UTC

Those messages are what the issue is so copy one of them here so they can take a look.

@lombokissues
Copy link
Author

👤 charlee.ch   🕗 Jul 17, 2014 at 08:08 UTC

I'm using the following: -

eclipse.buildId=4.3.2.M20140221-1700
java.version=1.7.0_21
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments: -product org.eclipse.epp.package.jee.product
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product

The lombok version is

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.2
Created-By: 1.7.0_45-b18 (Oracle Corporation)
Premain-Class: lombok.core.Agent
Agent-Class: lombok.core.Agent
Can-Redefine-Classes: true
Main-Class: lombok.core.Main
Lombok-Version: 1.14.4

The stacktrace is

!ENTRY org.eclipse.jdt.core 2 0 2014-07-17 14:46:33.470
!MESSAGE Finding 'lombok.config' file failed for 'Abc.java'
!STACK 0
java.lang.IllegalArgumentException: Path must include project and resource name: /Abc.java
at org.eclipse.core.runtime.Assert.isLegal(Assert.java:63)
at org.eclipse.core.internal.resources.Workspace.newResource(Workspace.java:2137)
at org.eclipse.core.internal.resources.Container.getFile(Container.java:208)
at lombok.eclipse.EclipseAST$EclipseWorkspaceBasedFileResolver.resolve(EclipseAST.java:159)
at lombok.eclipse.EclipseAST.getAbsoluteFileLocation(EclipseAST.java:97)
at lombok.core.LombokConfiguration$1.createResolver(LombokConfiguration.java:50)
at lombok.core.LombokConfiguration.read(LombokConfiguration.java:44)
at lombok.core.AST.readConfiguration(AST.java:422)
at lombok.eclipse.handlers.HandleLog.processAnnotation(HandleLog.java:63)
at lombok.eclipse.handlers.HandleLog$HandleSlf4jLog.handle(HandleLog.java:217)
at lombok.eclipse.HandlerLibrary$AnnotationHandlerContainer.handle(HandlerLibrary.java:106)
at lombok.eclipse.HandlerLibrary.handleAnnotation(HandlerLibrary.java:233)
at lombok.eclipse.TransformEclipseAST$AnnotationVisitor.visitAnnotationOnType(TransformEclipseAST.java:209)
at lombok.eclipse.EclipseNode.traverse(EclipseNode.java:96)
at lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:194)
at lombok.eclipse.EclipseNode.traverse(EclipseNode.java:63)
at lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:194)
at lombok.eclipse.EclipseNode.traverse(EclipseNode.java:58)
at lombok.eclipse.EclipseAST.traverse(EclipseAST.java:187)
at lombok.eclipse.TransformEclipseAST.go(TransformEclipseAST.java:175)
at lombok.eclipse.TransformEclipseAST.transform(TransformEclipseAST.java:140)
at lombok.eclipse.TransformEclipseAST.transform_swapped(TransformEclipseAST.java:93)
at org.eclipse.jdt.internal.compiler.parser.Parser.endParse(Parser.java:9882)
at org.eclipse.jdt.internal.core.util.CommentRecorderParser.endParse(CommentRecorderParser.java:116)
at org.eclipse.jdt.internal.compiler.SourceElementParser.endParse(SourceElementParser.java:733)
at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:11054)
at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:11278)
at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:11235)
at org.eclipse.jdt.internal.compiler.SourceElementParser.parseCompilationUnit(SourceElementParser.java:953)
at org.eclipse.jdt.internal.core.SourceMapper.mapSource(SourceMapper.java:1435)
at org.eclipse.jdt.internal.core.SourceMapper.mapSource(SourceMapper.java:1370)
at org.eclipse.jdt.internal.core.BinaryMethod.getParameterNames(BinaryMethod.java:255)
at org.eclipse.jdt.internal.codeassist.InternalCompletionProposal.findMethodParameterNames(InternalCompletionProposal.java:312)
at org.eclipse.jdt.internal.codeassist.InternalCompletionProposal.findParameterNames(InternalCompletionProposal.java:1440)
at org.eclipse.jdt.ui.text.java.CompletionProposalLabelProvider.appendUnboundedParameterList(CompletionProposalLabelProvider.java:113)
at org.eclipse.jdt.ui.text.java.CompletionProposalLabelProvider.createMethodProposalLabel(CompletionProposalLabelProvider.java:272)
at org.eclipse.jdt.ui.text.java.CompletionProposalLabelProvider.createStyledLabel(CompletionProposalLabelProvider.java:570)
at org.eclipse.jdt.internal.ui.text.java.LazyJavaCompletionProposal.computeDisplayString(LazyJavaCompletionProposal.java:263)
at org.eclipse.jdt.internal.ui.text.java.LazyJavaCompletionProposal.getDisplayString(LazyJavaCompletionProposal.java:246)
at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.isValidPrefix(AbstractJavaCompletionProposal.java:804)
at org.eclipse.jdt.internal.ui.text.java.LazyJavaCompletionProposal.isValidPrefix(LazyJavaCompletionProposal.java:378)
at org.eclipse.jdt.internal.ui.text.java.JavaMethodCompletionProposal.isValidPrefix(JavaMethodCompletionProposal.java:289)
at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.validate(AbstractJavaCompletionProposal.java:756)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeFilteredProposals(CompletionProposalPopup.java:1522)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$4(CompletionProposalPopup.java:1484)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup$1.run(CompletionProposalPopup.java:382)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup.getSelectedProposal(CompletionProposalPopup.java:892)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup.verifyKey(CompletionProposalPopup.java:1367)
at org.eclipse.jface.text.contentassist.ContentAssistant$InternalListener.verifyKey(ContentAssistant.java:808)
at org.eclipse.jface.text.TextViewer$VerifyKeyListenersManager.verifyKey(TextViewer.java:491)
at org.eclipse.swt.custom.StyledTextListener.handleEvent(StyledTextListener.java:66)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1085)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1070)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:782)
at org.eclipse.swt.custom.StyledText.handleKeyDown(StyledText.java:5981)
at org.eclipse.swt.custom.StyledText$7.handleEvent(StyledText.java:5663)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1085)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1070)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1112)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1108)
at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1529)
at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4722)
at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:343)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4610)
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:339)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5023)
at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2549)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:382)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:236)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)

@lombokissues
Copy link
Author

👤 shawn.tuatara   🕗 Jul 18, 2014 at 21:25 UTC

I am now using Spring Tool Suite 1.6 (Eclipse 4.4). I am noticing the below error in the log. This happens whenever I save a class file.

null
org.eclipse.jdt.core
Warning
Fri Jul 18 14:23:34 PDT 2014
Finding 'lombok.config' file failed for ''

java.lang.IllegalArgumentException: Path must include project and resource name: /
at org.eclipse.core.runtime.Assert.isLegal(Assert.java:63)
at org.eclipse.core.internal.resources.Workspace.newResource(Workspace.java:2137)
at org.eclipse.core.internal.resources.Container.getFile(Container.java:208)
at lombok.eclipse.EclipseAST$EclipseWorkspaceBasedFileResolver.resolve(EclipseAST.java:159)
at lombok.eclipse.EclipseAST.getAbsoluteFileLocation(EclipseAST.java:97)
at lombok.core.LombokConfiguration$1.createResolver(LombokConfiguration.java:50)
at lombok.core.LombokConfiguration.read(LombokConfiguration.java:44)
at lombok.core.AST.readConfiguration(AST.java:422)
at lombok.core.handlers.HandlerUtil.handleFlagUsage(HandlerUtil.java:91)
at lombok.eclipse.handlers.HandleSetter.handle(HandleSetter.java:122)
at lombok.eclipse.HandlerLibrary$AnnotationHandlerContainer.handle(HandlerLibrary.java:106)
at lombok.eclipse.HandlerLibrary.handleAnnotation(HandlerLibrary.java:233)
at lombok.eclipse.TransformEclipseAST$AnnotationVisitor.visitAnnotationOnField(TransformEclipseAST.java:189)
at lombok.eclipse.EclipseNode.traverse(EclipseNode.java:99)
at lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:194)
at lombok.eclipse.EclipseNode.traverse(EclipseNode.java:68)
at lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:194)
at lombok.eclipse.EclipseNode.traverse(EclipseNode.java:63)
at lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:194)
at lombok.eclipse.EclipseNode.traverse(EclipseNode.java:58)
at lombok.eclipse.EclipseAST.traverse(EclipseAST.java:187)
at lombok.eclipse.TransformEclipseAST.go(TransformEclipseAST.java:175)
at lombok.eclipse.TransformEclipseAST.transform(TransformEclipseAST.java:140)
at lombok.eclipse.TransformEclipseAST.transform_swapped(TransformEclipseAST.java:93)
at org.eclipse.jdt.internal.compiler.parser.Parser.endParse(Parser.java:9882)
at org.eclipse.jdt.internal.core.util.CommentRecorderParser.endParse(CommentRecorderParser.java:116)
at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:11054)
at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:11278)
at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:11235)
at org.eclipse.jdt.internal.compiler.parser.Parser.dietParse(Parser.java:9655)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.parse(CompilationUnitResolver.java:507)
at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1202)
at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:809)
at org.eclipse.jdt.internal.ui.compare.JavaStructureCreator.createStructureComparator(JavaStructureCreator.java:301)
at org.eclipse.jdt.internal.ui.compare.JavaStructureCreator.createStructureComparator(JavaStructureCreator.java:260)
at org.eclipse.compare.structuremergeviewer.StructureCreator.internalCreateStructure(StructureCreator.java:121)
at org.eclipse.compare.structuremergeviewer.StructureCreator.access$0(StructureCreator.java:109)
at org.eclipse.compare.structuremergeviewer.StructureCreator$1.run(StructureCreator.java:96)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.compare.internal.Utilities$4.run(Utilities.java:863)
at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:167)
at org.eclipse.ui.internal.UISynchronizer$3.run(UISynchronizer.java:165)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4147)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3764)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:382)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:236)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
at org.eclipse.equinox.launcher.Main.main(Main.java:1438)

@lombokissues
Copy link
Author

👤 jeacott1   🕗 Aug 07, 2014 at 01:22 UTC

I too am experiencing this unworkable slowdown with eclipse content assist.
win7, 16gb, oracle jdk 1.7.0_60-b19, Eclipse 4.4.0 (luna), lombok 1.14.4

I had no other errors except the !MESSAGE Finding 'lombok.config' file failed for 'myfile.java'

so I generated a lombok.config, and placed it into the workspace root and restarted eclipse.
no more errors, but eclipse still dog slow.

I have just 2 projects in my workspace, they are both pretty small, but they are also both git projects, and eclipse moves these outside the usual workspace directory.
After hunting around for cause/solutions to this, it seems that eclipse git is likely the key to this issue.

I also just for kicks, created a new workspace, generated a new maven web project, and added lombok 1.14.4.
it worked just fine, no lag at all.

I hope this issue gets fixed soon. lombok 1.12.6 doesn't work in my luna eclipse at all.

@lombokissues
Copy link
Author

👤 rinaldo90   🕗 Aug 11, 2014 at 01:52 UTC

Same here:

!ENTRY org.eclipse.jdt.core 2 0 2014-08-10 22:30:14.077
!MESSAGE Finding 'lombok.config' file failed for 'InsertApplicationMB.java'
!STACK 0
java.lang.IllegalArgumentException: Path must include project and resource name: /InsertApplicationMB.java
at org.eclipse.core.runtime.Assert.isLegal(Assert.java:63)
at org.eclipse.core.internal.resources.Workspace.newResource(Workspace.java:2170)
at org.eclipse.core.internal.resources.Container.getFile(Container.java:208)
at lombok.eclipse.EclipseAST$EclipseWorkspaceBasedFileResolver.resolve(EclipseAST.java:159)
at lombok.eclipse.EclipseAST.getAbsoluteFileLocation(EclipseAST.java:97)
at lombok.core.LombokConfiguration$1.createResolver(LombokConfiguration.java:50)
at lombok.core.LombokConfiguration.read(LombokConfiguration.java:44)
at lombok.core.AST.readConfiguration(AST.java:422)
at lombok.core.handlers.HandlerUtil.toAccessorName(HandlerUtil.java:286)
at lombok.core.handlers.HandlerUtil.toSetterName(HandlerUtil.java:254)
at lombok.eclipse.handlers.EclipseHandlerUtil.toSetterName(EclipseHandlerUtil.java:970)
at lombok.eclipse.handlers.HandleSetter.createSetterForField(HandleSetter.java:167)
at lombok.eclipse.handlers.HandleSetter.createSetterForFields(HandleSetter.java:149)
at lombok.eclipse.handlers.HandleSetter.handle(HandleSetter.java:133)
at lombok.eclipse.HandlerLibrary$AnnotationHandlerContainer.handle(HandlerLibrary.java:106)
at lombok.eclipse.HandlerLibrary.handleAnnotation(HandlerLibrary.java:233)
at lombok.eclipse.TransformEclipseAST$AnnotationVisitor.visitAnnotationOnField(TransformEclipseAST.java:189)
at lombok.eclipse.EclipseNode.traverse(EclipseNode.java:99)
at lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:194)
at lombok.eclipse.EclipseNode.traverse(EclipseNode.java:68)
at lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:194)
at lombok.eclipse.EclipseNode.traverse(EclipseNode.java:63)
at lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:194)
at lombok.eclipse.EclipseNode.traverse(EclipseNode.java:58)
at lombok.eclipse.EclipseAST.traverse(EclipseAST.java:187)
at lombok.eclipse.TransformEclipseAST.go(TransformEclipseAST.java:175)
at lombok.eclipse.TransformEclipseAST.transform(TransformEclipseAST.java:140)
at lombok.eclipse.TransformEclipseAST.transform_swapped(TransformEclipseAST.java:93)
at org.eclipse.jdt.internal.compiler.parser.Parser.endParse(Parser.java:9872)
at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:11043)
at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:11267)
at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:11224)
at org.eclipse.jdt.internal.compiler.parser.Parser.dietParse(Parser.java:9645)
at org.eclipse.jdt.internal.core.search.matching.MatchLocator.parseAndBuildBindings(MatchLocator.java:1669)
at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1096)
at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1201)
at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1333)
at org.eclipse.jdt.internal.core.search.JavaSearchParticipant.locateMatches(JavaSearchParticipant.java:122)
at org.eclipse.jdt.internal.core.search.BasicSearchEngine.findMatches(BasicSearchEngine.java:232)
at org.eclipse.jdt.internal.core.search.BasicSearchEngine.search(BasicSearchEngine.java:516)
at org.eclipse.jdt.core.search.SearchEngine.search(SearchEngine.java:584)
at org.eclipse.jst.jsf.core.jsfappconfig.AnnotationJSFAppConfigProvider.findAnnotatedComponents(AnnotationJSFAppConfigProvider.java:130)
at org.eclipse.jst.jsf.core.jsfappconfig.AnnotationJSFAppConfigProvider.discoverFacesConfig(AnnotationJSFAppConfigProvider.java:108)
at org.eclipse.jst.jsf.core.jsfappconfig.AnnotationJSFAppConfigProvider.getFacesConfigModel(AnnotationJSFAppConfigProvider.java:74)
at org.eclipse.jst.jsf.core.jsfappconfig.internal.AbstractJSFAppConfigManager$6.run(AbstractJSFAppConfigManager.java:281)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.jst.jsf.core.jsfappconfig.internal.AbstractJSFAppConfigManager.getFacesConfigModels(AbstractJSFAppConfigManager.java:274)
at org.eclipse.jst.jsf.core.jsfappconfig.JSFAppConfigManager.getFacesConfigModels(JSFAppConfigManager.java:76)
at org.eclipse.jst.jsf.core.jsfappconfig.internal.AbstractJSFAppConfigManager.getApplications(AbstractJSFAppConfigManager.java:471)
at org.eclipse.jst.jsf.core.jsfappconfig.JSFAppConfigManager.getApplications(JSFAppConfigManager.java:100)
at org.eclipse.jst.jsf.core.jsfappconfig.internal.JSFAppConfigManagerFactory.createNewInstance(JSFAppConfigManagerFactory.java:66)
at org.eclipse.jst.jsf.core.jsfappconfig.internal.JSFAppConfigManagerFactory.createNewInstance(JSFAppConfigManagerFactory.java:1)
at org.eclipse.jst.jsf.common.internal.resource.ResourceSingletonObjectManager.getInstance(ResourceSingletonObjectManager.java:90)
at org.eclipse.jst.jsf.core.jsfappconfig.internal.JSFAppConfigManagerFactory.getJSFAppConfigManagerInstance(JSFAppConfigManagerFactory.java:41)
at org.eclipse.jst.jsf.designtime.internal.symbols.ConfigBasedDTVariableResolver.retrieveDecorativeVariableResolvers(ConfigBasedDTVariableResolver.java:118)
at org.eclipse.jst.jsf.designtime.internal.symbols.ConfigBasedDTVariableResolver.resolveVariable(ConfigBasedDTVariableResolver.java:94)
at org.eclipse.jst.jsf.designtime.resolver.SymbolContextResolver.getVariable(SymbolContextResolver.java:61)
at org.eclipse.jst.jsf.core.internal.contentassist.el.SymbolResolveUtil.getSymbolForVariable(SymbolResolveUtil.java:56)
at org.eclipse.jst.jsf.core.internal.contentassist.el.ContentAssistParser$PrefixVisitor.getSymbolInfo(ContentAssistParser.java:182)
at org.eclipse.jst.jsf.core.internal.contentassist.el.ContentAssistParser.getSymbolInfo(ContentAssistParser.java:83)
at org.eclipse.jst.jsf.ui.internal.jspeditor.JSPSourceUtil.determineSymbolInfo(JSPSourceUtil.java:103)
at org.eclipse.jst.jsf.ui.internal.jspeditor.AbstractELHyperlinkDetector.detectHyperlinks(AbstractELHyperlinkDetector.java:68)
at org.eclipse.jst.jsf.ui.internal.jspeditor.AbstractELHyperlinkDetector.detectHyperlinks(AbstractELHyperlinkDetector.java:55)
at org.eclipse.ui.texteditor.HyperlinkDetectorRegistry$HyperlinkDetectorDelegate.detectHyperlinks(HyperlinkDetectorRegistry.java:80)
at org.eclipse.jface.text.hyperlink.HyperlinkManager.findHyperlinks(HyperlinkManager.java:289)
at org.eclipse.jface.text.hyperlink.HyperlinkManager.findHyperlinks(HyperlinkManager.java:261)
at org.eclipse.jface.text.hyperlink.HyperlinkManager.mouseMove(HyperlinkManager.java:469)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:212)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4170)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
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:354)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
at org.eclipse.equinox.launcher.Main.main(Main.java:1426)

@lombokissues
Copy link
Author

👤 reinierz   🕗 Aug 15, 2014 at 23:52 UTC

We can reproduce the gigantic pile of errors, but we can't reproduce the slowdown effect.

We removed the thing that generates all the errors (generating stack traces, as well as all the code that runs before the error occurs, is all skipped now, very quickly, if the error would occur); we think that should help a lot with the slowdown but we can't test that because we can't reproduce the slowdown aspect.

Please give this edge release a try and report back? Many thanks!

https://projectlombok.org/download-edge.html

@lombokissues
Copy link
Author

👤 jeacott1   🕗 Aug 18, 2014 at 00:07 UTC

edge version made no difference for me.
one thing I will note is that whilst I am using git in eclipse, I do NOT have git installed on my machine, hence I see a couple of egit warnings.
I tried unpacking the portable msysgit and setting the system path appropriately which got rid of the following warning, but has done absolutely nothing to fix the frustratingly slow eclipse assist.

eclipse.buildId=4.4.0.I20140606-1215
java.version=1.7.0_60
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_AU
Framework arguments: -product org.eclipse.epp.package.jee.product
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product

!ENTRY org.eclipse.egit.ui 2 0 2014-08-18 09:01:15.487
!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
this system level configuration. The Git installation location can be configured on the
Team > Git > Configuration preference page's 'System Settings' tab.
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.

@lombokissues
Copy link
Author

👤 fabrice.daugan   🕗 Aug 19, 2014 at 13:23 UTC

I have the same issue on Eclipse 4.4, lombok 1.14.4, on JSE8 :

!MESSAGE Finding 'lombok.config' file failed for 'JiraExportPluginResource.java'
!STACK 0
java.lang.IllegalArgumentException: Path must include project and resource name: /JiraExportPluginResource.java
at org.eclipse.core.runtime.Assert.isLegal(Assert.java:63)
at org.eclipse.core.internal.resources.Workspace.newResource(Workspace.java:2137)
at org.eclipse.core.internal.resources.Container.getFile(Container.java:208)
at lombok.eclipse.EclipseAST$EclipseWorkspaceBasedFileResolver.resolve(EclipseAST.java:159)
at lombok.eclipse.EclipseAST.getAbsoluteFileLocation(EclipseAST.java:97)
at lombok.core.LombokConfiguration$1.createResolver(LombokConfiguration.java:50)
at lombok.core.LombokConfiguration.read(LombokConfiguration.java:44)
at lombok.core.AST.readConfiguration(AST.java:422)
at lombok.eclipse.handlers.HandleLog.processAnnotation(HandleLog.java:60)
at lombok.eclipse.handlers.HandleLog$HandleSlf4jLog.handle(HandleLog.java:217)
at lombok.eclipse.HandlerLibrary$AnnotationHandlerContainer.handle(HandlerLibrary.java:106)
at lombok.eclipse.HandlerLibrary.handleAnnotation(HandlerLibrary.java:233)
at lombok.eclipse.TransformEclipseAST$AnnotationVisitor.visitAnnotationOnType(TransformEclipseAST.java:209)
at lombok.eclipse.EclipseNode.traverse(EclipseNode.java:96)
at lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:194)
at lombok.eclipse.EclipseNode.traverse(EclipseNode.java:63)
at lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:194)
at lombok.eclipse.EclipseNode.traverse(EclipseNode.java:58)
at lombok.eclipse.EclipseAST.traverse(EclipseAST.java:187)
at lombok.eclipse.TransformEclipseAST.go(TransformEclipseAST.java:175)
at lombok.eclipse.TransformEclipseAST.transform(TransformEclipseAST.java:140)
at lombok.eclipse.TransformEclipseAST.transform_swapped(TransformEclipseAST.java:93)
at org.eclipse.jdt.internal.compiler.parser.Parser.endParse(Parser.java:9882)

@lombokissues
Copy link
Author

👤 r.spilker   🕗 Aug 20, 2014 at 23:10 UTC

We have another edge release. This one lets you both do some fine grained debugging to see if config loading is the problem, as well as disable the whole config system to check if things are then back to normal speed. Make sure to read the changelog to see how to turn these options on; by default this edge release is no different from the last!

https://projectlombok.org/download-edge.html

@lombokissues
Copy link
Author

👤 r.spilker   🕗 Aug 22, 2014 at 11:03 UTC

Issue #763 has been merged into this issue.

@lombokissues
Copy link
Author

👤 gilgamesh21ster   🕗 Aug 27, 2014 at 16:54 UTC

The edge release plus the -Dlombok.disableConfig brings my eclipse luna back to normal performance!

@lombokissues
Copy link
Author

👤 Justin.Harris@maluuba.com   🕗 Aug 27, 2014 at 17:39 UTC

+1 "The edge release plus the -Dlombok.disableConfig brings my eclipse luna back to normal performance!"

What will the fix be?
How about an option to search top-down for config files in eclipse.ini? Then in lombok.config an option to not search sub-folders?

@lombokissues
Copy link
Author

👤 Justin.Harris@maluuba.com   🕗 Aug 27, 2014 at 19:59 UTC

Using the edge release with -Dlombok.disableConfig give me an issue with @ RequiredArgsConstructor:

Lombok annotation handler class lombok.eclipse.handlers.HandleConstructor$HandleRequiredArgsConstructor failed

java.lang.NullPointerException
at lombok.eclipse.handlers.EclipseHandlerUtil.removePrefixFromField(EclipseHandlerUtil.java:1050)
at lombok.eclipse.handlers.HandleConstructor.createConstructor(HandleConstructor.java:320)
at lombok.eclipse.handlers.HandleConstructor.generateConstructor(HandleConstructor.java:236)
at lombok.eclipse.handlers.HandleConstructor$HandleRequiredArgsConstructor.handle(HandleConstructor.java:109)
at lombok.eclipse.HandlerLibrary$AnnotationHandlerContainer.handle(HandlerLibrary.java:106)
at lombok.eclipse.HandlerLibrary.handleAnnotation(HandlerLibrary.java:233)
at lombok.eclipse.TransformEclipseAST$AnnotationVisitor.visitAnnotationOnType(TransformEclipseAST.java:209)
at lombok.eclipse.EclipseNode.traverse(EclipseNode.java:96)
at lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:212)
at lombok.eclipse.EclipseNode.traverse(EclipseNode.java:63)
at lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:212)
at lombok.eclipse.EclipseNode.traverse(EclipseNode.java:58)
at lombok.eclipse.EclipseAST.traverse(EclipseAST.java:205)
at lombok.eclipse.TransformEclipseAST.go(TransformEclipseAST.java:175)
at lombok.eclipse.TransformEclipseAST.transform(TransformEclipseAST.java:140)
at lombok.eclipse.TransformEclipseAST.transform_swapped(TransformEclipseAST.java:93)
at org.eclipse.jdt.internal.compiler.parser.Parser.endParse(Parser.java:9882)
at org.eclipse.jdt.internal.core.util.CommentRecorderParser.endParse(CommentRecorderParser.java:116)
at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:11054)
...

@lombokissues
Copy link
Author

👤 gilgamesh21ster   🕗 Sep 01, 2014 at 16:49 UTC

Yeah, After a clean and Build ALL, I get the same issues as in ﹟32 too.

@lombokissues
Copy link
Author

👤 gilgamesh21ster   🕗 Sep 01, 2014 at 17:00 UTC

If I have a look at Line 1049 of lombok.eclipse.handlers.EclipseHandlerUtil.removePrefixFromField, a

field.getAst().readConfiguration(ConfigurationKeys.ACCESSORS_PREFIX); is done. But since we've set -Dlombok.disableConfig there is no configuration field.getAst().readConfiguration can work upon and that will lead to the variable prefixes be set to null. This would cause in Line 1050 the NullPointerException (!prefixes.isEmpty())

@lombokissues
Copy link
Author

👤 gilgamesh21ster   🕗 Sep 02, 2014 at 07:54 UTC

I made a fork and tried the fix. I don't get the error above in my Eclipse any longer. In the attachment is a build with my fix. Maybe give it a try.

@lombokissues
Copy link
Author

👤 gilgamesh21ster   🕗 Sep 02, 2014 at 07:54 UTC

🔗 lombok.jar

@lombokissues
Copy link
Author

👤 reinierz   🕗 Sep 02, 2014 at 21:46 UTC

Release v1.14.6 is now out and official. We fixed the issue with -Dlombok.disableConfig causing NPEs, and more importantly, we probably fixed the slowdown issue entirely, but, we're not 100% sure on that (as we can't reproduce it).

To those suffering from the issue, give v1.14.6 a shot, and post -Dlombok.timeConfig results if you can. Thanks!

@lombokissues
Copy link
Author

👤 gilgamesh21ster   🕗 Sep 04, 2014 at 14:58 UTC

Unfortunately things are not better. I have put back the -Dlombok.disableConfig and the code completion works again.

Here the results from the -Dlombok.timeConfig:

!ENTRY org.eclipse.jdt.core 1 0 2014-09-04 16:48:00.003
!MESSAGE lombok.config [16:47] {324 101 7288 484 336 155 58 16 6 2} total calls: 8770 total time: 33882

!ENTRY org.eclipse.jdt.core 1 0 2014-09-04 16:48:00.009
!MESSAGE lombok.config [16:47] {324 101 7288 484 336 155 58 16 6 2} total calls: 8770 total time: 33882

!ENTRY org.eclipse.jdt.core 1 0 2014-09-04 16:48:00.012
!MESSAGE lombok.config [16:47] {324 101 7288 484 336 155 58 16 6 2} total calls: 8770 total time: 33882

!ENTRY org.eclipse.jdt.ui 2 0 2014-09-04 16:48:23.686
!MESSAGE The 'org.eclipse.jdt.ui.JavaAllCompletionProposalComputer' proposal computer from the 'org.eclipse.jdt.ui' plug-in did not complete normally. The extension took too long to return from the 'computeCompletionProposals()' operation.

!ENTRY org.eclipse.jdt.core 1 0 2014-09-04 16:49:00.005
!MESSAGE lombok.config [16:48] {5995 691 13986 236 1598 164 35 10 5 0} total calls: 22720 total time: 56424

!ENTRY org.eclipse.jdt.ui 2 0 2014-09-04 16:49:00.459
!MESSAGE The 'org.eclipse.jdt.ui.JavaAllCompletionProposalComputer' proposal computer from the 'org.eclipse.jdt.ui' plug-in did not complete normally. The extension took too long to return from the 'computeCompletionProposals()' operation.

!ENTRY org.eclipse.jdt.ui 2 0 2014-09-04 16:49:21.664
!MESSAGE The 'org.eclipse.jdt.ui.JavaAllCompletionProposalComputer' proposal computer from the 'org.eclipse.jdt.ui' plug-in did not complete normally. The extension took too long to return from the 'computeCompletionProposals()' operation.

@lombokissues
Copy link
Author

👤 shams.asari   🕗 Sep 07, 2014 at 08:20 UTC

Also still slow for me. Here's the output of my log file:

!ENTRY org.eclipse.jdt.core 1 0 2014-09-07 09:17:00.012
!MESSAGE lombok.config [09:16] {9006 0 0 0 476 2 0 0 0 0} total calls: 9484 total time: 7488

!ENTRY org.eclipse.jdt.core 1 0 2014-09-07 09:18:07.810
!MESSAGE lombok.config [09:17] {3756 0 0 0 159 0 1 0 0 0} total calls: 3916 total time: 2528

!ENTRY org.eclipse.jdt.core 1 0 2014-09-07 09:18:21.901
!MESSAGE Initialized histogram tracker for 'lombok.config'

!ENTRY org.eclipse.jdt.ui 2 0 2014-09-07 09:18:36.391
!MESSAGE The 'org.eclipse.recommenders.completion.rcp.javaCompletionProposalComputer.intelligent' proposal computer from the 'org.eclipse.recommenders.completion.rcp' plug-in did not complete normally. The extension took too long to return from the 'computeCompletionProposals()' operation.

!ENTRY org.eclipse.m2e.logback.appender 2 0 2014-09-07 09:18:44.132
!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!

!ENTRY org.eclipse.m2e.logback.appender 2 0 2014-09-07 09:18:44.161
!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!

!ENTRY org.eclipse.jdt.core 1 0 2014-09-07 09:19:02.310
!MESSAGE lombok.config [09:18] {39000 70469 2755 53 152 31 9 0 0 1} total calls: 112470 total time: 80195

@lombokissues
Copy link
Author

👤 gvmson   🕗 Sep 10, 2014 at 03:21 UTC

Still happening to me - Mac OS, Eclipse Luna

@lombokissues
Copy link
Author

👤 gvmson   🕗 Sep 10, 2014 at 03:21 UTC

🔗 lombok.log View file

@lombokissues
Copy link
Author

👤 gdvtcl2000   🕗 Sep 16, 2014 at 02:04 UTC

Eclipse works fine when MyController.java uses (imports) 5 DTO classes, each with @ Data @ NoArgsConstructor @ AllArgsConstructor.
But Eclipse starts to slow down when increasing the number of imports.

@lombokissues
Copy link
Author

👤 bengunnink   🕗 Sep 16, 2014 at 02:36 UTC

1.14.8 is a huge improvement over the previous 1.14.x series, but still almost half again as slow as 1.12.6. This is w/o Eclipse: a large-ish (1152 source files) Maven-based project. My times for running "mvn compile" on a clean project are:

Lombok Time (s)

1.12.6 21
1.14.4 317
1.14.6 316
1.14.8 35

The bugfix present in 1.14.8 clearly has a pretty significant effect on I/O, but the Lombok config system even w/o the bug adds a lot of overhead to the compilation process.

@lombokissues
Copy link
Author

👤 lirany2   🕗 Sep 16, 2014 at 14:25 UTC

Just tested 1.14.8, it's still a lot slower than 1.12.6 .

@lombokissues
Copy link
Author

👤 shawn.tuatara   🕗 Sep 18, 2014 at 19:44 UTC

1.14.8 is working a lot better than any other build since the 1.12.x builds. Here is the latest logs:

!ENTRY org.eclipse.jdt.core 1 0 2014-09-17 15:59:18.487
!MESSAGE lombok.config [15:47] {1014 65 1 0 1 0 0 0 0 0} total calls: 1081 total time: 79

!ENTRY org.eclipse.jdt.core 1 0 2014-09-17 16:00:05.412
!MESSAGE lombok.config [15:59] {9466 527 0 0 0 2 1 0 0 0} total calls: 9996 total time: 617

!ENTRY org.eclipse.jdt.core 1 0 2014-09-17 16:00:23.935
!MESSAGE Initialized histogram tracker for 'lombok.config'

!ENTRY org.eclipse.jdt.core 1 0 2014-09-17 16:01:05.224
!MESSAGE lombok.config [16:00] {5104 270 0 0 0 1 0 0 0 0} total calls: 5375 total time: 295

!ENTRY org.eclipse.jdt.core 1 0 2014-09-17 16:02:19.070
!MESSAGE lombok.config [16:01] {8177 428 0 0 0 3 0 0 0 0} total calls: 8608 total time: 487

!ENTRY org.eclipse.jdt.core 1 0 2014-09-17 16:03:04.125
!MESSAGE lombok.config [16:02] {3756 181 0 0 0 0 0 0 0 0} total calls: 3937 total time: 181

!ENTRY org.eclipse.jdt.core 1 0 2014-09-17 16:04:01.258
!MESSAGE lombok.config [16:03] {7122 402 0 0 1 2 0 0 0 0} total calls: 7527 total time: 453

!ENTRY org.eclipse.jdt.core 1 0 2014-09-17 16:05:38.163
!MESSAGE lombok.config [16:04] {8844 474 0 0 2 1 0 0 0 1} total calls: 9322 total time: 1093

!ENTRY org.eclipse.jdt.core 1 0 2014-09-17 16:06:01.508
!MESSAGE lombok.config [16:05] {3740 206 0 0 0 1 0 0 0 0} total calls: 3947 total time: 224

@lombokissues
Copy link
Author

End of migration

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted The issue/enhancement is valid, sensible, and explained in sufficient detail
Projects
None yet
Development

No branches or pull requests

1 participant