Lombok slows Content Assist Eclipse Luna

1,467 views
Skip to first unread message

Alex Sroussi

unread,
Jul 21, 2014, 5:29:09 AM7/21/14
to project...@googlegroups.com
Hi
I just installed Eclipse Luna on a new IMac and installed lombok. 
Content Assist works very slowly on a relatively big file (2500 lines).
When I disable lombok in eclpse.ini everything works fine.

Any tip to get my Content Assist work fine together with lombok?

Thanks,
Alex

Marco Servetto

unread,
Jul 21, 2014, 4:37:36 PM7/21/14
to project...@googlegroups.com
I'm having the same issues.
The only solution I have found is to make multiple projects, keeping
in a single one the definitions of my datastructures.
Then I export the "relatively" stable datastructure part as a Jar and
I import it in another project, that I open with another eclipse that
does not have lombock.
I hope that they fix this soon, now I fell like I'm back to C++
compilation managing, however for my case, even in the current
condition, lombock is still fundamentamental
> --
> You received this message because you are subscribed to the Google Groups
> "Project Lombok" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to project-lombo...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Magic

unread,
Jul 21, 2014, 9:21:24 PM7/21/14
to project...@googlegroups.com
Same here, it really slows my Eclipse down. I've tried various memory settings, but nothing seems to help.

Reinier Zwitserloot

unread,
Jul 22, 2014, 6:52:38 AM7/22/14
to project-lombok
We get these reports from a number of sources, but, we can't reproduce these. For anyone suffering from this, please pretty please check the __log view__ - it's under the window menu, 'views', 'error log'. I expect a ton of errors in there (and the generation of these errors is in fact the cause of the slowdown).

Without the ability to reproduce this problem we can't really fix anything. Another option is for someone to just mail us a complete project dump (including the entire workspace) AND either a copy of their entire eclipse directory or at least 100% detail including exact version specs of OS, Eclipse installation, and plugins. That's a lot of work and fairly impractical, so baby steps: What do the logs say?


 --Reinier Zwitserloot


--

Alex Sroussi

unread,
Jul 23, 2014, 6:54:15 AM7/23/14
to project...@googlegroups.com
Hundreads of theses:

!ENTRY org.eclipse.jdt.core 2 0 2014-07-23 13:02:05.981

!MESSAGE Finding 'lombok.config' file failed for 'SomeClass.java'

!STACK 0

java.lang.IllegalArgumentException: Path must include project and resource name: /SomeClass.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.core.handlers.HandlerUtil.handleFlagUsage(HandlerUtil.java:91)

at lombok.eclipse.handlers.HandleData.handle(HandleData.java:47)

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.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.internal.core.hierarchy.HierarchyResolver.resolve(HierarchyResolver.java:724)

at org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.buildForProject(IndexBasedHierarchyBuilder.java:227)

at org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.buildFromPotentialSubtypes(IndexBasedHierarchyBuilder.java:307)

at org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.build(IndexBasedHierarchyBuilder.java:132)

at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.compute(TypeHierarchy.java:301)

at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.refresh(TypeHierarchy.java:1268)

at org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.executeOperation(CreateTypeHierarchyOperation.java:90)

at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:729)

at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:789)

at org.eclipse.jdt.internal.core.SourceType.newTypeHierarchy(SourceType.java:829)

at org.eclipse.jdt.internal.core.SourceType.newTypeHierarchy(SourceType.java:787)

at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyLifeCycle.createTypeHierarchy(TypeHierarchyLifeCycle.java:299)

at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyLifeCycle.doHierarchyRefresh(TypeHierarchyLifeCycle.java:330)

at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyLifeCycle$1.run(TypeHierarchyLifeCycle.java:202)

at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)


!ENTRY org.eclipse.jdt.core 2 0 2014-07-23 13:02:05.982

!MESSAGE Lombok has logged too many messages; to avoid memory issues, further lombok logs will be squelched for a while. Restart eclipse to start over.

Alex Sroussi

unread,
Jul 23, 2014, 6:58:56 AM7/23/14
to project...@googlegroups.com
BTW this error doesn't occur in Eclipse Kepler

Marco Servetto

unread,
Jul 23, 2014, 5:56:54 PM7/23/14
to project...@googlegroups.com
I have the suspect that is something related to java 8,
since lombock started going bad in kepler too as soon as I installed
the java-8 support stuff

Magic

unread,
Jul 24, 2014, 2:20:33 AM7/24/14
to project...@googlegroups.com
no errors for me...

Marco Servetto

unread,
Jul 27, 2014, 1:57:24 AM7/27/14
to project...@googlegroups.com
So, I get a ton of those

java.lang.IllegalStateException: Workspace is closed.
at org.eclipse.core.resources.ResourcesPlugin.getWorkspace(ResourcesPlugin.java:407)
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.toAllAccessorNames(HandlerUtil.java:354)
at lombok.core.handlers.HandlerUtil.toAllGetterNames(HandlerUtil.java:320)
at lombok.eclipse.handlers.EclipseHandlerUtil.toAllGetterNames(EclipseHandlerUtil.java:944)
at lombok.eclipse.handlers.EclipseHandlerUtil.findGetter(EclipseHandlerUtil.java:786)
at lombok.eclipse.handlers.EclipseHandlerUtil.getFieldType(EclipseHandlerUtil.java:859)
at lombok.eclipse.handlers.HandleToString.createToString(HandleToString.java:223)
at lombok.eclipse.handlers.HandleToString.generateToString(HandleToString.java:171)
at lombok.eclipse.handlers.HandleToString.generateToStringForType(HandleToString.java:97)
at lombok.eclipse.handlers.HandleValue.handle(HandleValue.java:85)
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: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.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.internal.compiler.parser.SourceTypeConverter.convert(SourceTypeConverter.java:126)
at org.eclipse.jdt.internal.compiler.parser.SourceTypeConverter.buildCompilationUnit(SourceTypeConverter.java:96)
at org.eclipse.jdt.internal.core.hierarchy.HierarchyResolver.accept(HierarchyResolver.java:151)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:175)
at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:201)
at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:3330)
at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:3042)
at org.eclipse.jdt.internal.compiler.ast.SingleTypeReference.getTypeBinding(SingleTypeReference.java:51)
at org.eclipse.jdt.internal.compiler.ast.TypeReference.internalResolveType(TypeReference.java:472)
at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:571)
at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:567)
at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveSuperType(TypeReference.java:541)
at org.eclipse.jdt.internal.compiler.lookup.ClassScope.findSupertype(ClassScope.java:1287)
at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectSuperInterfaces(ClassScope.java:1038)
at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectTypeHierarchy(ClassScope.java:1096)
at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectMemberTypes(ClassScope.java:906)
at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectTypeHierarchy(ClassScope.java:1104)
at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.connectTypeHierarchy(CompilationUnitScope.java:323)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:289)
at org.eclipse.jdt.internal.core.hierarchy.HierarchyResolver.accept(HierarchyResolver.java:166)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:175)
at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:201)
at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:3330)
at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:3042)
at org.eclipse.jdt.internal.compiler.ast.SingleTypeReference.getTypeBinding(SingleTypeReference.java:51)
at org.eclipse.jdt.internal.compiler.ast.TypeReference.internalResolveType(TypeReference.java:472)
at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:571)
at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:567)
at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveSuperType(TypeReference.java:541)
at org.eclipse.jdt.internal.compiler.lookup.ClassScope.findSupertype(ClassScope.java:1287)
at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectSuperInterfaces(ClassScope.java:1038)
at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectTypeHierarchy(ClassScope.java:1096)
at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.connectTypeHierarchy(CompilationUnitScope.java:323)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:314)
at org.eclipse.jdt.internal.core.hierarchy.HierarchyResolver.resolve(HierarchyResolver.java:816)
at org.eclipse.jdt.internal.core.hierarchy.HierarchyResolver.resolve(HierarchyResolver.java:628)
at org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.buildSupertypes(HierarchyBuilder.java:116)
at org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.build(IndexBasedHierarchyBuilder.java:136)
at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.compute(TypeHierarchy.java:301)
at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.refresh(TypeHierarchy.java:1268)
at org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.executeOperation(CreateTypeHierarchyOperation.java:90)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:729)
at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:789)
at org.eclipse.jdt.internal.core.SourceType.newSupertypeHierarchy(SourceType.java:741)
at org.eclipse.jdt.internal.core.SourceType.newSupertypeHierarchy(SourceType.java:693)
at org.eclipse.jdt.internal.corext.util.SuperTypeHierarchyCache.getTypeHierarchy(SuperTypeHierarchyCache.java:144)
at org.eclipse.jdt.internal.corext.util.SuperTypeHierarchyCache.getTypeHierarchy(SuperTypeHierarchyCache.java:96)
at org.eclipse.jdt.internal.corext.util.SuperTypeHierarchyCache.getMethodOverrideTester(SuperTypeHierarchyCache.java:105)
at org.eclipse.jdt.ui.OverrideIndicatorLabelDecorator.getOverrideIndicators(OverrideIndicatorLabelDecorator.java:171)
at org.eclipse.jdt.ui.OverrideIndicatorLabelDecorator.computeAdornmentFlags(OverrideIndicatorLabelDecorator.java:136)
at org.eclipse.jdt.ui.OverrideIndicatorLabelDecorator.decorate(OverrideIndicatorLabelDecorator.java:273)
at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(LightweightDecoratorDefinition.java:273)
at org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnable.run(LightweightDecoratorManager.java:83)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(LightweightDecoratorManager.java:367)
at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(LightweightDecoratorManager.java:349)
at org.eclipse.ui.internal.decorators.DecorationScheduler$1.ensureResultCached(DecorationScheduler.java:372)
at org.eclipse.ui.internal.decorators.DecorationScheduler$1.run(DecorationScheduler.java:332)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)



---------------------------
Followed by some

java.lang.IllegalArgumentException: Path must include project and
resource name: /Ast.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.core.handlers.HandlerUtil.toAccessorName(HandlerUtil.java:292)
at lombok.core.handlers.HandlerUtil.toGetterName(HandlerUtil.java:230)
at lombok.eclipse.handlers.EclipseHandlerUtil.toGetterName(EclipseHandlerUtil.java:953)
at lombok.eclipse.handlers.HandleGetter.createGetterForField(HandleGetter.java:194)
at lombok.eclipse.handlers.HandleGetter.generateGetterForField(HandleGetter.java:132)
at lombok.eclipse.handlers.HandleGetter.generateGetterForType(HandleGetter.java:103)
at lombok.eclipse.handlers.HandleValue.handle(HandleValue.java:83)
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: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.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.internal.core.search.matching.MatchLocator.parseAndBuildBindings(MatchLocator.java:1670)
at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1097)
at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1202)
at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1334)
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.jdt.internal.corext.refactoring.RefactoringSearchEngine.internalSearch(RefactoringSearchEngine.java:143)
at org.eclipse.jdt.internal.corext.refactoring.RefactoringSearchEngine.search(RefactoringSearchEngine.java:130)
at org.eclipse.jdt.internal.corext.refactoring.rename.RenameFieldProcessor.getReferences(RenameFieldProcessor.java:594)
at org.eclipse.jdt.internal.corext.refactoring.rename.RenameFieldProcessor.doCheckFinalConditions(RenameFieldProcessor.java:448)
at org.eclipse.jdt.internal.corext.refactoring.rename.JavaRenameProcessor.checkFinalConditions(JavaRenameProcessor.java:48)
at org.eclipse.ltk.core.refactoring.participants.ProcessorBasedRefactoring.checkFinalConditions(ProcessorBasedRefactoring.java:224)
at org.eclipse.ltk.core.refactoring.Refactoring.checkAllConditions(Refactoring.java:162)
at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper$Operation.run(RefactoringExecutionHelper.java:80)
at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:729)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2313)
at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:5358)
at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:106)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
Message has been deleted

muued

unread,
Jul 27, 2014, 7:20:12 PM7/27/14
to project...@googlegroups.com
Hi,
I also don't get any errors despite the code completion took too long to respond notifications, which aren't helping, I guess.
Using this project
https://sourceforge.net/p/jamocha/git/ci/newDN/tarball
I can reproduce the problem on windows/linux/mac using eclipse luna & kepler with lombok >1.12.6
Currently, I'm using 1.12.6 as a plugin for that reason while having 1.14.4 as a dependency e.g. for delombok to work with java8.
HTH

Magic

unread,
Jul 28, 2014, 3:59:45 AM7/28/14
to project...@googlegroups.com
A quick update from me - I didn't see errors before, because of this:

Lombok has logged too many messages; to avoid memory issues, further lombok logs will be squelched for a while. Restart eclipse to start over.

