Eclipse Help/Help Contents doesn't work after installing lombok #141

Closed
lombokissues opened this Issue Jul 14, 2015 · 11 comments

Projects

None yet

2 participants

@lombokissues
Collaborator

Migrated from Google Code (issue 68)

@lombokissues
Collaborator

๐Ÿ‘ค ckutzi ย  ๐Ÿ•— Nov 08, 2009 at 12:26 UTC

What steps will reproduce the problem?

  1. Install Lombok 0.9.0 into Eclipse
  2. try to open Help/Help Contents

What is the expected output? What do you see instead?
Expected: Help coming up
Instead: error message:

HTTP ERROR 500

Problem accessing /help/index.jsp. Reason:

loader constraint violation: when resolving method

"lombok.eclipse.TransformEclipseAST.transform_swapped(Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;Lorg/eclipse/jdt/internal/compiler/parser/Parser;)V"
the class loader (instance of
org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) of the current
class, org/eclipse/jdt/internal/compiler/parser/Parser, and the class
loader (instance of lombok/patcher/equinox/EquinoxClassLoader) for resolved
class, lombok/eclipse/TransformEclipseAST, have different Class objects for
the type org/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration
used in the signature

Caused by:

java.lang.LinkageError: loader constraint violation: when resolving method
"lombok.eclipse.TransformEclipseAST.transform_swapped(Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;Lorg/eclipse/jdt/internal/compiler/parser/Parser;)V"
the class loader (instance of
org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) of the current
class, org/eclipse/jdt/internal/compiler/parser/Parser, and the class
loader (instance of lombok/patcher/equinox/EquinoxClassLoader) for resolved
class, lombok/eclipse/TransformEclipseAST, have different Class objects for
the type org/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration
used in the signature
at org.eclipse.jdt.internal.compiler.parser.Parser.endParse(Parser.java:7638)
at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:8497)
at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:8657)
at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:8622)
at org.eclipse.jdt.internal.compiler.parser.Parser.dietParse(Parser.java:7420)
at
org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:289)
at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:315)
at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:404)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:297)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
at
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.eclipse.equinox.jsp.jasper.JspServlet.service(JspServlet.java:112)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
at
org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:318)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:380)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)
at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:865)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:540)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)

Powered by Jetty://

What version of the product are you using? On what operating system?
Lombokx 0.9.0, Eclipse 3.5.1, Java 1.6, Linux/Ubuntu 9.10

@lombokissues
Collaborator

๐Ÿ‘ค reinierz ย  ๐Ÿ•— Nov 23, 2009 at 14:12 UTC

Huh, this is a regression that I swore I avoided when I changed the way lombok injects itself into the OSGi
classloader mechanism. Crud. Issue accepted.

@lombokissues
Collaborator

๐Ÿ‘ค reinierz ย  ๐Ÿ•— Nov 24, 2009 at 04:43 UTC

Are you sure this is happening? I cannot reproduce this. Possibly I fixed it in v0.9.1 without knowing, I did mess
with a few things in the classloader code. Can you retest on v0.9.1 on your machine? Could be something
specific to your eclipse. Thanks.

@lombokissues
Collaborator

๐Ÿ‘ค ckutzi ย  ๐Ÿ•— Nov 24, 2009 at 20:02 UTC

I've v0.9.1 now, too, and cannot reproduce the issue anymore.
However, I experience a different problem: When I try to see file differences in the
compare view, I get an error dialog with the following contents:

An error has occurred. See error log for more details.
loader constraint violation: when resolving method
"lombok.eclipse.TransformEclipseAST.transform_swapped(Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;Lorg/eclipse/jdt/internal/compiler/parser/Parser;)V"
the class loader (instance of
org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) of the current class,
org/eclipse/jdt/internal/compiler/parser/Parser, and the class loader (instance of
lombok/patcher/equinox/EquinoxClassLoader) for resolved class,
lombok/eclipse/TransformEclipseAST, have different Class objects for the type
org/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration used in the signature

When I confirm the dialog with okay, it seems to work without problems, though.

@lombokissues
Collaborator

๐Ÿ‘ค reinierz ย  ๐Ÿ•— Nov 24, 2009 at 22:53 UTC

I just got this error again in the help system. exactly once. It's really weird; it seems to occur randomly, in
random spots in eclipse, depending on as far as I know the current phase of the moon.

I'm going to try and figure this out. Somehow.

@lombokissues
Collaborator

๐Ÿ‘ค reinierz ย  ๐Ÿ•— Nov 25, 2009 at 03:36 UTC

I think I fixed it!

spread out across lombok.patcher in commit a93c6a0ec495999731b68bda04a5edeba6259c2f
and lombok itself in commit d9bc350

make sure you pull to both (or run ant updateDeps) if you want to play with this.

Fix will be rolled out in v0.9.2.

@lombokissues lombokissues removed the accepted label Jul 14, 2015
@lombokissues
Collaborator

๐Ÿ‘ค mykola.nickishov ย  ๐Ÿ•— Feb 27, 2010 at 19:47 UTC

I hit this issue in the current master:

compile:
    [javac] Compiling 70 source files to /home/mn/src/git-mirrors/lombok/build/lombok
    [javac]

/home/mn/src/git-mirrors/lombok/src/eclipseAgent/lombok/eclipse/agent/EclipsePatcher.java:55:
non-static method addPrefix(java.lang.String...) cannot be referenced from a static
context
[javac] EquinoxClassLoader.addPrefix("lombok.");
[javac] ^
[javac] 1 error

Feel free to apply this
http://github.com/manandbytes/lombok/commit/da33b42fc79538e71d7712a0c6b6dee495f10ae2

@lombokissues
Collaborator

๐Ÿ‘ค reinierz ย  ๐Ÿ•— Feb 07, 2011 at 21:34 UTC

Somewhere along the line this bug has reverted.

@lombokissues lombokissues reopened this Jul 14, 2015
@lombokissues lombokissues added this to the 0.10.0 milestone Jul 14, 2015
@lombokissues
Collaborator

๐Ÿ‘ค grootjans ย  ๐Ÿ•— Feb 07, 2011 at 22:21 UTC

@lombokissues lombokissues modified the milestone: 0.10.0, 0.10.1 Jul 14, 2015
@lombokissues
Collaborator

๐Ÿ‘ค grootjans ย  ๐Ÿ•— Jun 06, 2011 at 19:38 UTC

Fixed together with Issue #280

The eclipse documentation calls the jsp compiler, which in turn calls lombok, but it does not have everything present to work, and it would be pointless as the help doesn't use lombok.

fixed with commit 489f506

@lombokissues lombokissues removed the accepted label Jul 14, 2015
@lombokissues lombokissues modified the milestone: 0.10.1, 0.10.0 Jul 14, 2015
@lombokissues
Collaborator

End of migration

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment