Community
Participate
Working Groups
The following incident was reported via the automated error reporting: code: 2 plugin: org.eclipse.core.jobs_3.6.1.v20150304-1110 message: HIDDEN fingerprint: 0b4d47c3 exception class: java.lang.LinkageError exception message: HIDDEN number of children: 0 java.lang.LinkageError: HIDDEN at org.apache.http.impl.conn.DefaultHttpRoutePlanner.determineRoute(DefaultHttpRoutePlanner.java:107) at org.apache.http.impl.client.DefaultRequestDirector.determineRoute(DefaultRequestDirector.java:762) at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:381) at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:864) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at org.apache.http.impl.client.DecompressingHttpClient.execute(DecompressingHttpClient.java:158) at org.eclipse.aether.transport.http.HttpTransporter.execute(HttpTransporter.java:287) at org.eclipse.aether.transport.http.HttpTransporter.implGet(HttpTransporter.java:243) at org.eclipse.aether.spi.connector.transport.AbstractTransporter.get(AbstractTransporter.java:59) at org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.runTask(BasicRepositoryConnector.java:447) at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:350) at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:67) at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:581) at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:222) at org.eclipse.aether.internal.impl.DefaultMetadataResolver$ResolveTask.run(DefaultMetadataResolver.java:607) at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:67) at org.eclipse.aether.internal.impl.DefaultMetadataResolver$1.execute(DefaultMetadataResolver.java:527) at org.eclipse.aether.internal.impl.DefaultMetadataResolver.resolve(DefaultMetadataResolver.java:382) at org.eclipse.aether.internal.impl.DefaultMetadataResolver.resolveMetadata(DefaultMetadataResolver.java:205) at org.apache.maven.repository.internal.DefaultVersionResolver.resolveVersion(DefaultVersionResolver.java:250) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:302) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:246) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:223) at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:294) at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:186) at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:168) at com.codetrails.connect.internal.hippie.rcp.WoodstockModelRepository.resolve(WoodstockModelRepository.java:85) at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:75) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) General Information: reported-by: anonymous-id: f1b882af-86c0-435e-9a0a-aeeb9ff6aae6 eclipse-build-id: 4.4.2.Z20150304-1109 eclipse-product: org.eclipse.platform.ide operating system: Linux 3.19.5.fc21 (x86_64) - gtk jre-version: 1.8.0_45-b13 The following plug-ins were present on the execution stack (*): 1. com.codetrails.connect.hippie.rcp_1.4.0.v20150430-1833-b1665 2. com.codetrails.connect.hippie_1.4.0.v20150430-1833-b1665 3. org.eclipse.aether.connector.basic_1.0.1.v20141111 4. org.eclipse.aether.impl_1.0.1.v20141111 5. org.eclipse.aether.spi_1.0.1.v20141111 6. org.eclipse.aether.transport.http_1.0.1.v20141111 7. org.eclipse.aether.util_1.0.1.v20141111 8. org.eclipse.core.jobs_3.6.1.v20150304-1110 9. org.eclipse.recommenders.models_2.1.14.v20150423-1305 10. org.eclipse.recommenders.models.rcp_2.1.14.v20150423-1305 Please note that: * Messages, stacktraces, and nested status objects may be shortened. * Bug fields like status, resolution, and whiteboard are sent back to reporters. * The list of present bundles and their respective versions was calculated by package naming heuristics. This may or may not reflect reality. Other Resources: * Report: https://dev.eclipse.org/recommenders/committers/confess/#/problems/554a8e0be4b02db8ca300506 * Manual: https://dev.eclipse.org/recommenders/community/confess/#/guide Thank you for your assistance. Your friendly error-reports-inbox.
Even though the user used Hippie completion, the exception happened in code that was triggered by the Recommenders ModelRepository. We need more information on what is happening here. A non-hidden exception message would be helpful.
(In reply to Johannes Dorn from comment #1) > Even though the user used Hippie completion, the exception happened in code > that was triggered by the Recommenders ModelRepository. > > We need more information on what is happening here. A non-hidden exception > message would be helpful. I agree. Also, knowing the org.apache.http.* bundle versions would help. (I wonder why the they are missing from the "The following plug-ins were present on the execution stack" list.) That being said, the top frames' line numbers *all* match org.apache.httpcomponents.httpclient 4.3.6.v201411290715, so line 107 of DefaultHttpRoutePlanner would be > schm = this.schemeRegistry.getScheme(target.getSchemeName()); As far as I can see, both Scheme and SchemeRegistry come from the same bundle as DefaultHttpRoutePlanner and are final, so they are guaranteed to be loaded with the same classloader as DefaultHttpRoutePlanner. Only "target" is an instance of a type (HttpHost) from a different bundle (org.apache.httpcomponents.httpcore), so there might be potential for a LinkageError. Now, this HttpHost object originates in Aether code, namely in org.eclipse.aether.transport.http.HttpTransporter.execute(HttpTransporter.java:287): > HttpResponse response = client.execute( server, request, context ); The object is then is simply passed through the org.apache.http.impl frames, miraculously without a single method being invoked on it until DefaultHttpRoutePlanner, line 107! I highly suspect that the getSchemeName() call is what causes the JVM to check for class loader constraint violates. Alas, I don't know the JVM spec *that* well to explain why the LinkageError only occurs that late, but I strongly suspect that HttpTransporter and DefaultHttpRoutePlanner "see" HttpHost with a different classloader. Reassigning the bug to the Aether project, as Code Recommenders is just the client code invoking Aether here.