I've attached a simple "synchronized" patch for this, but htis will require
to set wagon dependencies to 2.0-SNAPSHOT. This may have some incidence on
archiva stability.

2007/4/3, nicolas de loof <[EMAIL PROTECTED]>:

This seems to be a thread-safety issue in Wagon 
TransferEventSupport<http://maven.apache.org/wagon/wagon-provider-api/xref/org/apache/maven/wagon/events/TransferEventSupport.html>

The listeners list is an ArrayList and add/remove/fireEvent methods are
not synchronized.
This requires either synchronization or use of a CopyOnWriteArrayList.

I've created http://jira.codehaus.org/browse/WAGON-79 for this.


2007/4/2, nicolas de loof <[EMAIL PROTECTED]>:
>
> Hello,
>
> I've setup archiva as proxy to maven central. I'm using a recent
> snapshot build.
> I get sometimes (?) 500 errors when downloading artifacts. According to
> logs, this is a ConcurrentModificationException.
>
> Is this a known bug ?
>
> Here is the stacktrace :
>
>
> 2007-04-02 10:11:25,392 [http-8888-1] ERROR
> [RepositoryServlet]            - "Servlet.service()" pour la servlet
> RepositoryServlet a généré une exception
> java.util.ConcurrentModificationException
>     at java.util.AbstractList$Itr.checkForComodification(Unknown Source)
>     at java.util.AbstractList$Itr.next(Unknown Source)
>     at
> org.apache.maven.wagon.events.TransferEventSupport.fireTransferProgress(
> TransferEventSupport.java:117)
>     at org.apache.maven.wagon.AbstractWagon.fireTransferProgress(
> AbstractWagon.java:350)
>     at org.apache.maven.wagon.AbstractWagon.transfer(AbstractWagon.java
> :336)
>     at org.apache.maven.wagon.AbstractWagon.getTransfer (
> AbstractWagon.java:199)
>     at org.apache.maven.wagon.AbstractWagon.getTransfer(
> AbstractWagon.java:182)
>     at org.apache.maven.wagon.StreamWagon.get(StreamWagon.java:80)
>     at
> 
org.apache.maven.archiva.proxy.DefaultProxyRequestHandler.getFileFromRepository(
> DefaultProxyRequestHandler.java:541)
>     at org.apache.maven.archiva.proxy.DefaultProxyRequestHandler.get(
> DefaultProxyRequestHandler.java:393)
>     at
> 
org.apache.maven.archiva.proxy.DefaultProxyRequestHandler.getArtifactFromRepository(
> DefaultProxyRequestHandler.java:260)
>     at org.apache.maven.archiva.proxy.DefaultProxyRequestHandler.get(
> DefaultProxyRequestHandler.java:196)
>     at org.apache.maven.archiva.proxy.DefaultProxyRequestHandler.get(
> DefaultProxyRequestHandler.java :116)
>     at
> 
org.apache.maven.archiva.web.repository.ProxiedDavServer.fetchContentFromProxies
> (ProxiedDavServer.java:156)
>     at org.apache.maven.archiva.web.repository.ProxiedDavServer.process(
> ProxiedDavServer.java :144)
>     at
> 
org.codehaus.plexus.webdav.servlet.multiplexed.MultiplexedWebDavServlet.service
> (MultiplexedWebDavServlet.java:111)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:252)
>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:173)
>     at com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(
> FilterDispatcher.java :189)
>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:202)
>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:173)
>     at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(
> PageFilter.java:39)
>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:202)
>     at org.apache.catalina.core.ApplicationFilterChain.doFilter (
> ApplicationFilterChain.java:173)
>     at com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter
> (ActionContextCleanUp.java:88)
>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java :202)
>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:173)
>     at org.apache.catalina.core.StandardWrapperValve.invoke(
> StandardWrapperValve.java:213)
>     at org.apache.catalina.core.StandardContextValve.invoke (
> StandardContextValve.java:178)
>     at org.apache.catalina.core.StandardHostValve.invoke(
> StandardHostValve.java:126)
>     at org.apache.catalina.valves.ErrorReportValve.invoke(
> ErrorReportValve.java:105)
>     at org.apache.catalina.core.StandardEngineValve.invoke (
> StandardEngineValve.java:107)
>     at org.apache.catalina.connector.CoyoteAdapter.service(
> CoyoteAdapter.java:148)
>     at org.apache.coyote.http11.Http11AprProcessor.process(
> Http11AprProcessor.java:833)
>     at
> org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(
> Http11AprProtocol.java:639)
>     at org.apache.tomcat.util.net.AprEndpoint$Worker.run(
> AprEndpoint.java:1285)
>     at java.lang.Thread.run(Unknown Source)
>


Reply via email to