Now I noticed there's a lot of that:
java.lang.IllegalArgumentException: Path must include project and resource name: /XXX.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.toAllAccessorNames(HandlerUtil.java:354)
    at lombok.core.handlers.HandlerUtil.toAllGetterNames(HandlerUtil.java:320)
    at lombok.eclipse.handlers.EclipseHandlerUtil.toAllGetterNames(EclipseHandlerUtil.java:944)
    at lombok.eclipse.handlers.EclipseHandlerUtil.findGetter(EclipseHandlerUtil.java:786)
    at lombok.eclipse.handlers.EclipseHandlerUtil.createFieldAccessor(EclipseHandlerUtil.java:873)
    at lombok.eclipse.handlers.HandleEqualsAndHashCode.createEquals(HandleEqualsAndHashCode.java:627)
    at lombok.eclipse.handlers.HandleEqualsAndHashCode.generateMethods(HandleEqualsAndHashCode.java:241)
    at lombok.eclipse.handlers.HandleEqualsAndHashCode.generateEqualsAndHashCodeForType(HandleEqualsAndHashCode.java:119)
    at lombok.eclipse.handlers.HandleData.handle(HandleData.java:71)

    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.compiler.parser.Parser.parse(Parser.java:11046)
    at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:11270)
    at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:11227)
    at org.eclipse.jdt.internal.compiler.parser.Parser.dietParse(Parser.java:9645)
    at org.codehaus.jdt.groovy.integration.internal.MultiplexingImportMatchLocatorParser.dietParse(MultiplexingImportMatchLocatorParser.java:53)
    at org.eclipse.jdt.internal.core.search.matching.MatchLocator.parseAndBuildBindings(MatchLocator.java:1701)
    at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1112)
    at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1233)
    at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1365)

    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:592)
    at org.eclipse.jdt.internal.corext.refactoring.RefactoringSearchEngine.findAffectedCompilationUnits(RefactoringSearchEngine.java:78)
    at org.eclipse.jdt.internal.corext.refactoring.RefactoringSearchEngine.findAffectedCompilationUnits(RefactoringSearchEngine.java:100)
    at org.eclipse.jdt.internal.corext.refactoring.rename.RenameTypeProcessor.checkConflictingTypes(RenameTypeProcessor.java:976)
    at org.eclipse.jdt.internal.corext.refactoring.rename.RenameTypeProcessor.analyzeAffectedCompilationUnits(RenameTypeProcessor.java:967)
    at org.eclipse.jdt.internal.corext.refactoring.rename.RenameTypeProcessor.doCheckFinalConditions(RenameTypeProcessor.java:544)

    at org.eclipse.jdt.internal.corext.refactoring.rename.JavaRenameProcessor.checkFinalConditions(JavaRenameProcessor.java:48)
    at org.eclipse.ltk.core.refactoring.participants.ProcessorBasedRefactoring.checkFinalConditions(ProcessorBasedRefactoring.java:224)
    at org.eclipse.ltk.core.refactoring.Refactoring.checkAllConditions(Refactoring.java:162)
    at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper$Operation.run(RefactoringExecutionHelper.java:80)
    at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)
    at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:729)
    at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2345)
    at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:5357)
    at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:106)
    at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)

Alex Sroussi

unread,
Jul 28, 2014, 4:50:10 AM7/28/14
to project...@googlegroups.com

Till we get a fix for this issue I downgraded to lombok 1.12.6.
It works great with Eclipse Luna

Magic

unread,
Jul 28, 2014, 6:25:12 AM7/28/14
to project...@googlegroups.com
That's the one I'm using - doesn't work very well.

Reinier Zwitserloot

unread,
Jul 28, 2014, 7:58:35 AM7/28/14
to project-lombok
These stack traces will help us fix the problem. Thanks!

 --Reinier Zwitserloot


On Mon, Jul 28, 2014 at 12:25 PM, Magic <the4...@gmail.com> wrote:
That's the one I'm using - doesn't work very well.

--

Reinier Zwitserloot

unread,
Aug 15, 2014, 7:52:45 PM8/15/14
to project...@googlegroups.com
We just added an edge-release that removes almost all of the exceptions. Perhaps this will also take care of the slowdowns? We can reproduce the exceptions, but not the slowdowns. Give it a spin and let us know if this helps? Muchos gracias!



On Monday, July 28, 2014 1:58:35 PM UTC+2, Reinier Zwitserloot wrote:
These stack traces will help us fix the problem. Thanks!

 --Reinier Zwitserloot


On Mon, Jul 28, 2014 at 12:25 PM, Magic <the4...@gmail.com> wrote:
That's the one I'm using - doesn't work very well.

--
You received this message because you are subscribed to the Google Groups "Project Lombok" group.
To unsubscribe from this group and stop receiving emails from it, send an email to project-lombok+unsubscribe@googlegroups.com.

Martin Grajcar

unread,
Aug 16, 2014, 1:05:39 AM8/16/14
to project...@googlegroups.com
New JAR and nothing on github yet?

I wonder if there's a lombok-javadoc.jar or lombok-sources.jar somewhere? I wonder how it gets used usually (I'm using the sources from github, which works fine for me).


To unsubscribe from this group and stop receiving emails from it, send an email to project-lombo...@googlegroups.com.

Reinier Zwitserloot

unread,
Aug 16, 2014, 6:49:25 PM8/16/14
to project-lombok

I might have forgotten to run git push... whoops!

Roel Spilker

