[
https://issues.jboss.org/browse/FORGE-426?page=com.atlassian.jira.plugin....
]
Simon Gunzenreiner updated FORGE-426:
-------------------------------------
Issue Type: Bug (was: Enhancement)
Priority: Blocker (was: Major)
Description:
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/java...
.
was:
When starting the Forge shell in my environment (it turns out that using a HTTP proxy is
relavant), it takes a long time for the prompt to appear. When setting up the plugins
component, multiple error indications appear after a few minutes. All of this basically
results in Forge not even being usable for the first steps described in the documentation
- 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.
Maven ArtifactResolver/RemoteRepository not using proxy information
-------------------------------------------------------------------
Key: FORGE-426
URL:
https://issues.jboss.org/browse/FORGE-426
Project: Forge
Issue Type: Bug
Components: Shell
Affects Versions: 1.0.0.Beta5
Environment: Windows
Reporter: Simon Gunzenreiner
Priority: Blocker
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/java...
.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira