Bug 352049 - Software Installation Download hangs in Java 7
Summary: Software Installation Download hangs in Java 7
Status: CLOSED DUPLICATE of bug 317785
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: p2 (show other bugs)
Version: 3.5   Edit
Hardware: PC Windows 7
: P3 critical (vote)
Target Milestone: ---   Edit
Assignee: P2 Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-07-14 00:14 EDT by Ronald Steinhau CLA
Modified: 2012-06-14 22:45 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ronald Steinhau CLA 2011-07-14 00:14:19 EDT
Build Identifier: I20110613-1736 and others (3.5,3.6)

When I install software (via standard P2), e.g. Indigo plugins, and using Java 7 (e.g. the latest RC of July 2011 or any older build) the downloads hang after a while (usually showing 48 or 49%). There are error messages related to failing equality checks. Using Java 6 (e.g. update 26) the same install went OK. This effect seems to be there for a long time and applies to all versions of Eclipse and the Java 7 versions of at least the last half year. I am currently using 64 bit versions of Eclipse (tries 3.5, 3.6 and recently 3.7) and the 64 Bit versions of Java (6 and 7). I think it is a bug of Java 7 (but it should be fixed before the final went out - at least this would be better for Eclipse users).

Reproducible: Always

Steps to Reproduce:
1.Install fresh Eclipse (tested with 64 bit on Windows 7 x64)
2.Install new Software, select Indigo, select all modelling (as an example)
3.Start Install - download hangs after a while - but only with Java 7 (RC or earlier)
Comment 1 Dani Megert CLA 2011-07-14 02:02:13 EDT
Can you please attach a stack trace?
Comment 2 Dani Megert CLA 2011-07-14 02:57:04 EDT
Also, anything in .log?

Does passing the following VM argument fix the issue:
-Djava.util.Arrays.useLegacyMergeSort=true
?
Comment 3 Ronald Steinhau CLA 2011-07-14 04:21:44 EDT
The problem messages that appears after downloading most of the plugins:
An internal error occurred during: "Install download3".
Comparison method violates its general contract!
(this message appears several times, e.g. download1, ..., download2 ... download3). 
Once again - it happens only with Java 7!!

Here is the stack trace:
ava.lang.IllegalArgumentException: Comparison method violates its general contract!
	at java.util.ComparableTimSort.mergeLo(ComparableTimSort.java:714)
	at java.util.ComparableTimSort.mergeAt(ComparableTimSort.java:451)
	at java.util.ComparableTimSort.mergeForceCollapse(ComparableTimSort.java:392)
	at java.util.ComparableTimSort.sort(ComparableTimSort.java:191)
	at java.util.ComparableTimSort.sort(ComparableTimSort.java:146)
	at java.util.Arrays.sort(Arrays.java:472)
	at org.eclipse.equinox.internal.p2.artifact.repository.MirrorSelector.hasValidMirror(MirrorSelector.java:319)
	at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.downloadArtifact(SimpleArtifactRepository.java:577)
	at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.getArtifact(SimpleArtifactRepository.java:680)
	at org.eclipse.equinox.internal.p2.artifact.repository.MirrorRequest.getArtifact(MirrorRequest.java:260)
	at org.eclipse.equinox.internal.p2.artifact.repository.MirrorRequest.transferSingle(MirrorRequest.java:235)
	at org.eclipse.equinox.internal.p2.artifact.repository.MirrorRequest.transfer(MirrorRequest.java:191)
	at org.eclipse.equinox.internal.p2.artifact.repository.MirrorRequest.perform(MirrorRequest.java:122)
	at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.getArtifact(SimpleArtifactRepository.java:664)
	at org.eclipse.equinox.internal.p2.artifact.repository.simple.DownloadJob.run(DownloadJob.java:63)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Comment 4 Ronald Steinhau CLA 2011-07-14 04:37:46 EDT
The option -Djava.util.Arrays.useLegacyMergeSort=true seems not to fix the problem. I have added my configuration below:

** Date: Thursday, July 14, 2011 10:36:01 AM Central European Summer Time

*** Platform Details:

