-
Bug
-
Resolution: Duplicate
-
Blocker
-
None
-
1.0.0.Beta5
-
None
When starting the Forge shell in my environment (it turns out that using a HTTP proxy is relavant), it takes minutes for the prompt to appear. Also, when setting up the plugins component, multiple error indications appear in the console after a few minutes. All of this basically results in Forge not even being usable behind a HTTP proxy - and might be related to https://issues.jboss.org/browse/FORGE-421.
To confirm my suspicion that this could be related to using a HTTP proxy, I ran Forge with remote debugging. What I found is this:
The MavenDependencyFacet, using the DefaultModelBuilder, initializes RemoteRepository objects without Proxy information.These RemoteRepositories are eventually used in WagonRepositoryConnector to connect to get artifacts (again - without applying a Proxy information). MAVEN_HOME btw. points to a valid Maven installation (with appropriate repository mirrors configured), and in the user home directory a valid settings.xml has even configured HTTP proxy information - but both do not seem to matter.
One active Thread then seems to spend a lot of time in the following stack location:
Thread [Thread-2] (Suspended)
Unsafe.park(boolean, long) line: not available [native method]
LockSupport.park() line: 283
RunnableErrorForwarder.awaitTerminationOfAllRunnables() line: 119
RunnableErrorForwarder.await() line: 92
WagonRepositoryConnector.get(Collection<ArtifactDownload>, Collection<MetadataDownload>) line: 441
DefaultArtifactResolver.resolve(RepositorySystemSession, Collection<ArtifactRequest>) line: 460
DefaultArtifactResolver.resolveArtifacts(RepositorySystemSession, Collection<ArtifactRequest>) line: 220
DefaultArtifactResolver.resolveArtifact(RepositorySystemSession, ArtifactRequest) line: 197
DefaultArtifactDescriptorReader.loadPom(RepositorySystemSession, ArtifactDescriptorRequest, ArtifactDescriptorResult) line: 267
DefaultArtifactDescriptorReader.readArtifactDescriptor(RepositorySystemSession, ArtifactDescriptorRequest) line: 172
DefaultDependencyCollector.process(RepositorySystemSession, RequestTrace, CollectResult, LinkedList<GraphEdge>, List<Dependency>, List<RemoteRepository>, DependencySelector, DependencyManager, DependencyTraverser, DataPool) line: 419
DefaultDependencyCollector.collectDependencies(RepositorySystemSession, CollectRequest) line: 243
DefaultRepositorySystem.collectDependencies(RepositorySystemSession, CollectRequest) line: 345
DefaultProjectDependenciesResolver.resolve(DependencyResolutionRequest) line: 131
DefaultProjectBuilder.build(File, ModelSource, DefaultProjectBuilder$InternalConfig) line: 166
DefaultProjectBuilder.build(File, ProjectBuildingRequest) line: 102
MavenCoreFacetImpl.getFullProjectBuildingResult() line: 140
MavenDependencyFacet.getEffectiveDependencies() line: 202
MavenDependencyFacet.getEffectiveDependency(Dependency) line: 188
MavenDependencyFacet.hasEffectiveDependency(Dependency) line: 182
EJBFacetImpl(BaseJavaEEFacet).isInstalled() line: 77
ProjectImpl(BaseProject).registerFacet(Facet) line: 167
ProjectFactory.registerSingleFacet(Project, Facet) line: 218
ProjectFactory.registerFacets(Project) line: 188
ProjectFactory.findProjectRecursively(DirectoryResource) line: 129
ProjectInitializer.doInit(InitProject) line: 87
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
Method.invoke(Object, Object...) line: 597
SecureReflections$13.work() line: 305
SecureReflections$13(SecureReflectionAccess<T>).run() line: 54
SecureReflections$13(SecureReflectionAccess<T>).runAsInvocation() line: 163
SecureReflections.invoke(Object, Method, Object...) line: 299
WeldMethodImpl<T,X>.invokeOnInstance(Object, Object...) line: 188
MethodInjectionPoint<T,X>(ForwardingWeldMethod<T,X>).invokeOnInstance(Object, Object...) line: 59
MethodInjectionPoint<T,X>.invokeOnInstanceWithSpecialValue(Object, Class<Annotation>, Object, BeanManagerImpl, CreationalContext<?>, Class<RuntimeException>) line: 198
ObserverMethodImpl<T,X>.sendEvent(T, Object, CreationalContext<?>) line: 282
ObserverMethodImpl<T,X>.sendEvent(T) line: 265
ObserverMethodImpl<T,X>.notify(T) line: 234
BeanManagerImpl.notifyObservers(T, Set<ObserverMethod<? super T>>) line: 635
BeanManagerImpl.fireEvent(Type, Object, Set<Annotation>) line: 628
EventImpl<T>.fire(T) line: 75
CurrentProject.setCurrentResource(Resource<?>) line: 91
ShellImpl.init(Startup, PluginCommandCompleter) line: 380
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
Method.invoke(Object, Object...) line: 597
ContextBeanInstance<T>(AbstractBeanInstance).invoke(Object, Method, Object...) line: 48
ProxyMethodHandler.invoke(Object, Method, Method, Object[]) line: 125
ShellImpl$Proxy$_$$_WeldClientProxy.init(Startup, PluginCommandCompleter) line: not available
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
Method.invoke(Object, Object...) line: 597
SecureReflections$13.work() line: 305
SecureReflections$13(SecureReflectionAccess<T>).run() line: 54
SecureReflections$13(SecureReflectionAccess<T>).runAsInvocation() line: 163
SecureReflections.invoke(Object, Method, Object...) line: 299
WeldMethodImpl<T,X>.invokeOnInstance(Object, Object...) line: 188
MethodInjectionPoint<T,X>(ForwardingWeldMethod<T,X>).invokeOnInstance(Object, Object...) line: 59
MethodInjectionPoint<T,X>.invokeOnInstanceWithSpecialValue(Object, Class<Annotation>, Object, BeanManagerImpl, CreationalContext<?>, Class<RuntimeException>) line: 198
ObserverMethodImpl<T,X>.sendEvent(T, Object, CreationalContext<?>) line: 282
ObserverMethodImpl<T,X>.sendEvent(T) line: 265
ObserverMethodImpl<T,X>.notify(T) line: 234
BeanManagerImpl.notifyObservers(T, Set<ObserverMethod<? super T>>) line: 635
BeanManagerImpl.fireEvent(Type, Object, Annotation...) line: 622
BeanManagerImpl.fireEvent(Object, Annotation...) line: 616
Bootstrap$1.run() line: 107
Thread.run() line: 662
... eventually resulting in the following exception:
org.sonatype.aether.transfer.ArtifactTransferException: Could not transfer artifact javax.inject:javax.inject:pom:1 from/to JBOSS_NEXUS (http://repository.jboss.org/nexus/content/groups/public): Error transferring file: Connection timed out: connect from http://repository.jboss.org/nexus/content/groups/public/javax/inject/javax.inject/1/javax.inject-1.pom
.
- duplicates
-
FORGE-421 Proxy support
- Closed