Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

RTC 6.0.2 error using jetty

 Hello, 

When I start debugging getting the server up, I get this error:

HTTP ERROR 500

Problem accessing /jazz/admin. Reason:

    loading constraint violation: loader "org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader@4afd0a39" previously initiated loading for a different type with name "org/apache/http/params/HttpParams" defined by loader "org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader@2ceadd57"
    

Caused by:

java.lang.LinkageError: loading constraint violation: loader "org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader@4afd0a39" previously initiated loading for a different type with name "org/apache/http/params/HttpParams" defined by loader "org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader@2ceadd57"
    at java.lang.J9VMInternals.verifyImpl(Native Method)
    at java.lang.J9VMInternals.verify(J9VMInternals.java:94)
    at java.lang.J9VMInternals.verify(J9VMInternals.java:92)
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:169)
    at com.ibm.team.repository.service.internal.identity.UserIdentityHelper.getTrustingHttpClient(UserIdentityHelper.java:558)
    at com.ibm.team.repository.service.internal.identity.UserIdentityHelper.determineAuthMethod(UserIdentityHelper.java:170)
    at com.ibm.team.repository.service.internal.identity.UserIdentityHelper.determineAuthMethod(UserIdentityHelper.java:138)
    at com.ibm.team.repository.service.internal.identity.UserIdentityHelper.getAuthMethod(UserIdentityHelper.java:422)
    at com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleAuthentication(AbstractTeamServerServlet.java:2084)
    at com.ibm.team.repository.servlet.AbstractTeamServerServlet.service(AbstractTeamServerServlet.java:1768)
    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.service(ServletRegistration.java:61)
    at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:126)
    at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:76)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
    at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
    at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:326)
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
    at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:924)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
    at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
    at org.mortbay.jetty.security.SslSocketConnector$SslConnection.run(SslSocketConnector.java:680)
    at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
    

Powered by Jetty://


















2

1 vote

Comments

I have the same problem. Did you find a way to resolve it?

 I have a setup that works without problems. Another workspace does not work at all. It shows the same error. I have no idea what the difference is and why one works and one does not.

Ralph
I also have an identical error. I looked at what may be the cause.. It seems to be a classloading issue with there being two of "org.apache.http.params.HttpParams" being loaded. If we can change the classloading order, I think we could fix this. I can find methods for Jetty that say they change the order.. but I am not sure how to implement such a change. For example, org.eclipse.jett .webapp.WebAppContext.setParentLoaderPriority(boolean) . Have you found a solution yet?

http://www.eclipse.org/jetty/documentation/9.3.x/jetty-classloading.html
http://frankkieviet.blogspot.com.au/2009/03/javalanglinkageerror-loader-constraint.html



2 answers

Permanent link

This is happening to me, too. Notably, however, this is happening after I upgraded from the old 6.0.2 SDK to the new one due to RTC Defect 390811 and tried to create a new Jetty server. I've noticed that there are also a couple of plugins missing from the "[RTCExt] Create RTC Test Database" launch when the new 6.0.2 SDK is set as the target platform.


My theory is that when, like Ralph has experienced, some workspaces (presumably created a while ago) have working 6.0.2 Jetty servers and workspaces with newly attempted 6.0.2 Jetty servers do not work, this is because the old workspaces' Jetty server databases were created using the "[RTCExt] Create RTC Test Database" launch when the old 6.0.2 SDK was in use (at the time, the "[RTCExt] Create RTC Test Database" launch saw all the bundles it needed, but the "[RTCExt] Jetty RTC Server" did not see all the bundles it needed due to the defect in the SDK) and the new workspace's Jetty server database was created with the new 6.0.2 SDK as the target platform either by the "[RTCExt] Create RTC Test Database" launch without all bundles visible or by skipping that workshop step and going straight to the "[RTCExt] Jetty RTC Server" launch (which should work on its own, as long as the server setup process is run with the ADMIN login), which sees all of its necessary bundles but for which the new 6.0.2 SDK has another issue.

There are certainly a lot of variables involved in that very long sentence. If I still had the old 6.0.2 SDK, I would be able to test this further. If anyone else has both available to them, that could be helpful. I'm wondering if a viable process would be to use the workshop's "[RTCExt] Create RTC Test Database" launch while pointing to the old 6.0.2 SDK, followed by changing the target platform to the new 6.0.2 SDK to run the "[RTCExt] Jetty RTC Server" launch.

1 vote


Permanent link

 As answer so that I can add some details. 


Ian, I don't have a solution for this. 

Adam pinged me with the problem and I went to my setup and everything worked fine. I have several workspaces (copied from the first  I created) and all worked for me. 
During our analysis I decided to re run the Unit Test to create the database. I did and afterwards the error came up for this workspace. All others still work.

I have no idea and can not explain the error. I don't think we can change the order of loading classes, because the Jetty configuration is built and in a Jar file and I don't see how we could change that.

The only option would be to create a defect and get developer involved.

0 votes

Comments

Your answer

Register or log in to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details
× 10,947

Question asked: Jan 27 '17, 7:34 p.m.

Question was seen: 2,446 times

Last updated: Mar 22 '17, 12:53 p.m.

Confirmation Cancel Confirm