unread,
Aug 20, 2014, 7:10:40 PM8/20/14
to project...@googlegroups.com
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!


Mike Pleimann

unread,
Aug 21, 2014, 5:06:12 PM8/21/14
to project...@googlegroups.com
I'm running RAD 9.0 with 8 fairly large projects and was seeing very slow build times and content assist was unusable. Stumbled across a mention of this problem on stackoverflow (http://stackoverflow.com/questions/15518405/lombok-slowing-down-build-process-in-large-project) and downloaded the edge release. You're definitely on to something here. With the config system disabled (-Dlombok.disableConfig in eclipse.ini) RAD runs beautifully.

Hope the following helps. Thanks very much for your awesome work! Lombok helps keeps me sane daily. Let me know if I can gather any more information to help track this down.

Here are the timings with config disabled:
!SESSION 2014-08-21 15:05:57.043 -----------------------------------------------
eclipse
.buildId=unknown
java
.fullversion=JRE 1.7.0 IBM J9 2.6 Windows 7 x86-32 20140313_192258 (JIT enabled, AOT enabled)
J9VM
- R26_Java726_SR6_20140313_1318_B192258
JIT  
- r11.b05_20131003_47443.02
GC  
- R26_Java726_SR6_20140313_1318_B192258
J9CL
- 20140313_192258
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments:  -product com.ibm.rational.rad.product.v9.ide
Command-line arguments:  -os win32 -ws win32 -arch x86 -product com.ibm.rational.rad.product.v9.ide

!ENTRY org.eclipse.jdt.core 1 0 2014-08-21 15:09:10.015
!MESSAGE lombok.config [15:08] {8084 1 0 0 0 0 0 0 0 0} total calls: 8085 total time: 1

!ENTRY org.eclipse.jdt.core 1 0 2014-08-21 15:10:16.489
!MESSAGE lombok.config [15:09] {2904 0 0 0 0 0 0 0 0 0} total calls: 2904 total time: 0

!ENTRY org.eclipse.jdt.core 1 0 2014-08-21 15:10:16.653
!MESSAGE Initialized histogram tracker for 'lombok.config'

!ENTRY org.eclipse.jdt.core 1 0 2014-08-21 15:11:53.110
!MESSAGE lombok.config [15:10] {1584 0 0 0 0 0 0 0 0 0} total calls: 1584 total time: 0

!ENTRY org.eclipse.jdt.core 1 0 2014-08-21 15:12:00.704
!MESSAGE lombok.config [15:11] {5 0 0 0 0 0 0 0 0 0} total calls: 5 total time: 0


And with config enabled:
!SESSION 2014-08-21 15:39:06.670 -----------------------------------------------
eclipse
.buildId=unknown
java
.fullversion=JRE 1.7.0 IBM J9 2.6 Windows 7 x86-32 20140313_192258 (JIT enabled, AOT enabled)
J9VM
- R26_Java726_SR6_20140313_1318_B192258
JIT  
- r11.b05_20131003_47443.02
GC  
- R26_Java726_SR6_20140313_1318_B192258
J9CL
- 20140313_192258
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments:  -product com.ibm.rational.rad.product.v9.ide
Command-line arguments:  -os win32 -ws win32 -arch x86 -product com.ibm.rational.rad.product.v9.ide -data C:\Users\12345\Documents\Workspace

!ENTRY org.eclipse.jdt.core 1 0 2014-08-21 15:39:14.959
!MESSAGE Initialized histogram tracker for 'lombok.config'

!ENTRY org.eclipse.jdt.core 1 0 2014-08-21 15:40:00.001
!MESSAGE lombok.config [15:39] {0 19487 15019 44 33 38 7 0 1 0} total calls: 34629 total time: 52597

!ENTRY org.eclipse.jdt.core 1 0 2014-08-21 15:40:00.002
!MESSAGE lombok.config [15:39] {0 19487 15019 44 33 38 7 0 1 0} total calls: 34629 total time: 52597

!ENTRY org.eclipse.jdt.core 1 0 2014-08-21 15:41:00.007
!MESSAGE lombok.config [15:40] {10025 28375 41133 163 55 84 4 2 0 0} total calls: 79841 total time: 121253

!ENTRY org.eclipse.jdt.core 1 0 2014-08-21 15:42:00.001
!MESSAGE lombok.config [15:41] {0 32705 37423 172 85 119 45 8 5 2} total calls: 70564 total time: 120989

CodePoKE

unread,
Sep 2, 2014, 2:43:54 AM9/2/14
to project...@googlegroups.com

 This issue has happened on two separate installs:

Setup #1, fresh install Windows 8, JDK 8, workspace in User/, code not in workspace.
v.14.x resulted in severe slowdowns in autocomplete, ctrl-x and general editing. Installing the bleeding edge, and adding -Dlombok.disableConfig lookup solved the issue.
However, -Dlombok.timeConfig did not post any timing results to the Error Log.

Setup #2
eclipse.buildId=4.4.0.I20140606-1215
java.version=1.8.0_05
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.standard.product
Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product

v14.x results in slowdowns (not as severe as on the other install).
The code resides in the workspace. Installing bleeding edge and disabling the timelog did not fix the issue and broke Lombok. (See errors below)

Adding -Dlombok.timeConfig gave the following log, total time averaging ~7000ms (?).

Tue Sep 02 06:32:02 UTC 2014
lombok.config [06:31] {106418 13408 40 7 6 2 2 0 0 0} total calls: 119883 total time: 13756


Errors due to adding -Dlombok.disableConfig:

Created Time: 2014-09-02 06:28:44.607

org.eclipse.jdt.core
Error
Tue Sep 02 06:28:46 UTC 2014
Lombok annotation handler class lombok.eclipse.handlers.HandleConstructor$HandleAllArgsConstructor 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$HandleAllArgsConstructor.handle(HandleConstructor.java:163)
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)
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.internal.compiler.Compiler.accept(Compiler.java:327)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.accept(CompilationUnitResolver.java:174)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.accept(CompilationUnitResolver.java:170)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:175)
at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:201)
at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.findImport(CompilationUnitScope.java:468)
at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.findSingleImport(CompilationUnitScope.java:522)
at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.faultInImports(CompilationUnitScope.java:399)
at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.faultInTypes(CompilationUnitScope.java:447)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:1197)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:689)
at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1183)
at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:809)
at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)


org.eclipse.jdt.core
Error
Tue Sep 02 06:28:47 UTC 2014
Lombok annotation handler class lombok.eclipse.handlers.HandleValue 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.generateAllArgsConstructor(HandleConstructor.java:194)
at lombok.eclipse.handlers.HandleValue.handle(HandleValue.java:86)
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)
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.internal.compiler.Compiler.accept(Compiler.java:327)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.accept(CompilationUnitResolver.java:174)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.accept(CompilationUnitResolver.java:170)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:175)
at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:201)
at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.findImport(CompilationUnitScope.java:468)
at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.findSingleImport(CompilationUnitScope.java:522)
at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.resolveSingleImport(CompilationUnitScope.java:735)
at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:3310)
at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:3042)
at org.eclipse.jdt.internal.compiler.ast.SingleTypeReference.getTypeBinding(SingleTypeReference.java:51)
at org.eclipse.jdt.internal.compiler.ast.TypeReference.internalResolveType(TypeReference.java:472)
at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:571)
at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveTypeArgument(TypeReference.java:589)
at org.eclipse.jdt.internal.compiler.ast.ParameterizedSingleTypeReference.internalResolveLeafType(ParameterizedSingleTypeReference.java:240)
at org.eclipse.jdt.internal.compiler.ast.ParameterizedSingleTypeReference.internalResolveType(ParameterizedSingleTypeReference.java:146)
at org.eclipse.jdt.internal.compiler.ast.ParameterizedSingleTypeReference.resolveType(ParameterizedSingleTypeReference.java:365)
at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:567)
at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveSuperType(TypeReference.java:541)
at org.eclipse.jdt.internal.compiler.lookup.ClassScope.findSupertype(ClassScope.java:1287)
at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectSuperclass(ClassScope.java:938)
at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectTypeHierarchy(ClassScope.java:1095)
at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.connectTypeHierarchy(CompilationUnitScope.java:323)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:226)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:258)
at org.eclipse.jdt.internal.compiler.Compiler.accept(Compiler.java:334)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.accept(CompilationUnitResolver.java:174)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.accept(CompilationUnitResolver.java:170)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:175)
at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:201)
at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:3330)
at org.eclipse.jdt.internal.compiler.lookup.Scope.getBinding(Scope.java:2304)
at org.eclipse.jdt.internal.compiler.ast.SingleNameReference.resolveType(SingleNameReference.java:979)
at org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:602)
at org.eclipse.jdt.internal.compiler.ast.Expression.resolve(Expression.java:1020)
at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStatements(AbstractMethodDeclaration.java:619)
at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.resolveStatements(MethodDeclaration.java:299)
at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(AbstractMethodDeclaration.java:529)
at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1207)
at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1320)
at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(CompilationUnitDeclaration.java:587)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:1204)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:689)
at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1183)
at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:809)
at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)



CodePoKE