*** System properties:
awt.toolkit=sun.awt.windows.WToolkit
eclipse.application=org.eclipse.ui.ide.workbench
eclipse.buildId=I20110613-1736
eclipse.commands=-os
win32
-ws
win32
-arch
x86_64
-showsplash
-launcher
R:\installed\eclipse\e37x64-java7-test\eclipse.exe
-name
Eclipse
--launcher.library
R:\installed\eclipse\e37x64-java7-test\\plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502\eclipse_1406.dll
-startup
R:\installed\eclipse\e37x64-java7-test\\plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.overrideVmargs
-exitdata
2118_7c
-Djava.util.Arrays.useLegacyMergeSort=true
-vm
C:\jdk7-64\bin\javaw.exe
eclipse.home.location=file:/R:/installed/eclipse/e37x64-java7-test/
eclipse.launcher=R:\installed\eclipse\e37x64-java7-test\eclipse.exe
eclipse.launcher.name=Eclipse
eclipse.p2.data.area=@config.dir/../p2
eclipse.p2.profile=SDKProfile
eclipse.product=org.eclipse.sdk.ide
eclipse.startTime=1310631746710
eclipse.vm=C:\jdk7-64\bin\javaw.exe
eclipse.vmargs=-Xms40m
-Xmx384m
-XX:MaxPermSize=256m
-jar
R:\installed\eclipse\e37x64-java7-test\\plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
equinox.use.ds=true
file.encoding=Cp1252
file.encoding.pkg=sun.io
file.separator=\
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.awt.printerjob=sun.awt.windows.WPrinterJob
java.class.path=R:\installed\eclipse\e37x64-java7-test\\plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
java.class.version=51.0
java.endorsed.dirs=C:\jdk7-64\jre\lib\endorsed
java.ext.dirs=C:\jdk7-64\jre\lib\ext;C:\Windows\Sun\Java\lib\ext
java.home=C:\jdk7-64\jre
java.io.tmpdir=C:\Users\st\AppData\Local\Temp\
java.library.path=C:\jdk7-64\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\MySQL\MySQL Server 5.1\bin;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files\TortoiseGit\bin;C:\Program Files\SAS\SharedFiles(32)\Formats;C:\Program Files (x86)\IDM Computer Solutions\UltraEdit\;C:\Program Files (x86)\IDM Computer Solutions\UltraCompare\;C:\Program Files (x86)\CVSNT\;.
java.runtime.name=Java(TM) SE Runtime Environment
java.runtime.version=1.7.0-b147
java.specification.name=Java Platform API Specification
java.specification.vendor=Oracle Corporation
java.specification.version=1.7
java.vendor=Oracle Corporation
java.vendor.url=http://java.oracle.com/
java.vendor.url.bug=http://bugreport.sun.com/bugreport/
java.version=1.7.0
java.vm.info=mixed mode
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
java.vm.specification.name=Java Virtual Machine Specification
java.vm.specification.vendor=Oracle Corporation
java.vm.specification.version=1.7
java.vm.vendor=Oracle Corporation
java.vm.version=21.0-b17
line.separator=

