Community
Participate
Working Groups
Using the latest version of m2eclipse (0.12.1.20110112-1712) in Eclipse 3.6 the dependency resolution fails when I am behind a web proxy. I have configured the proxy in settings.xml. "mvn clean install" from command line works fine and pointing eclipse to the external installation allows eclipse to execute a build, but IDE dependency resolution still fails. My settings.xml has the following proxy config: <proxies> <proxy> <active>true</active> <protocol>http</protocol> <host>192.168.100.24</host> <port>81</port> </proxy> <proxy> <active>true</active> <protocol>https</protocol> <host>192.168.100.24</host> <port>81</port> </proxy> </proxies> https://issues.sonatype.org/browse/MNGECLIPSE-2284 - seems to report that this might have been fixed at some point? Fails for me though.
Are you able to reproduce the problem with this build https://repository.sonatype.org//content/repositories/forge-sites/m2e/0.12.2/S/0.12.2.20110330-1446/ ?
(Sorry for the delay in testing this) I installed that build into Eclipse 3.6 and Im still seeing the following error. Unable to update index for central|http://repo1.maven.org/maven2
FWIW I still have eclipse pointed to an external maven build, and IDE-maven builds work fine, the problem still seems to be with the dependency resolution feature.
Is anyone else having this problem? If I cant get maven to work behind this proxy then I'll have to abandon it altogether at this location.
Can you clarify if the problem is limited to index update or m2e can't access remote resources in other cases like dependency resolution too?
Dependency resolution fails as well. Manual builds (Run As > maven install) work if I point eclipse to an *external* maven installation, but do not work with embedded installation.
Sigh. I really hoped this was fixed in latest 0.12.x build... Do you know what kind of proxy you have? In order to troubleshoot this further, we need http transport debug log. Unfortunately 0.12.x is not instrumented to collect logs, so you'll need to install recent 0.13.0. here are (unreasonably complicated) steps * get eclipse 3.7m6 from eclipse.org (3.6.2 should work too, but I have not tried recently) * install m2e from https://repository.sonatype.org/content/repositories/forge-sites/m2e/0.13.0/N/0.13.0.201104271504/ * install maven.runtime.3.0.3 from help->m2e_marketplace. this includes the same maven and http transport layer version as 0.12.2. unfortunately, we can't include this in default m2e 0.13.0 due to eclipse legal process. * enable com.ning.http.client DEBUG log in .metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.*.xml * restart eclipse, reproduce the hang After that, zip and attach here * .metadata/.plugins/org.eclipse.m2e.logback.configuration/*.log. This will likely contain slightly obfuscated username/password information as part of http auth challenge/response, so you want to remove that. we don't need your passwords, at least not yet ;-) * thread dump while m2e resolution is in "hung" state * eclipse configuration details (help->about_eclipse_sdk->installation_details->configuration)
No problem, I should be able to get these logs asap (tomorrow). As for the proxy type, I'll try to get more specifics tomorrow, but I am pretty sure that its the kind that requires MS domain credentials (called NTLM I think??). Ive read that this can be an issue with lots of apps, and honestly I didnt expect maven to work. However, since the mvn command works fine from the shell I'm pretty hopeful that eventually the m2e plug-in will work as well. I'll get these logs first thing tomorrow - I'm fully committed to getting this worked out one way or the other, as I would hate to loose maven as a development tool.
* enable com.ning.http.client DEBUG log in .metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.*.xml Im not sure how to complete this step? I dont see any files in that directory (using 3.7m6 with m2e 0.13.0 and the updated maven runtime).
If nothing else works, try to install cntlm (http://cntlm.sourceforge.net/). I don't really know how it works, but I know it "fixes" all ntlm related problems. :)
(In reply to comment #9) > * enable com.ning.http.client DEBUG log in > .metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.*.xml > > Im not sure how to complete this step? I dont see any files in that directory > (using 3.7m6 with m2e 0.13.0 and the updated maven runtime). Did you install "Maven Integration for Eclipse - slf4j over logback logging (Optional)" from m2e update site?
Created attachment 194306 [details] log / thread dump data
There's the log data. I see an authorization exception, which is strange, since mvn from the console works without needed a username/pass.
On another note - I installed CNTLM, which apparently runs a local proxy that doesn't require authentication, and can pass connections off to my network proxy, and handle the NTLM stuff. This all seems to work, and I was able to point eclipse at the local proxy and update the repository, so my immediate need is fulfilled. However running a local proxy can be CPU intensive so I still think this issue is worth looking into.
Created attachment 194419 [details] com.ning.async-http-client 1.6.3.201104292354 Attached com.ning.async-http-client 1.6.3.201104292354 is supposed to properly handle HTTP Error 407 "Proxy authentication required" NTLM response. To try, copy attached jar file to eclipse/dropins folder *and* delete original com.ning.async-http-client bundle jar file from eclipse/plugins. If attached bundle does not solve the problem, we'll need another set of log/thread-dump/configuration files. This time please also make m2e fail dependency resolution as this runs through different code path.
(In reply to comment #15) > Created attachment 194419 [details] > com.ning.async-http-client 1.6.3.201104292354 > > Attached com.ning.async-http-client 1.6.3.201104292354 is supposed to properly > handle HTTP Error 407 "Proxy authentication required" NTLM response. To try, > copy attached jar file to eclipse/dropins folder *and* delete original > com.ning.async-http-client bundle jar file from eclipse/plugins. > > If attached bundle does not solve the problem, we'll need another set of > log/thread-dump/configuration files. This time please also make m2e fail > dependency resolution as this runs through different code path. I have the same problem, working behind a proxy with NTLM authentication the m2eclipse does not work. I began using the version 0.9.8 version and everityng worked well, since I updated to version 0.10 I found this kinds of problems.
(In reply to comment #16) > (In reply to comment #15) > > Created attachment 194419 [details] [details] > > com.ning.async-http-client 1.6.3.201104292354 > > > > Attached com.ning.async-http-client 1.6.3.201104292354 is supposed to properly > > handle HTTP Error 407 "Proxy authentication required" NTLM response. To try, > > copy attached jar file to eclipse/dropins folder *and* delete original > > com.ning.async-http-client bundle jar file from eclipse/plugins. > > > > If attached bundle does not solve the problem, we'll need another set of > > log/thread-dump/configuration files. This time please also make m2e fail > > dependency resolution as this runs through different code path. > > I have the same problem, working behind a proxy with NTLM authentication the > m2eclipse does not work. > I began using the version 0.9.8 version and everityng worked well, since I > updated to version 0.10 I found this kinds of problems. We believe the issue is addressed in the attached com.ning.async-http-client 1.6.3.201104292354 bundle. We'd appreciate if you could confirm it works (or does not work) with recent m2e 0.13 build in your environment.
(In reply to comment #17) > (In reply to comment #16) > > (In reply to comment #15) > > > Created attachment 194419 [details] [details] [details] > > > com.ning.async-http-client 1.6.3.201104292354 > > > > > > Attached com.ning.async-http-client 1.6.3.201104292354 is supposed to properly > > > handle HTTP Error 407 "Proxy authentication required" NTLM response. To try, > > > copy attached jar file to eclipse/dropins folder *and* delete original > > > com.ning.async-http-client bundle jar file from eclipse/plugins. > > > > > > If attached bundle does not solve the problem, we'll need another set of > > > log/thread-dump/configuration files. This time please also make m2e fail > > > dependency resolution as this runs through different code path. > > > > I have the same problem, working behind a proxy with NTLM authentication the > > m2eclipse does not work. > > I began using the version 0.9.8 version and everityng worked well, since I > > updated to version 0.10 I found this kinds of problems. > > We believe the issue is addressed in the attached com.ning.async-http-client > 1.6.3.201104292354 bundle. We'd appreciate if you could confirm it works (or > does not work) with recent m2e 0.13 build in your environment. As you suggested in comment #7, I've installed Eclipse 3.7M6 and m2eclipse 0.13 but I've found the same error.
(In reply to comment #18) > > As you suggested in comment #7, I've installed Eclipse 3.7M6 and m2eclipse 0.13 > but I've found the same error. Did you install patched com.ning.async-http-client 1.6.3.201104292354 bundle as described in comment 15 too?
(In reply to comment #19) > (In reply to comment #18) > > > > As you suggested in comment #7, I've installed Eclipse 3.7M6 and m2eclipse 0.13 > > but I've found the same error. > > > Did you install patched com.ning.async-http-client > 1.6.3.201104292354 bundle as described in comment 15 too? Yes i I did. I've put the jar in the dropins directory (removing the one on the plugins) and also in the plugins (also removing the original one). I didn't understand if the #7 and #15 comments solved the problem for Dan.
(In reply to comment #20) > (In reply to comment #19) > > (In reply to comment #18) > > > > > > As you suggested in comment #7, I've installed Eclipse 3.7M6 and m2eclipse 0.13 > > > but I've found the same error. > > > > > > Did you install patched com.ning.async-http-client > > 1.6.3.201104292354 bundle as described in comment 15 too? > > Yes i I did. > > I've put the jar in the dropins directory (removing the one on the plugins) and > also in the plugins (also removing the original one). > > I didn't understand if the #7 and #15 comments solved the problem for Dan. Can you attach m2e log and eclipse configuration details as described in comment 7 ?
#7 did not fix my issue, and I'll be trying #15 sometime today. The work around Im currently using is running a local CNTLM proxy, which is basically a pass-through that handles the NTLM authentication. Tthis isn't ideal so Im still committed to getting the original issue resolved.
Created attachment 194799 [details] As you asked in #7 I couldn't install maven.runtime.3.0.3, m2e marketplace reports this generic errore "Error(s) occurred gathering items for installation!"
Created attachment 194855 [details] com.ning.async-http-client_1.6.3.201105051330 Attached com.ning.async-http-client 1.6.3.201105051330 fixed NPE in netty when dealing with ntlm auth challenge response. Can you try the new version and see if it works? Please attach logs and install config if it does not.
Created attachment 194907 [details] Log for com.ning.async-http-client_1.6.3.201105051330 The problem still perists....
Hum, the exception doesn't match the current code line...have you installed the latest patch from Igor? Thanks for your patience.
(In reply to comment #25) > Created attachment 194907 [details] > Log for com.ning.async-http-client_1.6.3.201105051330 > > The problem still perists.... From the attached configuration details, it appears you are using com.ning.async-http-client 1.6.3.201104292354.
Created attachment 195039 [details] Log for 0.13.0.201105082310 w/ com.ning.async-http-client_1.6.3.201105082310.jar I've updated the m2e plugin to the 0.13.0.201105082310 version, In the 1.6.3.201105082310.rar file the log refers to the original com.ning.async-http-client_1.6.3.201105082310.jar.
Created attachment 195040 [details] Log for 0.13.0.201105082310 w/ com.ning.async-http-client_1.6.3.201105051330.jar I've updated the m2e plugin to the 0.13.0.201105082310 version, In the 1.6.3.201105082310.rar file the log refers to the "dropins" com.ning.async-http-client_1.6.3.201105051330.jar.
(In reply to comment #29) > Created attachment 195040 [details] > Log for 0.13.0.201105082310 w/ > com.ning.async-http-client_1.6.3.201105051330.jar > > I've updated the m2e plugin to the 0.13.0.201105082310 version, > > In the 1.6.3.201105082310.rar file the log refers to the "dropins" > com.ning.async-http-client_1.6.3.201105051330.jar. Log file indicates that you are using com.ning.async-http-client_1.6.3.201105082310. Only 1.6.3.201105051330 attached to this bugreport contains potential bugfix for ntlm proxy authentication Can you confirm that you 1. copied com.ning.async-http-client_1.6.3.201105051330.jar (attachment 194855 [details]) to eclipse/dropins folder 2. removed com.ning.async-http-client* from eclipse/plugins folder 3. restart eclipse You can see version of com.ning.async-http-client used in Eclipse configuration details
Created attachment 195178 [details] In the rar file I've added a .png to let you see the m2e async-http-client version I started again downloading a "clean" eclipse (3.7 M7). * There is no com.ning.async-http-client* in eclipse/plugins * In eclipse/dropins ther is com.ning.async-http-client_1.6.3.201105051330.jar * In the rar file I've added a .png to let you see the m2e async-http-client version
Created attachment 195507 [details] com.ning log When I drop the com.ning.async-http-client_1.6.3.201105051330 plugin into Eclipse 3.7 I get a total failure of everything. I don't even see console messages when trying to update the repository, it just doesnt do anything. Attached is the com.ning log file. There's an exception related to a krb5.ini file, but im not sure why its looking for it?
(In reply to comment #32) > Created attachment 195507 [details] > com.ning log > > When I drop the com.ning.async-http-client_1.6.3.201105051330 plugin into > Eclipse 3.7 I get a total failure of everything. I don't even see console > messages when trying to update the repository, it just doesnt do anything. > > Attached is the com.ning log file. There's an exception related to a krb5.ini > file, but im not sure why its looking for it? I had to explicitly open the Maven console from "open console" in console window... hope this help.
Created attachment 196229 [details] com.ning.async-http-client_1.6.3.201105201145 Can you guys try attached com.ning.async-http-client_1.6.3.201105201145 and provide logs and configuration details if still does not work ? We don't have the environment necessary to reproduce this particular problem, so we have to rely on your logs only to troubleshoot this. Thank you for your patience.
Created attachment 196308 [details] Log and installation detail Thank for the time you're spending.
It still seems to be complaining about krb5.ini? (see attached ning logs) Is this file related to NTLM authentication?
Created attachment 196345 [details] latest ning logs
(In reply to comment #37) > Created attachment 196345 [details] > latest ning logs Is there something else we can do to help this thread?
I can put together another AHC build for you to try and capture more logs for us. Or you can wait until we get proper NTLM test environment setup so we can reproduce the problem locally (but I am being told getting NTLM without Kerberos is tricky, whatever that means). And, of course, if somebody provides a quality patch, we'll be more than happy to review and apply ;-)
We are currently using m2eclipse 0.12.1.20110112-1712 in Eclipse Helios (3.6.2) and seem to be experiencing a similar problem to the one mentioned below. We are also behind a proxy. Any request, via Eclipse's m2eclipse, to download an artifact from our remote repository results in error similar to : "Access denied to https\://[our remote repository address] Error code 401, Unauthorized". We were wondering if any more work had been done towards the resolution of this bug. Thank's in advance for any help!
Did a bit of testing, it's a bit of a worry is that M2E is sending basic auth details for a repository to the proxy server. Tested with M2E in Indigo, going to repository at https://www.causal.net.au where the proxy server requires credentials. Request: CONNECT www.causal.net.au:443 HTTP/1.0 Host: www.causal.net.au Authorization: Basic [removed] Connection: keep-alive Proxy-Connection: keep-alive Accept: */* User-Agent: m2e/3.7.0.v20110613/1.0.0.20110607-2117 The basic auth details, after I base64 decoded them, are for the repository, not the proxy. This means the credentials for the repository are being transmitted across the network unencrypted to the proxy. That has to be a bad thing.
(In reply to comment #41) > Did a bit of testing, it's a bit of a worry is that M2E is sending basic auth > details for a repository to the proxy server. Tested with M2E in Indigo, going > to repository at https://www.causal.net.au where the proxy server requires > credentials. > > Request: > CONNECT www.causal.net.au:443 HTTP/1.0 > Host: www.causal.net.au > Authorization: Basic [removed] > Connection: keep-alive > Proxy-Connection: keep-alive > Accept: */* > User-Agent: m2e/3.7.0.v20110613/1.0.0.20110607-2117 > > The basic auth details, after I base64 decoded them, are for the repository, > not the proxy. This means the credentials for the repository are being > transmitted across the network unencrypted to the proxy. That has to be a bad > thing. That doesn't look like you're using an NTLM proxy and isn't related to this bug, please open a new bug report.
> > That doesn't look like you're using an NTLM proxy and isn't related to this > bug, please open a new bug report. Created new bug report: https://bugs.eclipse.org/bugs/show_bug.cgi?id=355587
*** Bug 356391 has been marked as a duplicate of this bug. ***
Hello, I am currenctly testing with com.ning.async-http-client_1.6.3.201108040103 installed and I have the same problem. Here is an extract of the exception I get when trying to build from a pom: [DEBUG] Using connector AsyncRepositoryConnector with priority 100 for http://repo1.maven.org/maven2 via proxyrm.wind.root.it:8080 as null Downloading: http://repo1.maven.org/maven2/org/sonatype/oss/oss-parent/5/oss-parent-5.pom [DEBUG] onThrowable org.sonatype.aether.connector.async.AuthorizationException: Access denied to http://repo1.maven.org/maven2/org/sonatype/oss/oss-parent/5/oss-parent-5.pom. Error code 407, Proxy Authentication Required at org.sonatype.aether.connector.async.AsyncRepositoryConnector.handleResponseCode(AsyncRepositoryConnector.java:361) at org.sonatype.aether.connector.async.AsyncRepositoryConnector.access$1600(AsyncRepositoryConnector.java:89) at org.sonatype.aether.connector.async.AsyncRepositoryConnector$GetTask$1.onCompleted(AsyncRepositoryConnector.java:630) at org.sonatype.aether.connector.async.CompletionHandler.onCompleted(CompletionHandler.java:174) at org.sonatype.aether.connector.async.CompletionHandler.onCompleted(CompletionHandler.java:1) at com.ning.http.client.providers.netty.NettyResponseFuture.getContent(NettyResponseFuture.java:235) at com.ning.http.client.providers.netty.NettyResponseFuture.done(NettyResponseFuture.java:258) at com.ning.http.client.providers.netty.NettyAsyncHttpProvider.markAsDoneAndCacheConnection(NettyAsyncHttpProvider.java:1407) at com.ning.http.client.providers.netty.NettyAsyncHttpProvider.finishUpdate(NettyAsyncHttpProvider.java:1428) at com.ning.http.client.providers.netty.NettyAsyncHttpProvider.messageReceived(NettyAsyncHttpProvider.java:1181) at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80) at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545) at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754) at org.jboss.netty.handler.stream.ChunkedWriteHandler.handleUpstream(ChunkedWriteHandler.java:148) at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545) at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754) at org.jboss.netty.handler.codec.http.HttpContentDecoder.messageReceived(HttpContentDecoder.java:104) at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80) at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545) at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302) at org.jboss.netty.handler.codec.replay.ReplayingDecoder.unfoldAndfireMessageReceived(ReplayingDecoder.java:522) at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:506) at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:443) at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80) at org.jboss.netty.handler.codec.http.HttpClientCodec.handleUpstream(HttpClientCodec.java:77) at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545) at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:540) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261) at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:349) at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:280) at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:200) at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:44) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Note that in my environment I have other applications based on apache httpclient and java.net.URLConnection go through the proxy without problems, and without the need to configure the username and the password at the proxy config, as long as the client from which you run the application has gone through an authentication on the windows domain. The opensource browsers (mozilla, chrome) also work properly without the need to configure username and password in the proxy configuration. In any case, I have also tried e2m / eclipse with a configuration of settings.xml using the format <proxy> ... <username>mydomain\myuser</username> <password>mypassword</password> ... </proxy> without success (as well as other variants with the domain in capital letters, etc.). BR Gianni
I have the same issue on Win and Linux. We use Artifactory that supports Kerberos authentication and a fallback to Basic Authetication. When connectiong to Artifactory, I always get an error message like "File krb5.ini/krb5.conf is missing". The thing is, that m2e v0.15 uses the async-http-client lib 1.6.3 and that lib makes no fallback to other offered capabilities, when Kerberos fails. Please upgrade m2e to use async-http-client 1.6.5 to avoid this error. Regards Christian
hopefully okhttp will behave better... if not, somebody will have to contribute a fix, regression tests and test infrastructure necessary to run the tests. *** This bug has been marked as a duplicate of bug 418263 ***
Moved to https://github.com/eclipse-m2e/m2e-core/issues/