Well, I'll attach a pom.xml file which has lot of dependencies and thus it
can be used as an instance of a problem (if running on Win XP, with fast
enough internet access etc so that upper bound of port 5000 is reached
while all ports are in the TIME_WAIT state).

However, if I understand it right, the problem could be reduced to "what
m2e does when it cannot create a new socket and needs to download a jar
needed for the runtime".

If I'm right, the biggest problem with m2e is that it won't recover without
help from the outside (assuming you have several artifacts in the
repository that have the record: "Address already in use: no further
information")
1. If you run the Eclipse build, artifact resolution is not reattempted and
therefore you get undeterministic error based on what exactly is missing in
the local repo
2. If you update the project, artifact resolution is not reattempted either
3. If you check "Force update snapshots/releases" you'll run into the same
problem of consuming all the user ports

Although, I'm still not sure if this is an application level problem or OS
level problem, because "out of system resources" is typically something you
don't handle on the application level, right?..


How to reproduce the problem:
1. Clean local artifacts cache
2. Add settings.xml attached at the end of mail (includes dummy
repositories so that the sockets limit is reached faster)
3. Run Eclipse and import a project from the pom.xml attached at the end of
the mail
4. Now, you can monitor the number of ports in the TIME_WAIT state. If the
number reaches the maximum you'll start to get diverse errors depending on
what exactly was not downloaded.
5. Try to recover from this problem. My experience is that it's not
possible by using m2e only (without running build from the command line)



Attachements (pasted .. sorry for that):



SETTINGS.XML

<?xml version="1.0" encoding="UTF-8"?>
<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd"; xmlns="
http://maven.apache.org/SETTINGS/1.0.0";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>

        <activeProfiles>
                <activeProfile>foo</activeProfile>
        </activeProfiles>

        <profiles>
                <profile>
                        <id>foo</id>

                        <repositories>
                                <repository>
                                        <id>test1</id>
                                        <name>AGF Development team
repository</name>
                                        <url>http://google.com/artifactory/1
</url>
                                        <snapshots>
                                                <enabled>false</enabled>
                                        </snapshots>
                                </repository>
<repository>
                                        <id>test2</id>
                                        <name>AGF Development team
repository</name>
                                        <url>http://google.com/artifactory/2
</url>
                                        <snapshots>
                                                <enabled>false</enabled>
                                        </snapshots>
                                </repository>
<repository>
                                        <id>test3</id>
                                        <name>AGF Development team
repository</name>
                                        <url>http://google.com/artifactory/3
</url>
                                        <snapshots>
                                                <enabled>false</enabled>
                                        </snapshots>
                                </repository>
<repository>
                                        <id>test4</id>
                                        <name>AGF Development team
repository</name>
                                        <url>http://google.com/artifactory/4
</url>
                                        <snapshots>
                                                <enabled>false</enabled>
                                        </snapshots>
                                </repository>
                        </repositories>

                        <pluginRepositories>
                                <pluginRepository>
                                        <id>test2</id>
                                        <name>AGF Development team
repository</name>
                                        <url>http://google.com/artifactory/2
</url>
                                        <snapshots>
                                                <enabled>false</enabled>
                                        </snapshots>
                                </pluginRepository>
                                <pluginRepository>
                                        <id>test1</id>
                                        <name>AGF Development team
repository</name>
                                        <url>http://google.com/artifactory/1
</url>
                                        <snapshots>
                                                <enabled>false</enabled>
                                        </snapshots>
                                </pluginRepository>
                                <pluginRepository>
                                        <id>test3</id>
                                        <name>AGF Development team
repository</name>
                                        <url>http://google.com/artifactory/3
</url>
                                        <snapshots>
                                                <enabled>false</enabled>
                                        </snapshots>
                                </pluginRepository>
                        </pluginRepositories>
                </profile>
        </profiles>
</settings>





POM.XML

<project xmlns="http://maven.apache.org/POM/4.0.0"; xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="
http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd";>

        <modelVersion>4.0.0</modelVersion>
        <groupId>foo</groupId>
        <version>1</version>
        <artifactId>barwar</artifactId>
        <packaging>war</packaging>

        <properties>
                <axis.version>1.5.1</axis.version>
        </properties>

        <build>
                <plugins>
                        <plugin>
                                <artifactId>maven-war-plugin</artifactId>
                                <version>2.2</version>
                                <configuration>

<failOnMissingWebXml>false</failOnMissingWebXml>
                                </configuration>
                        </plugin>
                </plugins>
        </build>


        <dependencies>
                <dependency>
                        <groupId>batik</groupId>
                        <artifactId>batik-1.5-fop</artifactId>
                        <version>0.20-5</version>
                </dependency>

                <dependency>
                        <groupId>batik</groupId>
                        <artifactId>batik-rasterizer</artifactId>
                        <version>1.6-1</version>
                </dependency>

                <dependency>
                        <groupId>javax.xml.bind</groupId>
                        <artifactId>jaxb-api</artifactId>
                        <version>2.1</version>
                </dependency>
                <dependency>
                        <groupId>xml-apis</groupId>
                        <artifactId>xml-apis</artifactId>
                        <version>1.3.02</version>
                </dependency>
                <dependency>
                        <groupId>org.mortbay.jetty</groupId>
                        <artifactId>jetty</artifactId>
                        <version>6.1.24</version>
                </dependency>
                <dependency>
                        <groupId>eclipse</groupId>
                        <artifactId>eclipse-ui</artifactId>
                        <version>2.1.0</version>
                </dependency>
                <dependency>
                        <groupId>eclipse</groupId>
                        <artifactId>eclipse-workbench</artifactId>
                        <version>2.1.0</version>
                </dependency>
                <dependency>
                        <groupId>eclipse</groupId>
                        <artifactId>eclipse-jface</artifactId>
                        <version>2.1.0</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-dependency-plugin</artifactId>
                        <version>2.4</version>
                </dependency>
                <dependency>
                        <groupId>maven</groupId>
                        <artifactId>maven-ear-plugin</artifactId>
                        <version>1.9</version>
                </dependency>
                <dependency>
                        <groupId>tomcat</groupId>
                        <artifactId>tomcat-ajp</artifactId>
                        <version>5.5.23</version>
                </dependency>




                <dependency>
                        <groupId>org.apache.axis2</groupId>
                        <artifactId>axis2-parent</artifactId>
                        <version>${axis.version}</version>
                        <type>pom</type>
                </dependency>
                <dependency>
                        <groupId>org.apache.axis2</groupId>
                        <artifactId>axis2-kernel</artifactId>
                        <version>${axis.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.axis2</groupId>
                        <artifactId>axis2-adb</artifactId>
                        <version>${axis.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.axis2</groupId>
                        <artifactId>axis2-ant-plugin</artifactId>
                        <version>${axis.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.axis2</groupId>
                        <artifactId>axis2-clustering</artifactId>
                        <version>${axis.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.axis2</groupId>
                        <artifactId>axis2-corba</artifactId>
                        <version>${axis.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.axis2</groupId>
                        <artifactId>axis2-fastinfoset</artifactId>
                        <version>${axis.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.axis2</groupId>
                        <artifactId>axis2-java2wsdl</artifactId>
                        <version>${axis.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.axis2</groupId>
                        <artifactId>axis2-jaxbri</artifactId>
                        <version>${axis.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.axis2</groupId>
                        <artifactId>axis2-jaxws</artifactId>
                        <version>${axis.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.axis2</groupId>
                        <artifactId>axis2-jibx</artifactId>
                        <version>${axis.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.axis2</groupId>
                        <artifactId>axis2-json</artifactId>
                        <version>${axis.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.axis2</groupId>
                        <artifactId>axis2-metadata</artifactId>
                        <version>${axis.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.axis2</groupId>
                        <artifactId>axis2-mtompolicy</artifactId>
                        <version>${axis.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.axis2</groupId>
                        <artifactId>axis2-saaj</artifactId>
                        <version>${axis.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.axis2</groupId>
                        <artifactId>axis2-spring</artifactId>
                        <version>${axis.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.axis2</groupId>
                        <artifactId>axis2-transport-http</artifactId>
                        <version>${axis.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.axis2</groupId>
                        <artifactId>axis2-transport-local</artifactId>
                        <version>${axis.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.axis2</groupId>
                        <artifactId>axis2-xmlbeans</artifactId>
                        <version>${axis.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.axis2</groupId>
                        <artifactId>soapmonitor</artifactId>
                        <version>${axis.version}</version>
                        <type>mar</type>
                </dependency>

        </dependencies>
</project>



Regards,
Stepan
_______________________________________________
m2e-users mailing list
m2e-users@eclipse.org
https://dev.eclipse.org/mailman/listinfo/m2e-users

Reply via email to