unread,
Sep 2, 2014, 11:32:06 AM9/2/14
to project...@googlegroups.com
As a follow up to my above post; the stacktraces now also occur on the Windows-based setup.
So as of now, v1.14.x and the -edge release are unusable to us.

Reinier Zwitserloot

unread,
Sep 2, 2014, 5:47:09 PM9/2/14
to project...@googlegroups.com
The NPEs should be fixed in just-released v1.14.6. More importantly, the slowdowns should be fixed too. To those who posted -Dlombok.timeConfig results before, give 1.14.6 a spin; it should move those numbers waay to the left, hopefully!

GJ Roelofs (CodePoKE)

unread,
Sep 5, 2014, 10:24:31 AM9/5/14
to project...@googlegroups.com
The slowdowns still occur with v1.14.6.

History.

eclipse.buildId=4.4.0.I20140606-1215
java.version=1.8.0_05
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.standard.product
Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product

org.eclipse.jdt.core
Info
Fri Sep 05 14:16:25 UTC 2014
lombok.config [14:15] {71460 7479 3 1 2 0 1 0 0 0} total calls: 78946 total time: 7557
lombok.config [14:17] {13412 1376 0 0 0 0 0 0 0 0} total calls: 14788 total time: 1376

I've hooked up a profiler to find the source of the slowdowns (See attached images).

The culprit seems to be:

java.io.File.exists 12,535 ms
  5,359 ms lombok.core.configuration.FileSystemSourceCache.getLastModifiedOrMissing
  4,961 ms lombok.core.configuration.FileSystemSourceCache.getSourceForDirectory
  2,214 ms lombok.core.configuration.FileSystemSourceCache.sourcesForJavaFile

Also, -Dlombok.disableConfig is unusable for us as almost all XConstructorArgs annotiations seem to fail and error.



--
You received this message because you are subscribed to a topic in the Google Groups "Project Lombok" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/project-lombok/UNCvLSEGWik/unsubscribe.
To unsubscribe from this group and all its topics, send an email to project-lombo...@googlegroups.com.
calltree.png
hotspots.png

Reinier Zwitserloot

unread,
Sep 5, 2014, 2:19:13 PM9/5/14
to project-lombok

Well, the good news is, this help a lot to fund the problem.

You received this message because you are subscribed to the Google Groups "Project Lombok" group.
To unsubscribe from this group and stop receiving emails from it, send an email to project-lombo...@googlegroups.com.

CodePoKE

unread,
Sep 7, 2014, 6:11:24 PM9/7/14
to project...@googlegroups.com
Is there any idea why the "-Dlombok.disableConfig" would crash most aspects of Lombok?

Reinier Zwitserloot

unread,
Sep 8, 2014, 2:57:51 AM9/8/14
to project-lombok

In 1.14.6? No.

On Sep 8, 2014 12:11 AM, "CodePoKE" <lum...@gmail.com> wrote:
Is there any idea why the "-Dlombok.disableConfig" would crash most aspects of Lombok?

--

Rohit

unread,
Sep 15, 2014, 1:23:18 PM9/15/14
to project...@googlegroups.com
Getting several of these errors until lombok stops logging. Just want to add that is also affecting code re factoring saying "logger cannot be resolved".

!ENTRY org.eclipse.jdt.core 2 0 2014-09-15 21:56:23.606
!MESSAGE Finding 'lombok.config' file failed for 'DataTag.java'
!STACK 0
java.lang.IllegalArgumentException: Path must include project and resource name: /DataTag.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.core.handlers.HandlerUtil.toAccessorName(HandlerUtil.java:293)
at lombok.core.handlers.HandlerUtil.toGetterName(HandlerUtil.java:230)
at lombok.eclipse.handlers.EclipseHandlerUtil.toGetterName(EclipseHandlerUtil.java:953)
at lombok.eclipse.handlers.HandleGetter.createGetterForField(HandleGetter.java:194)
at lombok.eclipse.handlers.HandleGetter.createGetterForFields(HandleGetter.java:169)
at lombok.eclipse.handlers.HandleGetter.handle(HandleGetter.java:155)
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.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.internal.core.search.matching.MatchLocator.parseAndBuildBindings(MatchLocator.java:1670)
at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1097)
at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1202)
at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1334)
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.jdt.internal.ui.search.JavaSearchQuery.run(JavaSearchQuery.java:144)
at org.eclipse.search2.internal.ui.InternalSearchUI$InternalSearchJob.run(InternalSearchUI.java:91)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

!ENTRY org.eclipse.jdt.core 2 0 2014-09-15 21:56:23.610
!MESSAGE Lombok has logged too many messages; to avoid memory issues, further lombok logs will be squelched for a while. Restart eclipse to start over.

gaugat

unread,
Oct 8, 2014, 4:24:01 PM10/8/14
to project...@googlegroups.com
So I am using Eclipse Luna and lombok 1.14.8 and I have the same slowness issues in classes that contain a lombok annotations like @Delegate. When I click ctrl-o for a a quick outline it takes a long time. I also can't set breakpoints in classes with a lombok annotation.

A get the following error messages when I am in a class with a lombok annotation...

!MESSAGE Error in JDT Core during AST creation

java.lang.IllegalArgumentException: startPos = 938 and length is -938.
This breaks the rule that lengths are not allowed to be negative. Affected Node:
java
.lang.Object[]
 at lombok
.eclipse.agent.PatchDiagnostics.setSourceRangeCheck(PatchDiagnostics.java:33)
 at org
.eclipse.jdt.core.dom.ASTNode.setSourceRange(ASTNode.java)
 at org
.eclipse.jdt.core.dom.ASTConverter.setTypeAnnotationsAndSourceRangeOnArray(ASTConverter.java:3420)
...




!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".

java.lang.IllegalArgumentException: startPos = 938 and length is -938.
This breaks the rule that lengths are not allowed to be negative. Affected Node:
java
.lang.Object[]
 at lombok
.eclipse.agent.PatchDiagnostics.setSourceRangeCheck(PatchDiagnostics.java:33)
 at org
.eclipse.jdt.core.dom.ASTNode.setSourceRange(ASTNode.java)
 at org
.eclipse.jdt.core.dom.ASTConverter.setTypeAnnotationsAndSourceRangeOnArray(ASTConverter.java:3420)
...



!MESSAGE Exception occurred during compilation unit conversion:

java.lang.IllegalArgumentException: startPos = 938 and length is -938.
This breaks the rule that lengths are not allowed to be negative. Affected Node:
java
.lang.Object[]
 at lombok
.eclipse.agent.PatchDiagnostics.setSourceRangeCheck(PatchDiagnostics.java:33)
 at org
.eclipse.jdt.core.dom.ASTNode.setSourceRange(ASTNode.java)
 at org
.eclipse.jdt.core.dom.ASTConverter.setTypeAnnotationsAndSourceRangeOnArray(ASTConverter.java:3420)
...

Reinier Zwitserloot

unread,
Oct 29, 2014, 9:41:57 AM10/29/14
to project...@googlegroups.com
Is it possible for you to post the source file that causes this? This shouldn't really be luna-specific.

4ndi

unread,
Jul 14, 2015, 2:13:24 PM7/14/15
to project...@googlegroups.com
Hello!

I'm having the same problem in Luna and Mars and I can reproduce it:

No error:

final int[] test =...

 Error:

val test =...

The problem occurs when doing cleanup based on "save actions".

The problem:

A save participant caused problems.
  The save participant 'Code Clean Up' caused an exception: java.lang.IllegalArgumentException: startPos = 4357 and length is -4357.

This breaks the rule that lengths are not allowed to be negative. Affected Node:
int[]. See the error log for details.

The excerpt from the error log:

java.lang.IllegalArgumentException: startPos = 4363 and length is -4363.

This breaks the rule that lengths are not allowed to be negative. Affected Node:
int[]

at lombok.eclipse.agent.PatchDiagnostics.setSourceRangeCheck(PatchDiagnostics.java:33)
at org.eclipse.jdt.core.dom.ASTNode.setSourceRange(ASTNode.java)
at org.eclipse.jdt.core.dom.ASTConverter.setTypeAnnotationsAndSourceRangeOnArray(ASTConverter.java:3420)
at org.eclipse.jdt.core.dom.ASTConverter.convertToArray(ASTConverter.java:3166)
at org.eclipse.jdt.core.dom.ASTConverter.convertType(ASTConverter.java:3628)
at org.eclipse.jdt.core.dom.ASTConverter.convertToVariableDeclarationStatement(ASTConverter.java:3439)
at org.eclipse.jdt.core.dom.ASTConverter.checkAndAddMultipleLocalDeclaration(ASTConverter.java:458)
at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1257)
at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2801)
at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2717)
at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:635)
at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:195)
at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2958)
at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:200)
at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2958)
at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1374)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:295)
at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1216)
at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:812)
at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:535)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:528)
at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:471)
at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:461)

at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

Hope this helps! :-)

I'll try to fix it in the source on my own when I'm on holiday in 2 weeks. But maybe you are faster...because you already know the code. :)

Best regards,

Andreas
Reply all
Reply to author
Forward
0 new messages