org.eclipse.equinox.launcher.splash.location=r:\installed\eclipse\e37x64-java7-test\plugins\org.eclipse.platform_3.7.0.v201106131736\splash.bmp
org.eclipse.equinox.simpleconfigurator.configUrl=file:org.eclipse.equinox.simpleconfigurator/bundles.info
org.eclipse.update.reconcile=false
org.osgi.framework.executionenvironment=OSGi/Minimum-1.0,OSGi/Minimum-1.1,OSGi/Minimum-1.2,JRE-1.1,J2SE-1.2,J2SE-1.3,J2SE-1.4,J2SE-1.5,JavaSE-1.6,JavaSE-1.7
org.osgi.framework.language=en
org.osgi.framework.os.name=Windows7
org.osgi.framework.os.version=6.1.0
org.osgi.framework.processor=x86-64
org.osgi.framework.system.capabilities=osgi.ee; osgi.ee="OSGi/Minimum"; version:List<Version>="1.0, 1.1, 1.2",osgi.ee; osgi.ee="JavaSE"; version:List<Version>="1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7"
org.osgi.framework.system.packages=javax.accessibility,javax.activation,javax.activity,javax.annotation,javax.annotation.processing,javax.crypto,javax.crypto.interfaces,javax.crypto.spec,javax.imageio,javax.imageio.event,javax.imageio.metadata,javax.imageio.plugins.bmp,javax.imageio.plugins.jpeg,javax.imageio.spi,javax.imageio.stream,javax.jws,javax.jws.soap,javax.lang.model,javax.lang.model.element,javax.lang.model.type,javax.lang.model.util,javax.management,javax.management.event,javax.management.loading,javax.management.modelmbean,javax.management.monitor,javax.management.namespace,javax.management.openmbean,javax.management.relation,javax.management.remote,javax.management.remote.rmi,javax.management.timer,javax.naming,javax.naming.directory,javax.naming.event,javax.naming.ldap,javax.naming.spi,javax.net,javax.net.ssl,javax.print,javax.print.attribute,javax.print.attribute.standard,javax.print.event,javax.rmi,javax.rmi.CORBA,javax.rmi.ssl,javax.script,javax.security.auth,javax.security.auth.callback,javax.security.auth.kerberos,javax.security.auth.login,javax.security.auth.spi,javax.security.auth.x500,javax.security.cert,javax.security.sasl,javax.sound.midi,javax.sound.midi.spi,javax.sound.sampled,javax.sound.sampled.spi,javax.sql,javax.sql.rowset,javax.sql.rowset.serial,javax.sql.rowset.spi,javax.swing,javax.swing.border,javax.swing.colorchooser,javax.swing.event,javax.swing.filechooser,javax.swing.plaf,javax.swing.plaf.basic,javax.swing.plaf.metal,javax.swing.plaf.multi,javax.swing.plaf.nimbus,javax.swing.plaf.synth,javax.swing.table,javax.swing.text,javax.swing.text.html,javax.swing.text.html.parser,javax.swing.text.rtf,javax.swing.tree,javax.swing.undo,javax.tools,javax.transaction,javax.transaction.xa,javax.xml,javax.xml.bind,javax.xml.bind.annotation,javax.xml.bind.annotation.adapters,javax.xml.bind.attachment,javax.xml.bind.helpers,javax.xml.bind.util,javax.xml.crypto,javax.xml.crypto.dom,javax.xml.crypto.dsig,javax.xml.crypto.dsig.dom,javax.xml.crypto.dsig.keyinfo,javax.xml.crypto.dsig.spec,javax.xml.datatype,javax.xml.namespace,javax.xml.parsers,javax.xml.soap,javax.xml.stream,javax.xml.stream.events,javax.xml.stream.util,javax.xml.transform,javax.xml.transform.dom,javax.xml.transform.sax,javax.xml.transform.stax,javax.xml.transform.stream,javax.xml.validation,javax.xml.ws,javax.xml.ws.handler,javax.xml.ws.handler.soap,javax.xml.ws.http,javax.xml.ws.soap,javax.xml.ws.spi,javax.xml.ws.spi.http,javax.xml.ws.wsaddressing,javax.xml.xpath,org.ietf.jgss,org.omg.CORBA,org.omg.CORBA_2_3,org.omg.CORBA_2_3.portable,org.omg.CORBA.DynAnyPackage,org.omg.CORBA.ORBPackage,org.omg.CORBA.portable,org.omg.CORBA.TypeCodePackage,org.omg.CosNaming,org.omg.CosNaming.NamingContextExtPackage,org.omg.CosNaming.NamingContextPackage,org.omg.Dynamic,org.omg.DynamicAny,org.omg.DynamicAny.DynAnyFactoryPackage,org.omg.DynamicAny.DynAnyPackage,org.omg.IOP,org.omg.IOP.CodecFactoryPackage,org.omg.IOP.CodecPackage,org.omg.Messaging,org.omg.PortableInterceptor,org.omg.PortableInterceptor.ORBInitInfoPackage,org.omg.PortableServer,org.omg.PortableServer.CurrentPackage,org.omg.PortableServer.POAManagerPackage,org.omg.PortableServer.POAPackage,org.omg.PortableServer.portable,org.omg.PortableServer.ServantLocatorPackage,org.omg.SendingContext,org.omg.stub.java.rmi,org.w3c.dom,org.w3c.dom.bootstrap,org.w3c.dom.css,org.w3c.dom.events,org.w3c.dom.html,org.w3c.dom.ls,org.w3c.dom.ranges,org.w3c.dom.stylesheets,org.w3c.dom.traversal,org.w3c.dom.views,org.w3c.dom.xpath,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers
org.osgi.framework.uuid=80abb168-f2ad-0010-1a75-84f596d89587
org.osgi.framework.vendor=Eclipse
org.osgi.framework.version=1.6.0
org.osgi.supports.framework.extension=true
org.osgi.supports.framework.fragment=true
org.osgi.supports.framework.requirebundle=true
os.arch=amd64
os.name=Windows 7
os.version=6.1
osgi.arch=x86_64
osgi.bundles=reference:file:org.eclipse.equinox.simpleconfigurator_1.0.200.v20110502-1955.jar@1:start
osgi.bundles.defaultStartLevel=4
osgi.bundlestore=R:\installed\eclipse\e37x64-java7-test\configuration\org.eclipse.osgi\bundles
osgi.configuration.area=file:/R:/installed/eclipse/e37x64-java7-test/configuration/
osgi.framework=file:/r:/installed/eclipse/e37x64-java7-test/plugins/org.eclipse.osgi_3.7.0.v20110613.jar
osgi.framework.extensions=
osgi.framework.shape=jar
osgi.framework.version=3.7.0.v20110613
osgi.install.area=file:/R:/installed/eclipse/e37x64-java7-test/
osgi.instance.area=file:/C:/Users/st/workspace/
osgi.instance.area.default=file:/C:/Users/st/workspace/
osgi.logfile=C:\Users\st\workspace\.metadata\.log
osgi.manifest.cache=R:\installed\eclipse\e37x64-java7-test\configuration\org.eclipse.osgi\manifests
osgi.nl=en_US
osgi.os=win32
osgi.splashLocation=r:\installed\eclipse\e37x64-java7-test\plugins\org.eclipse.platform_3.7.0.v201106131736\splash.bmp
osgi.splashPath=platform:/base/plugins/org.eclipse.platform
osgi.syspath=r:\installed\eclipse\e37x64-java7-test\plugins
osgi.tracefile=C:\Users\st\workspace\.metadata\trace.log
osgi.ws=win32
path.separator=;
sun.arch.data.model=64
sun.boot.class.path=C:\jdk7-64\jre\lib\resources.jar;C:\jdk7-64\jre\lib\rt.jar;C:\jdk7-64\jre\lib\sunrsasign.jar;C:\jdk7-64\jre\lib\jsse.jar;C:\jdk7-64\jre\lib\jce.jar;C:\jdk7-64\jre\lib\charsets.jar;C:\jdk7-64\jre\classes
sun.boot.library.path=C:\jdk7-64\jre\bin
sun.cpu.endian=little
sun.cpu.isalist=amd64
sun.desktop=windows
sun.io.unicode.encoding=UnicodeLittle
sun.java.command=R:\installed\eclipse\e37x64-java7-test\\plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar -os win32 -ws win32 -arch x86_64 -showsplash -launcher R:\installed\eclipse\e37x64-java7-test\eclipse.exe -name Eclipse --launcher.library R:\installed\eclipse\e37x64-java7-test\\plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502\eclipse_1406.dll -startup R:\installed\eclipse\e37x64-java7-test\\plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar --launcher.overrideVmargs -exitdata 2118_7c -Djava.util.Arrays.useLegacyMergeSort=true -vm C:\jdk7-64\bin\javaw.exe -vmargs -Xms40m -Xmx384m -XX:MaxPermSize=256m -jar R:\installed\eclipse\e37x64-java7-test\\plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
sun.java.launcher=SUN_STANDARD
sun.jnu.encoding=Cp1252
sun.management.compiler=HotSpot 64-Bit Tiered Compilers
sun.os.patch.level=Service Pack 1
user.country=US
user.country.format=DE
user.dir=R:\installed\eclipse\e37x64-java7-test
user.home=C:\Users\st
user.language=en
user.language.format=de
user.name=st
user.script=
user.timezone=Europe/Berlin
user.variant=
Comment 5 Dani Megert CLA 2011-07-14 04:41:27 EDT

*** This bug has been marked as a duplicate of bug 317785 ***