I have a relatively large multi module maven project and importing process freezes. With m2eclipse I try to import it. Firstly it does some actions: opens connections, downloads data (I could see it in a firewall log) but after a while it freezes. I have dumped a stack trace via StackTrace tool and found that thread that is responsible for resolving dependencies is in a wait state. In such state it has stayed for long time (about ten minutes) without any changes, so it seems to be a deadlock.
"Worker-3" prio=6 tid=0x0000000008048800 nid=0x7bc in Object.wait() [0x000000000d3be000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000000fabdfc38> (a org.jboss.netty.channel.DefaultChannelFuture) at java.lang.Object.wait(Object.java:485) at org.jboss.netty.channel.DefaultChannelFuture.awaitUninterruptibly(DefaultChannelFuture.java:211) - locked <0x00000000fabdfc38> (a org.jboss.netty.channel.DefaultChannelFuture) at com.ning.http.client.providers.netty.NettyAsyncHttpProvider.doConnect(NettyAsyncHttpProvider.java:751) at com.ning.http.client.providers.netty.NettyAsyncHttpProvider.execute(NettyAsyncHttpProvider.java:647) at com.ning.http.client.AsyncHttpClient.executeRequest(AsyncHttpClient.java:476) at org.sonatype.aether.connector.async.AsyncRepositoryConnector$GetTask.run(AsyncRepositoryConnector.java:758) at org.sonatype.aether.connector.async.AsyncRepositoryConnector.get(AsyncRepositoryConnector.java:267) at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:438) at org.sonatype.aether.impl.internal.DefaultRepositorySystem.resolveArtifacts(DefaultRepositorySystem.java:304) at org.sonatype.aether.impl.internal.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:334) at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:150) at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:159) at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:98) at org.maven.ide.eclipse.internal.embedder.MavenImpl.readProject(MavenImpl.java:467) at org.maven.ide.eclipse.internal.project.registry.DefaultMavenDependencyResolver.resolveProjectDependencies(DefaultMavenDependencyResolver.java:43) at org.maven.ide.eclipse.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:445) at org.maven.ide.eclipse.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:361) at org.maven.ide.eclipse.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:344) at org.maven.ide.eclipse.project.MavenProjectManager.refresh(MavenProjectManager.java:65) at org.maven.ide.eclipse.internal.project.ProjectConfigurationManager.configureNewMavenProject(ProjectConfigurationManager.java:209) at org.maven.ide.eclipse.internal.project.ProjectConfigurationManager.importProjects(ProjectConfigurationManager.java:146) at org.maven.ide.eclipse.wizards.MavenImportWizard$1.runInWorkspace(MavenImportWizard.java:94) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
what to do?
I have found root of the problem. It wasn't to eclipse, or m2eclipse. It was due to poor proxy server configuration, so it created connection and transmitted no data and m2eclipse was waiting for it.