| Summary: | [SSH2] eclipse freezes during CVS | ||
|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | caschrei |
| Component: | CVS | Assignee: | Atsuhiko Yamanaka <ymnk> |
| Status: | RESOLVED INVALID | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | minfrin, ymnk |
| Version: | 3.0 | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Whiteboard: | |||
It appears that the first entry (ModalContext) in the trace is blocked on code that is obtaining a seed for secure random number generation. This is blocking another Modal Context (I don't know why there are two of these. There should only be one). I will try to reproduce this. In the meantime, could you try another VM. The first entry that is blocked in in code that is part of the class library and it doesn't appear that it should be blocked. I have tried the supplied steps with the mentioned VM using RedHat 9.0 and whatever GTK comes with that and was not able to reproduce the problem. However, I did uncover a few bugs in this area which may contribute to this blockage (i.e. the multiple ModalContext threads). I am going to submit a fix to these to the 3.0.1 build and ask you to pick up the 3.0.1 integration build when it is available to see if the fix helps. If it doesn't, please reopen this with a new stack trace. I will mark this FIXED once I have released the fixes for the bugs I found. I have now reproduced this bug with VM J2SE 1.5.0beta2 (and Eclipse 3.0.0). However, that VM will not give me a stack trace when I send it a kill -3. Please let me know if there are additional tests I can constructively run. Thank you for your efforts. -- Christian As I said above, I found a few bugs that could cause a deadlock and fixed them. However, I am not convinced this fixes the problom reported in this bug. I have released the fix to 3.0.1 and to HEAD. Please get either tomorrows 3.0.1 build (should be available at 9-10 a.m. EST) or tonights nightly build and try it out. If you still get the blockage, please reopen and attach a new stacktrace. I was able to reproduce the lockup and got this stack trace. I'm using
my usual Sun VM, and the workspace and project I originally observed this bug
on. Eclipse release is eclipse-SDK-M20040721-linux-gtk. See the stack trace below.
Keep me posted on what I can do to help diagnose and fix this. If it would be
useful to have a stack trace of this behavior in a blank workspace, I'm willing
to generate that, too.
Thanks to Michael and all others involved for their consideration.
-- Christian
Stack trace:
------------
Full thread dump Java HotSpot(TM) Client VM (1.4.2_03-b02 mixed mode):
"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x08958ec0
nid=0x3098 in Object.wait() [4f334000..4f3348b8]
at java.lang.Object.wait(Native Method)
- waiting on <0x46247ae8> (a
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
at
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:176)
- locked <0x46247ae8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)
"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x085965b0
nid=0x3095 in Object.wait() [4f232000..4f2328b8]
at java.lang.Object.wait(Native Method)
- waiting on <0x45fd8668> (a
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
at
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:176)
- locked <0x45fd8668> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)
"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x085ac5c8
nid=0x3074 in Object.wait() [4ef9a000..4ef9a8b8]
at java.lang.Object.wait(Native Method)
- waiting on <0x45816448> (a
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
at
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:176)
- locked <0x45816448> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)
"Worker-1" prio=1 tid=0x081a2430 nid=0x3070 in Object.wait() [4ce6e000..4ce6e8b8]
at java.lang.Object.wait(Native Method)
- waiting on <0x44e45f20> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:166)
- locked <0x44e45f20> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:193)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59)
"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x08617a90
nid=0x306d in Object.wait() [4ecc1000..4ecc18b8]
at java.lang.Object.wait(Native Method)
- waiting on <0x4548ab20> (a
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
at
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:176)
- locked <0x4548ab20> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)
"Worker-0" prio=1 tid=0x084ce570 nid=0x306c runnable [4e856000..4e8568b8]
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(FileInputStream.java:194)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:220)
at java.io.BufferedInputStream.read(BufferedInputStream.java:277)
- locked <0x448044c8> (a java.io.BufferedInputStream)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:222)
at java.io.BufferedInputStream.read(BufferedInputStream.java:277)
- locked <0x448042c0> (a java.io.BufferedInputStream)
at
sun.security.provider.SeedGenerator$URLSeedGenerator.getSeedByte(SeedGenerator.java:467)
at sun.security.provider.SeedGenerator.getSeedBytes(SeedGenerator.java:137)
at sun.security.provider.SeedGenerator.generateSeed(SeedGenerator.java:132)
at
sun.security.provider.SecureRandom.engineGenerateSeed(SecureRandom.java:112)
at sun.security.provider.SecureRandom.engineNextBytes(SecureRandom.java:169)
- locked <0x44800730> (a sun.security.provider.SecureRandom)
at java.security.SecureRandom.nextBytes(SecureRandom.java:381)
- locked <0x44800a88> (a java.security.SecureRandom)
at com.jcraft.jsch.jce.Random.fill(Unknown Source)
at com.jcraft.jsch.Session.send_kexinit(Unknown Source)
at com.jcraft.jsch.Session.receive_kexinit(Unknown Source)
at com.jcraft.jsch.Session.connect(Unknown Source)
at
org.eclipse.team.internal.ccvs.ssh2.JSchSession.getSession(JSchSession.java:306)
at
org.eclipse.team.internal.ccvs.ssh2.CVSSSH2ServerConnection.internalOpen(CVSSSH2ServerConnection.java:117)
at
org.eclipse.team.internal.ccvs.ssh2.CVSSSH2ServerConnection.open(CVSSSH2ServerConnection.java:99)
at
org.eclipse.team.internal.ccvs.core.connection.Connection.open(Connection.java:127)
at
org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation.createConnection(CVSRepositoryLocation.java:575)
at
org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation.openConnection(CVSRepositoryLocation.java:821)
- locked <0x449c0060> (a java.lang.Object)
at org.eclipse.team.internal.ccvs.core.client.Session.open(Session.java:142)
at
org.eclipse.team.internal.ccvs.ui.operations.SingleCommandOperation.execute(SingleCommandOperation.java:42)
at
org.eclipse.team.internal.ccvs.ui.operations.RepositoryProviderOperation.execute(RepositoryProviderOperation.java:59)
at
org.eclipse.team.internal.ccvs.ui.operations.CommitOperation.execute(CommitOperation.java:68)
at
org.eclipse.team.internal.ccvs.ui.operations.CVSOperation.run(CVSOperation.java:84)
at
org.eclipse.team.internal.ui.actions.JobRunnableContext.run(JobRunnableContext.java:159)
at
org.eclipse.team.internal.ui.actions.JobRunnableContext$3.runInWorkspace(JobRunnableContext.java:179)
at
org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)
"Java indexing" daemon prio=1 tid=0x084ccea8 nid=0x306b in Object.wait()
[4e7d5000..4e7d58b8]
at java.lang.Object.wait(Native Method)
- waiting on <0x44f6e9d0> (a
org.eclipse.jdt.internal.core.search.indexing.IndexManager)
at java.lang.Object.wait(Object.java:429)
at
org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:338)
- locked <0x44f6e9d0> (a
org.eclipse.jdt.internal.core.search.indexing.IndexManager)
at java.lang.Thread.run(Thread.java:534)
"Reference Cleaner - 2" prio=1 tid=0x0806e050 nid=0x306a in Object.wait()
[4dd9b000..4dd9b8b8]
at java.lang.Object.wait(Native Method)
- waiting on <0x44ef90c8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
- locked <0x44ef90c8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
at
org.eclipse.jface.action.ActionContributionItem$ImageCache$ReferenceCleanerThread.run(ActionContributionItem.java:207)
"Reference Cleaner - 1" prio=1 tid=0x0806dd58 nid=0x3069 in Object.wait()
[4dd1a000..4dd1a8b8]
at java.lang.Object.wait(Native Method)
- waiting on <0x44ef9138> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
- locked <0x44ef9138> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
at
org.eclipse.jface.action.ActionContributionItem$ImageCache$ReferenceCleanerThread.run(ActionContributionItem.java:207)
"Start Level Event Dispatcher" daemon prio=1 tid=0x08261930 nid=0x3067 in
Object.wait() [4cfff000..4cfff8b8]
at java.lang.Object.wait(Native Method)
- waiting on <0x44ccbbe0> (a
org.eclipse.osgi.framework.eventmgr.EventThread)
at java.lang.Object.wait(Object.java:429)
at
org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent(EventThread.java:162)
- locked <0x44ccbbe0> (a org.eclipse.osgi.framework.eventmgr.EventThread)
at org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:100)
"Framework Event Dispatcher" daemon prio=1 tid=0x082562c8 nid=0x3066 in
Object.wait() [4cf7e000..4cf7e8b8]
at java.lang.Object.wait(Native Method)
- waiting on <0x44cbe420> (a
org.eclipse.osgi.framework.eventmgr.EventThread)
at java.lang.Object.wait(Object.java:429)
at
org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent(EventThread.java:162)
- locked <0x44cbe420> (a org.eclipse.osgi.framework.eventmgr.EventThread)
at org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:100)
"Signal Dispatcher" daemon prio=1 tid=0x0809fe78 nid=0x304c waiting on condition
[0..0]
"Finalizer" daemon prio=1 tid=0x0808afd0 nid=0x3043 in Object.wait()
[4c952000..4c9528b8]
at java.lang.Object.wait(Native Method)
- waiting on <0x44c39af0> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
- locked <0x44c39af0> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
"Reference Handler" daemon prio=1 tid=0x0808a440 nid=0x3040 in Object.wait()
[4c8d1000..4c8d18b8]
at java.lang.Object.wait(Native Method)
- waiting on <0x44c39b58> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:429)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115)
- locked <0x44c39b58> (a java.lang.ref.Reference$Lock)
"main" prio=1 tid=0x08052708 nid=0x3011 in Object.wait() [bfffc000..bfffd148]
at java.lang.Object.wait(Native Method)
- waiting on <0x48ae9878> (a java.lang.Class)
at org.eclipse.swt.widgets.Display.sleep(Display.java:2867)
- locked <0x48ae9878> (a java.lang.Class)
at
org.eclipse.ui.application.WorkbenchAdvisor.eventLoopIdle(WorkbenchAdvisor.java:344)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1378)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1348)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:254)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:96)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:335)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.eclipse.core.launcher.Main.basicRun(Main.java:183)
at org.eclipse.core.launcher.Main.run(Main.java:644)
at org.eclipse.core.launcher.Main.main(Main.java:628)
"VM Thread" prio=1 tid=0x080871b8 nid=0x303c runnable
"VM Periodic Task Thread" prio=1 tid=0x080a25b8 nid=0x304e waiting on condition
"Suspend Checker Thread" prio=1 tid=0x0809f520 nid=0x304b runnable
It appears that the blockage is in the same place. I don't understand why the thread would block on a file read (as it appears to be). Since this is happening in the SSH2 code, I am copying ymnk who provides the underlying SSH2 support in case he has any wisdom that may help. Ok. Let me know if I can help him/her. -- Christian Hi, You will find that problem has occured in java.security.SecureRandom. I guess that your kernel entropy pool has been empty. Please refer to '<java.home>/lib/security/java.security' file on your GNU/Linux system. How about adding '-Djava.security.egd=file:/dev/urandom' in starting Eclipse? The section '7.3. Kernel Devices' in http://www.linuxsecurity.com/docs/LDP/Security-HOWTO/kernel-security.html will be useful to understand what has happend. Good point, but making the suggested changes just changed the point where
Eclipse locked up from 5% to 10% on the progress bar. I'm including a stack
dump for analysis. I'm using integration build eclipse-SDK-M20040721-linux-gtk
and the -Djava.../dev/urandom on the command line.
Michael's changes that fed into the integration build are helping; setting the
java.security file makes Eclipse 3.0.0 lock up at 0% instead of at 5%. I saved
stack traces of using -D.../dev/urandom as well as modifying the java.security
file. I also saved stack traces of these if they will be useful.
Is there anything else I should be looking at?
Continuing thanks to all who have contributed.
-- Christian
Uses Eclipse eclipse-SDK-M20040721-linux-gtk with
-Djava.security.egd=file:/dev/urandom
Full thread dump Java HotSpot(TM) Client VM (1.4.2_03-b02 mixed mode):
"ModalContext" prio=1 tid=0x085dd620 nid=0x4fc5 runnable
[4e471000..4e4718b8]
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(FileInputStream.java:194)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:220)
at java.io.BufferedInputStream.read(BufferedInputStream.java:277)
- locked <0x447afa08> (a java.io.BufferedInputStream)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:222)
at java.io.BufferedInputStream.read(BufferedInputStream.java:277)
- locked <0x447af800> (a java.io.BufferedInputStream)
at
sun.security.provider.SeedGenerator$URLSeedGenerator.getSeedByte(SeedGenerator.j
ava:467)
at
sun.security.provider.SeedGenerator.getSeedBytes(SeedGenerator.java:137)
at
sun.security.provider.SeedGenerator.generateSeed(SeedGenerator.java:132)
at
sun.security.provider.SecureRandom.engineGenerateSeed(SecureRandom.java:112)
at
sun.security.provider.SecureRandom.engineNextBytes(SecureRandom.java:169)
- locked <0x447ab6e0> (a sun.security.provider.SecureRandom)
at java.security.SecureRandom.nextBytes(SecureRandom.java:381)
- locked <0x447aba38> (a java.security.SecureRandom)
at com.jcraft.jsch.jce.Random.fill(Unknown Source)
at com.jcraft.jsch.Session.send_kexinit(Unknown Source)
at com.jcraft.jsch.Session.receive_kexinit(Unknown Source)
at com.jcraft.jsch.Session.connect(Unknown Source)
at
org.eclipse.team.internal.ccvs.ssh2.JSchSession.getSession(JSchSession.java:306)
at
org.eclipse.team.internal.ccvs.ssh2.CVSSSH2ServerConnection.internalOpen(CVSSSH2
ServerConnection.java:117)
at
org.eclipse.team.internal.ccvs.ssh2.CVSSSH2ServerConnection.open(CVSSSH2ServerCo
nnection.java:99)
at
org.eclipse.team.internal.ccvs.core.connection.Connection.open(Connection.java:1
27)
at
org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation.createConne
ction(CVSRepositoryLocation.java:575)
at
org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation.openConnect
ion(CVSRepositoryLocation.java:821)
- locked <0x447d0278> (a java.lang.Object)
at
org.eclipse.team.internal.ccvs.core.client.Session.open(Session.java:142)
at
org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation.validateCon
nection(CVSRepositoryLocation.java:956)
at
org.eclipse.team.internal.ccvs.ui.wizards.ModuleSelectionPage$2.run(ModuleSelect
ionPage.java:157)
at
org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.jav
a:101)
"Worker-2" prio=1 tid=0x0808e948 nid=0x4fc3 in Object.wait()
[4e064000..4e0648b8]
at java.lang.Object.wait(Native Method)
- waiting on <0x44e31348> (a
org.eclipse.core.internal.jobs.WorkerPool)
at
org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:166)
- locked <0x44e31348> (a org.eclipse.core.internal.jobs.WorkerPool)
at
org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:193)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59)
"Worker-1" prio=1 tid=0x08543b60 nid=0x4fc2 in Object.wait()
[4ce6e000..4ce6e8b8]
at java.lang.Object.wait(Native Method)
- waiting on <0x44e31348> (a
org.eclipse.core.internal.jobs.WorkerPool)
at
org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:166)
- locked <0x44e31348> (a org.eclipse.core.internal.jobs.WorkerPool)
at
org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:193)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59)
"Worker-0" prio=1 tid=0x08488230 nid=0x4fc1 in Object.wait()
[4de96000..4de968b8]
at java.lang.Object.wait(Native Method)
- waiting on <0x44e31348> (a
org.eclipse.core.internal.jobs.WorkerPool)
at
org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:166)
- locked <0x44e31348> (a org.eclipse.core.internal.jobs.WorkerPool)
at
org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:193)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59)
"Reference Cleaner - 2" prio=1 tid=0x083c19a0 nid=0x4fc0 in Object.wait()
[4ddfb000..4ddfb8b8]
at java.lang.Object.wait(Native Method)
- waiting on <0x44e90a00> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
- locked <0x44e90a00> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
at
org.eclipse.jface.action.ActionContributionItem$ImageCache$ReferenceCleanerThrea
d.run(ActionContributionItem.java:207)
"Reference Cleaner - 1" prio=1 tid=0x083bed70 nid=0x4fbf in Object.wait()
[4dd7a000..4dd7a8b8]
at java.lang.Object.wait(Native Method)
- waiting on <0x44e90a70> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
- locked <0x44e90a70> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
at
org.eclipse.jface.action.ActionContributionItem$ImageCache$ReferenceCleanerThrea
d.run(ActionContributionItem.java:207)
"Start Level Event Dispatcher" daemon prio=1 tid=0x0823d448 nid=0x4fbd in
Object.wait() [4cfff000..4cfff8b8]
at java.lang.Object.wait(Native Method)
- waiting on <0x44cb8048> (a
org.eclipse.osgi.framework.eventmgr.EventThread)
at java.lang.Object.wait(Object.java:429)
at
org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent(EventThread.java:16
2)
- locked <0x44cb8048> (a
org.eclipse.osgi.framework.eventmgr.EventThread)
at
org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:100)
"Framework Event Dispatcher" daemon prio=1 tid=0x0825dda0 nid=0x4fbc in
Object.wait() [4cf7e000..4cf7e8b8]
at java.lang.Object.wait(Native Method)
- waiting on <0x44cb8100> (a
org.eclipse.osgi.framework.eventmgr.EventThread)
at java.lang.Object.wait(Object.java:429)
at
org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent(EventThread.java:16
2)
- locked <0x44cb8100> (a
org.eclipse.osgi.framework.eventmgr.EventThread)
at
org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:100)
"Signal Dispatcher" daemon prio=1 tid=0x0809ffa0 nid=0x4fb7 waiting on
condition [0..0]
"Finalizer" daemon prio=1 tid=0x0808b110 nid=0x4fb5 in Object.wait()
[4c952000..4c9528b8]
at java.lang.Object.wait(Native Method)
- waiting on <0x44c39208> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
- locked <0x44c39208> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
"Reference Handler" daemon prio=1 tid=0x0808a550 nid=0x4fb4 in Object.wait()
[4c8d1000..4c8d18b8]
at java.lang.Object.wait(Native Method)
- waiting on <0x44c39270> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:429)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115)
- locked <0x44c39270> (a java.lang.ref.Reference$Lock)
"main" prio=1 tid=0x08052a70 nid=0x4fb1 in Object.wait()
[bfffc000..bfffd048]
at java.lang.Object.wait(Native Method)
- waiting on <0x48ae4930> (a java.lang.Class)
at org.eclipse.swt.widgets.Display.sleep(Display.java:2867)
- locked <0x48ae4930> (a java.lang.Class)
at
org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.j
ava:137)
at
org.eclipse.jface.operation.ModalContext.run(ModalContext.java:262)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:752)
at
org.eclipse.team.internal.ccvs.ui.wizards.ModuleSelectionPage.updateEnablements(
ModuleSelectionPage.java:154)
at
org.eclipse.team.internal.ccvs.ui.wizards.ModuleSelectionPage$1.handleEvent(Modu
leSelectionPage.java:73)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:954)
at
org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2595)
at
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2298)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:668)
at org.eclipse.jface.window.Window.open(Window.java:648)
at
org.eclipse.ui.actions.NewProjectAction.run(NewProjectAction.java:111)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:881)
at
org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionCont
ributionItem.java:915)
at
org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.
java:866)
at
org.eclipse.jface.action.ActionContributionItem$7.handleEvent(ActionContribution
Item.java:785)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:954)
at
org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2595)
at
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2298)
at
org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1377)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1348)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:254)
at
org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141)
at
org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:96)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java
:335)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav
a:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.eclipse.core.launcher.Main.basicRun(Main.java:183)
at org.eclipse.core.launcher.Main.run(Main.java:644)
at org.eclipse.core.launcher.Main.main(Main.java:628)
"VM Thread" prio=1 tid=0x080872e8 nid=0x4fb3 runnable
"VM Periodic Task Thread" prio=1 tid=0x080a26f0 nid=0x4fb9 waiting on
condition
"Suspend Checker Thread" prio=1 tid=0x0809f618 nid=0x4fb6 runnable
Hi, How about the result of 'cat /dev/urandom | od -x' on your GNU/Linux system? Do you get endless lines? Yes, I do get endless lines. FYI, I get no output if I type cat /dev/random | od -x (substituting /dev/random for /dev/urandom). Continuing thanks for all who are contributing to the solutions, Christian Thank you for feedback,
So,... I'm guessing that your JVM is still referring to
/dev/random.
Have you appended '-vmargs' to '-Djava.security.egd=file:/dev/urandom' in
setting as options to Eclipse commandline?
Anyway, if that Linux box is your private system, can you try as follows?
# cd /dev
# mv /dev/random /dev/random.ORG
# ln -s urandom random
Of course, it is just for testing.
FYI, it seems OpenSSH on GNU/Linux is using /dev/urandom,
# $ strace ssh localhost 2>&1 | grep random
# open("/dev/urandom", O_RDONLY|O_NONBLOCK|O_NOCTTY) = 3
Confirmed. Adding the -vmargs before the -Djava...urandom lets us workaround the problem. I think this further confirms the hypothesis that our local machine's /dev/random device is not getting enough entropy to respond in a reasonable amount of time. (But if so, why does `cat /dev/random | od -x` yield nothing, but command-line ssh has no problem establishing connections? Does command-line ssh use /dev/urandom or some other source of random numbers?) Two questions: 1: Is there a recommended permanent solution? (If it needs to be upgrading our kernel or doing something else outside of Eclipse's scope, that is understandable.) 2: would there be some point in modifying the Eclipse source so an unreasonable wait for an SSH operation to complete generates an appropriate error message instead of freezing Eclipse? If so, I'd be willing to try to do that if someone can point me to the preferred spots in the Eclipse source. Thanks to all those who have contributed to our progress on this. -- Christian | (But if so, why does `cat /dev/random | od -x` |yield nothing, but command-line ssh has no problem establishing connections? |Does command-line ssh use /dev/urandom or some other source of random numbers?) As I wrote in my last message, it seems OpenSSH's ssh has used /dev/urandom. In more precisely, it seems OpenSSL library has refrred to that special file. Right, you did say that. Thanks. Is the permanent fix then to fix the kernel? Or something in Eclipse, or something else altogether? Also, Michael, are you interested in entertaining an improvement to Eclipse to inform the user when a ssh operation is taking too long? -- Christian Moving away from 3.0.1. If there is a way to read from random with a timeout, then that would be an improvement. But I don't think the JDK has that support. We could althought implement our usual non-blocking read code via a dedicated thread. *** Bug 69946 has been marked as a duplicate of this bug. *** How about evaluating following lines?
if(System.getProperty("java.security.egd","").equals("file:/dev/random")){
System.setProperty("java.security.egd", "file:/dev/urandom");
}
in loading cvs-ssh2 plugin? I have not confirmed if such a changing is
effective at run time, but it may be worth trying.
Anyway, even if you can interrupt radom number reading operation,
you will not be able to enjoy stably that plug-in without using /dev/urandom,
at least on your platform.
Marking as invalid as this seems to me to be an OS/Java configuration issue. |
To: eclipse newsgroup Subject: CVS access causes Eclipse 3.0.0 to freeze Our Eclipse 3.0.0 installation locks up when we try to access a CVS repository on the same Linux box. The simplest way to replicate this problem is: * log on to the machine running our CVS repository, call it "bigboy". * start Eclipse on a blank workspace * click on File -> New -> Project * in the New Project wizard, expand CVS, select "Checkout Projects From CVS", and click on "next". * enter a host name ("bigboy"), repository path, valid user name, valid password, specify "extssh" as connection type; click on "use default port", then click on "next". The progress bar makes it to about 5%, and then the Eclipse process freezes and becomes completely unresponsive. We have let it stay frozen for a few hours without seeing any signs of progress. (Alternately, you can ask Eclipse's New Project wizard to show a list of valid CVS modules, in which case Eclipse tries to query CVS and freezes at the 25% point.) Michael Valenta requested that I post a stack trace for this problem in Bugzilla. (I originally reported it on the eclipse newsgroup on 19jul2004 at 17:46). I generated two stack traces, and am including both of them because they are different. After the stack traces I am including a description of the issue's misbehavior copied from the original newsgroup posting. Please let me know if there is other information I can provide to help troubleshoot this. Sincerely, Christian Schreiner caschrei@rockwellcollins.com Stack dump #1 (generated via `kill -3 <java_pid>`): 1> Full thread dump Java HotSpot(TM) Client VM (1.4.2_03-b02 mixed mode): 1> 1> "ModalContext" prio=1 tid=0x08682650 nid=0x22df runnable 1> [4e617000..4e6178b8] 1> at java.io.FileInputStream.readBytes(Native Method) 1> at java.io.FileInputStream.read(FileInputStream.java:194) 1> at java.io.BufferedInputStream.read1(BufferedInputStream.java:220) 1> at java.io.BufferedInputStream.read(BufferedInputStream.java:277) 1> - locked <0x450e8138> (a java.io.BufferedInputStream) 1> 1> at java.io.BufferedInputStream.fill(BufferedInputStream.java:183) 1> at java.io.BufferedInputStream.read1(BufferedInputStream.java:222) 1> at java.io.BufferedInputStream.read(BufferedInputStream.java:277) 1> - locked <0x450e8158> (a java.io.BufferedInputStream) 1> at 1> sun.security.provider.SeedGenerator$URLSeedGenerator.getSeedByte(SeedGenerator.java:467) 1> at 1> sun.security.provider.SeedGenerator.getSeedBytes(SeedGenerator.java:137) 1> at 1> sun.security.provider.SeedGenerator.generateSeed(SeedGenerator.java:132) 1> at 1> sun.security.provider.SecureRandom.engineGenerateSeed(SecureRandom.java:112) 1> at 1> sun.security.provider.SecureRandom.engineNextBytes(SecureRandom.java:169) 1> - locked <0x450e81b8> (a sun.security.provider.SecureRandom) 1> at java.security.SecureRandom.nextBytes(SecureRandom.java:381) 1> - locked <0x450e8208> (a java.security.SecureRandom) 1> at com.jcraft.jsch.jce.Random.fill(Unknown Source) 1> at com.jcraft.jsch.Session.send_kexinit(Unknown Source) 1> at com.jcraft.jsch.Session.receive_kexinit(Unknown Source) 1> at com.jcraft.jsch.Session.connect(Unknown Source) 1> at 1> org.eclipse.team.internal.ccvs.ssh2.JSchSession.getSession(JSchSession.java:306) 1> at 1> org.eclipse.team.internal.ccvs.ssh2.CVSSSH2ServerConnection.internalOpen(CVSSSH2ServerConnection.java:117) 1> at 1> org.eclipse.team.internal.ccvs.ssh2.CVSSSH2ServerConnection.open(CVSSSH2ServerConnection.java:99) 1> at 1> org.eclipse.team.internal.ccvs.core.connection.Connection.open(Connection.java:127) 1> at 1> org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation.createConnection(CVSRepositoryLocation.java:575) 1> at 1> org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation.openConnection(CVSRepositoryLocation.java:821) 1> - locked <0x450de618> (a java.lang.Object) 1> at 1> org.eclipse.team.internal.ccvs.core.client.Session.open(Session.java:142) 1> at 1> org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation.validateConnection(CVSRepositoryLocation.java:956) 1> at 1> org.eclipse.team.internal.ccvs.ui.wizards.ModuleSelectionPage$2.run(ModuleSelectionPage.java:143) 1> at 1> org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:101) 1> 1> "ModalContext" prio=1 tid=0x08740448 nid=0x22de waiting for monitor entry 1> [4ce6e000..4ce6e8b8] 1> at 1> org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation.openConnection(CVSRepositoryLocation.java:799) 1> - waiting to lock <0x450de618> (a java.lang.Object) 1> at 1> org.eclipse.team.internal.ccvs.core.client.Session.open(Session.java:142) 1> at 1> org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation.validateConnection(CVSRepositoryLocation.java:956) 1> at 1> org.eclipse.team.internal.ccvs.ui.wizards.ModuleSelectionPage$2.run(ModuleSelectionPage.java:143) 1> at 1> org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:101) 1> 1> "Worker-1" prio=1 tid=0x08592c78 nid=0x22dd in Object.wait() 1> [4e386000..4e3868b8] 1> at java.lang.Object.wait(Native Method) 1> - waiting on <0x44e46348> (a 1> org.eclipse.core.internal.jobs.WorkerPool) 1> at 1> org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:166) 1> - locked <0x44e46348> (a org.eclipse.core.internal.jobs.WorkerPool) 1> at 1> org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:193) 1> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59) 1> 1> "Reference Cleaner - 2" prio=1 tid=0x08367540 nid=0x22d2 in Object.wait() 1> [4dd9b000..4dd9b8b8] 1> at java.lang.Object.wait(Native Method) 1> 1> - waiting on <0x44f01b88> (a java.lang.ref.ReferenceQueue$Lock) 1> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) 1> - locked <0x44f01b88> (a java.lang.ref.ReferenceQueue$Lock) 1> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127) 1> at 1> org.eclipse.jface.action.ActionContributionItem$ImageCache$ReferenceCleanerThread.run(ActionContributionItem.java:207) 1> 1> "Reference Cleaner - 1" prio=1 tid=0x08367248 nid=0x22d1 in Object.wait() 1> [4dd1a000..4dd1a8b8] 1> at java.lang.Object.wait(Native Method) 1> - waiting on <0x44f01bf8> (a java.lang.ref.ReferenceQueue$Lock) 1> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) 1> - locked <0x44f01bf8> (a java.lang.ref.ReferenceQueue$Lock) 1> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127) 1> at 1> org.eclipse.jface.action.ActionContributionItem$ImageCache$ReferenceCleanerThread.run(ActionContributionItem.java:207) 1> 1> "Start Level Event Dispatcher" daemon prio=1 tid=0x08263420 nid=0x22cf in 1> Object.wait() [4cfff000..4cfff8b8] 1> at java.lang.Object.wait(Native Method) 1> - waiting on <0x44ccd160> (a 1> org.eclipse.osgi.framework.eventmgr.EventThread) 1> at java.lang.Object.wait(Object.java:429) 1> at 1> org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent(EventThread.java:162) 1> - locked <0x44ccd160> (a 1> org.eclipse.osgi.framework.eventmgr.EventThread) 1> at 1> org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:100) 1> 1> "Framework Event Dispatcher" daemon prio=1 tid=0x0825db18 nid=0x22ce in 1> Object.wait() [4cf7e000..4cf7e8b8] 1> at java.lang.Object.wait(Native Method) 1> - waiting on <0x44cbf9d8> (a 1> org.eclipse.osgi.framework.eventmgr.EventThread) 1> at java.lang.Object.wait(Object.java:429) 1> at 1> org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent(EventThread.java:162) 1> - locked <0x44cbf9d8> (a 1> org.eclipse.osgi.framework.eventmgr.EventThread) 1> at 1> org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:100) 1> 1> "Signal Dispatcher" daemon prio=1 tid=0x0809fda8 nid=0x22c9 waiting on 1> condition [0..0] 1> 1> "Finalizer" daemon prio=1 tid=0x0808af38 nid=0x22c7 in Object.wait() 1> [4c952000..4c9528b8] 1> at java.lang.Object.wait(Native Method) 1> - waiting on <0x44c3a518> (a java.lang.ref.ReferenceQueue$Lock) 1> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) 1> - locked <0x44c3a518> (a java.lang.ref.ReferenceQueue$Lock) 1> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127) 1> at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) 1> 1> "Reference Handler" daemon prio=1 tid=0x0808a378 nid=0x22c6 in Object.wait() 1> [4c8d1000..4c8d18b8] 1> at java.lang.Object.wait(Native Method) 1> - waiting on <0x44c3a580> (a java.lang.ref.Reference$Lock) 1> at java.lang.Object.wait(Object.java:429) 1> at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115) 1> - locked <0x44c3a580> (a java.lang.ref.Reference$Lock) 1> 1> "main" prio=1 tid=0x08052880 nid=0x22c3 in Object.wait() 1> [bfffc000..bfffd228] 1> at java.lang.Object.wait(Native Method) 1> at org.eclipse.swt.widgets.Display.sleep(Display.java:2867) 1> - locked <0x48ae9878> (a java.lang.Class) 1> at 1> org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:137) 1> 1> at 1> org.eclipse.jface.operation.ModalContext.run(ModalContext.java:262) 1> at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:752) 1> at 1> org.eclipse.team.internal.ccvs.ui.wizards.ModuleSelectionPage.updateEnablements(ModuleSelectionPage.java:140) 1> at 1> org.eclipse.team.internal.ccvs.ui.wizards.ModuleSelectionPage$1.handleEvent(ModuleSelectionPage.java:70) 1> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) 1> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:954) 1> at 1> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2595) 1> at 1> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2298) 1> at 1> org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:136) 1> at 1> org.eclipse.jface.operation.ModalContext.run(ModalContext.java:262) 1> at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:752) 1> at 1> org.eclipse.team.internal.ccvs.ui.wizards.ModuleSelectionPage.updateEnablements(ModuleSelectionPage.java:140) 1> at 1> org.eclipse.team.internal.ccvs.ui.wizards.ModuleSelectionPage$1.handleEvent(ModuleSelectionPage.java:70) 1> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) 1> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:954) 1> at 1> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2595) 1> at 1> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2298) 1> at org.eclipse.jface.window.Window.runEventLoop(Window.java:668) 1> at org.eclipse.jface.window.Window.open(Window.java:648) 1> at 1> org.eclipse.ui.actions.NewProjectAction.run(NewProjectAction.java:111) 1> at org.eclipse.jface.action.Action.runWithEvent(Action.java:881) 1> at 1> org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:915) 1> at 1> org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:866) 1> at 1> org.eclipse.jface.action.ActionContributionItem$7.handleEvent(ActionContributionItem.java:785) 1> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) 1> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:954) 1> at 1> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2595) 1> at 1> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2298) 1> at 1> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1377) 1> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1348) 1> at 1> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:254) 1> at 1> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141) 1> at 1> org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:96) 1> at 1> org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:335) 1> at 1> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273) 1> at 1> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129) 1> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 1> at 1> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 1> at 1> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 1> at java.lang.reflect.Method.invoke(Method.java:324) 1> at org.eclipse.core.launcher.Main.basicRun(Main.java:183) 1> at org.eclipse.core.launcher.Main.run(Main.java:644) 1> at org.eclipse.core.launcher.Main.main(Main.java:628) 1> 1> "VM Thread" prio=1 tid=0x08087110 nid=0x22c5 runnable 1> 1> "VM Periodic Task Thread" prio=1 tid=0x080a24e8 nid=0x22cb waiting on 1> condition 1> "Suspend Checker Thread" prio=1 tid=0x0809f450 nid=0x22c8 runnable 1> 1> caschrei@bigboi:502:~/proj/shade/eclipse_ws> kill -3 8899 2>&1 | tee foo2 1> Full thread dump Java HotSpot(TM) Client VM (1.4.2_03-b02 mixed mode): 1> 1> "ModalContext" prio=1 tid=0x08682650 nid=0x22df runnable 1> [4e617000..4e6178b8] 1> 1> at java.io.FileInputStream.readBytes(Native Method) 1> at java.io.FileInputStream.read(FileInputStream.java:194) 1> at java.io.BufferedInputStream.read1(BufferedInputStream.java:220) 1> at java.io.BufferedInputStream.read(BufferedInputStream.java:277) 1> - locked <0x450e8138> (a java.io.BufferedInputStream) 1> at java.io.BufferedInputStream.fill(BufferedInputStream.java:183) 1> at java.io.BufferedInputStream.read1(BufferedInputStream.java:222) 1> at java.io.BufferedInputStream.read(BufferedInputStream.java:277) 1> - locked <0x450e8158> (a java.io.BufferedInputStream) 1> at 1> sun.security.provider.SeedGenerator$URLSeedGenerator.getSeedByte(SeedGenerator.java:467) 1> at 1> sun.security.provider.SeedGenerator.getSeedBytes(SeedGenerator.java:137) 1> at 1> sun.security.provider.SeedGenerator.generateSeed(SeedGenerator.java:132) 1> at 1> sun.security.provider.SecureRandom.engineGenerateSeed(SecureRandom.java:112) 1> at 1> sun.security.provider.SecureRandom.engineNextBytes(SecureRandom.java:169) 1> - locked <0x450e81b8> (a sun.security.provider.SecureRandom) 1> at java.security.SecureRandom.nextBytes(SecureRandom.java:381) 1> - locked <0x450e8208> (a java.security.SecureRandom) 1> at com.jcraft.jsch.jce.Random.fill(Unknown Source) 1> at com.jcraft.jsch.Session.send_kexinit(Unknown Source) 1> at com.jcraft.jsch.Session.receive_kexinit(Unknown Source) 1> at com.jcraft.jsch.Session.connect(Unknown Source) 1> at 1> org.eclipse.team.internal.ccvs.ssh2.JSchSession.getSession(JSchSession.java:306) 1> at 1> org.eclipse.team.internal.ccvs.ssh2.CVSSSH2ServerConnection.internalOpen(CVSSSH2ServerConnection.java:117) 1> at 1> org.eclipse.team.internal.ccvs.ssh2.CVSSSH2ServerConnection.open(CVSSSH2ServerConnection.java:99) 1> at 1> org.eclipse.team.internal.ccvs.core.connection.Connection.open(Connection.java:127) 1> at 1> org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation.createConnection(CVSRepositoryLocation.java:575) 1> at 1> org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation.openConnection(CVSRepositoryLocation.java:821) 1> - locked <0x450de618> (a java.lang.Object) 1> at 1> org.eclipse.team.internal.ccvs.core.client.Session.open(Session.java:142) 1> at 1> org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation.validateConnection(CVSRepositoryLocation.java:956) 1> at 1> org.eclipse.team.internal.ccvs.ui.wizards.ModuleSelectionPage$2.run(ModuleSelectionPage.java:143) 1> at 1> org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:101) 1> 1> "ModalContext" prio=1 tid=0x08740448 nid=0x22de waiting for monitor entry 1> [4ce6e000..4ce6e8b8] 1> at 1> org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation.openConnection(CVSRepositoryLocation.java:799) 1> - waiting to lock <0x450de618> (a java.lang.Object) 1> at 1> org.eclipse.team.internal.ccvs.core.client.Session.open(Session.java:142) 1> at 1> org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation.validateConnection(CVSRepositoryLocation.java:956) 1> at 1> org.eclipse.team.internal.ccvs.ui.wizards.ModuleSelectionPage$2.run(ModuleSelectionPage.java:143) 1> at 1> org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:101) 1> 1> "Worker-1" prio=1 tid=0x08592c78 nid=0x22dd in Object.wait() 1> [4e386000..4e3868b8] 1> at java.lang.Object.wait(Native Method) 1> - waiting on <0x44e46348> (a 1> org.eclipse.core.internal.jobs.WorkerPool) 1> at 1> org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:166) 1> - locked <0x44e46348> (a org.eclipse.core.internal.jobs.WorkerPool) 1> at 1> org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:193) 1> 1> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59) 1> 1> "Reference Cleaner - 2" prio=1 tid=0x08367540 nid=0x22d2 in Object.wait() 1> [4dd9b000..4dd9b8b8] 1> at java.lang.Object.wait(Native Method) 1> - waiting on <0x44f01b88> (a java.lang.ref.ReferenceQueue$Lock) 1> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) 1> - locked <0x44f01b88> (a java.lang.ref.ReferenceQueue$Lock) 1> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127) 1> at 1> org.eclipse.jface.action.ActionContributionItem$ImageCache$ReferenceCleanerThread.run(ActionContributionItem.java:207) 1> 1> "Reference Cleaner - 1" prio=1 tid=0x08367248 nid=0x22d1 in Object.wait() 1> [4dd1a000..4dd1a8b8] 1> at java.lang.Object.wait(Native Method) 1> - waiting on <0x44f01bf8> (a java.lang.ref.ReferenceQueue$Lock) 1> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) 1> - locked <0x44f01bf8> (a java.lang.ref.ReferenceQueue$Lock) 1> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127) 1> at 1> org.eclipse.jface.action.ActionContributionItem$ImageCache$ReferenceCleanerThread.run(ActionContributionItem.java:207) 1> 1> "Start Level Event Dispatcher" daemon prio=1 tid=0x08263420 nid=0x22cf in 1> Object.wait() [4cfff000..4cfff8b8] 1> at java.lang.Object.wait(Native Method) 1> - waiting on <0x44ccd160> (a 1> org.eclipse.osgi.framework.eventmgr.EventThread) 1> at java.lang.Object.wait(Object.java:429) 1> at 1> org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent(EventThread.java:162) 1> - locked <0x44ccd160> (a 1> org.eclipse.osgi.framework.eventmgr.EventThread) 1> at 1> org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:100) 1> 1> "Framework Event Dispatcher" daemon prio=1 tid=0x0825db18 nid=0x22ce in 1> Object.wait() [4cf7e000..4cf7e8b8] 1> at java.lang.Object.wait(Native Method) 1> - waiting on <0x44cbf9d8> (a 1> org.eclipse.osgi.framework.eventmgr.EventThread) 1> at java.lang.Object.wait(Object.java:429) 1> at 1> org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent(EventThread.java:162) 1> - locked <0x44cbf9d8> (a 1> org.eclipse.osgi.framework.eventmgr.EventThread) 1> at 1> org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:100) 1> 1> "Signal Dispatcher" daemon prio=1 tid=0x0809fda8 nid=0x22c9 waiting on 1> condition [0..0] 1> 1> "Finalizer" daemon prio=1 tid=0x0808af38 nid=0x22c7 in Object.wait() 1> [4c952000..4c9528b8] 1> at java.lang.Object.wait(Native Method) 1> - waiting on <0x44c3a518> (a java.lang.ref.ReferenceQueue$Lock) 1> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) 1> - locked <0x44c3a518> (a java.lang.ref.ReferenceQueue$Lock) 1> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127) 1> at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) 1> 1> "Reference Handler" daemon prio=1 tid=0x0808a378 nid=0x22c6 in Object.wait() 1> [4c8d1000..4c8d18b8] 1> at java.lang.Object.wait(Native Method) 1> - waiting on <0x44c3a580> (a java.lang.ref.Reference$Lock) 1> at java.lang.Object.wait(Object.java:429) 1> at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115) 1> - locked <0x44c3a580> (a java.lang.ref.Reference$Lock) 1> 1> 1> "main" prio=1 tid=0x08052880 nid=0x22c3 in Object.wait() 1> [bfffc000..bfffd228] 1> at java.lang.Object.wait(Native Method) 1> at org.eclipse.swt.widgets.Display.sleep(Display.java:2867) 1> - locked <0x48ae9878> (a java.lang.Class) 1> at 1> org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:137) 1> at 1> org.eclipse.jface.operation.ModalContext.run(ModalContext.java:262) 1> at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:752) 1> at 1> org.eclipse.team.internal.ccvs.ui.wizards.ModuleSelectionPage.updateEnablements(ModuleSelectionPage.java:140) 1> at 1> org.eclipse.team.internal.ccvs.ui.wizards.ModuleSelectionPage$1.handleEvent(ModuleSelectionPage.java:70) 1> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) 1> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:954) 1> at 1> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2595) 1> at 1> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2298) 1> at 1> org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:136) 1> at 1> org.eclipse.jface.operation.ModalContext.run(ModalContext.java:262) 1> at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:752) 1> at 1> org.eclipse.team.internal.ccvs.ui.wizards.ModuleSelectionPage.updateEnablements(ModuleSelectionPage.java:140) 1> at 1> org.eclipse.team.internal.ccvs.ui.wizards.ModuleSelectionPage$1.handleEvent(ModuleSelectionPage.java:70) 1> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) 1> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:954) 1> at 1> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2595) 1> at 1> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2298) 1> at org.eclipse.jface.window.Window.runEventLoop(Window.java:668) 1> at org.eclipse.jface.window.Window.open(Window.java:648) 1> at 1> org.eclipse.ui.actions.NewProjectAction.run(NewProjectAction.java:111) 1> at org.eclipse.jface.action.Action.runWithEvent(Action.java:881) 1> at 1> org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:915) 1> at 1> org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:866) 1> at 1> org.eclipse.jface.action.ActionContributionItem$7.handleEvent(ActionContributionItem.java:785) 1> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) 1> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:954) 1> at 1> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2595) 1> at 1> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2298) 1> at 1> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1377) 1> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1348) 1> at 1> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:254) 1> at 1> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141) 1> at 1> org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:96) 1> at 1> org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:335) 1> at 1> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273) 1> at 1> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129) 1> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 1> at 1> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 1> at 1> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 1> at java.lang.reflect.Method.invoke(Method.java:324) 1> at org.eclipse.core.launcher.Main.basicRun(Main.java:183) 1> at org.eclipse.core.launcher.Main.run(Main.java:644) 1> at org.eclipse.core.launcher.Main.main(Main.java:628) 1> 1> "VM Thread" prio=1 tid=0x08087110 nid=0x22c5 runnable 1> 1> "VM Periodic Task Thread" prio=1 tid=0x080a24e8 nid=0x22cb waiting on 1> condition 1> "Suspend Checker Thread" prio=1 tid=0x0809f450 nid=0x22c8 runnable 1> 1> Stack dump #2: 2> Full thread dump Java HotSpot(TM) Client VM (1.4.2_03-b02 mixed mode): 2> 2> "ModalContext" prio=1 tid=0x081c9630 nid=0x2342 waiting for monitor entry [4e4fb000..4e4fb8b8] 2> at org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation.openConnection(CVSRepositoryLocation.java:799) 2> - waiting to lock <0x44800000> (a java.lang.Object) 2> at org.eclipse.team.internal.ccvs.core.client.Session.open(Session.java:142) 2> at org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation.validateConnection(CVSRepositoryLocation.java:956) 2> at org.eclipse.team.internal.ccvs.ui.wizards.ModuleSelectionPage$2.run(ModuleSelectionPage.java:143) 2> at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:101) 2> 2> "ModalContext" prio=1 tid=0x081c9380 nid=0x2341 runnable [4e47a000..4e47a8b8] 2> at java.io.FileInputStream.readBytes(Native Method) 2> at java.io.FileInputStream.read(FileInputStream.java:194) 2> at java.io.BufferedInputStream.read1(BufferedInputStream.java:220) 2> at java.io.BufferedInputStream.read(BufferedInputStream.java:277) 2> - locked <0x44782870> (a java.io.BufferedInputStream) 2> at java.io.BufferedInputStream.fill(BufferedInputStream.java:183) 2> at java.io.BufferedInputStream.read1(BufferedInputStream.java:222) 2> at java.io.BufferedInputStream.read(BufferedInputStream.java:277) 2> - locked <0x44782668> (a java.io.BufferedInputStream) 2> at sun.security.provider.SeedGenerator$URLSeedGenerator.getSeedByte(SeedGenerator.java:467) 2> at sun.security.provider.SeedGenerator.getSeedBytes(SeedGenerator.java:137) 2> at sun.security.provider.SeedGenerator.generateSeed(SeedGenerator.java:132) 2> at sun.security.provider.SecureRandom.engineGenerateSeed(SecureRandom.java:112) 2> at sun.security.provider.SecureRandom.engineNextBytes(SecureRandom.java:169) 2> - locked <0x4477dc00> (a sun.security.provider.SecureRandom) 2> at java.security.SecureRandom.nextBytes(SecureRandom.java:381) 2> - locked <0x4477df58> (a java.security.SecureRandom) 2> at com.jcraft.jsch.jce.Random.fill(Unknown Source) 2> at com.jcraft.jsch.Session.send_kexinit(Unknown Source) 2> at com.jcraft.jsch.Session.receive_kexinit(Unknown Source) 2> at com.jcraft.jsch.Session.connect(Unknown Source) 2> at org.eclipse.team.internal.ccvs.ssh2.JSchSession.getSession(JSchSession.java:306) 2> at org.eclipse.team.internal.ccvs.ssh2.CVSSSH2ServerConnection.internalOpen(CVSSSH2ServerConnection.java:117) 2> at org.eclipse.team.internal.ccvs.ssh2.CVSSSH2ServerConnection.open(CVSSSH2ServerConnection.java:99) 2> at org.eclipse.team.internal.ccvs.core.connection.Connection.open(Connection.java:127) 2> at org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation.createConnection(CVSRepositoryLocation.java:575) 2> at org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation.openConnection(CVSRepositoryLocation.java:821) 2> - locked <0x44800000> (a java.lang.Object) 2> at org.eclipse.team.internal.ccvs.core.client.Session.open(Session.java:142) 2> at org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation.validateConnection(CVSRepositoryLocation.java:956) 2> at org.eclipse.team.internal.ccvs.ui.wizards.ModuleSelectionPage$2.run(ModuleSelectionPage.java:143) 2> at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:101) 2> 2> "Worker-1" prio=1 tid=0x086a1918 nid=0x233c in Object.wait() [4ce6e000..4ce6e8b8] 2> at java.lang.Object.wait(Native Method) 2> - waiting on <0x44e46378> (a org.eclipse.core.internal.jobs.WorkerPool) 2> at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:166) 2> - locked <0x44e46378> (a org.eclipse.core.internal.jobs.WorkerPool) 2> at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:193) 2> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59) 2> 2> "Reference Cleaner - 2" prio=1 tid=0x080a9348 nid=0x2332 in Object.wait() [4dd9b000..4dd9b8b8] 2> at java.lang.Object.wait(Native Method) 2> - waiting on <0x44f01b88> (a java.lang.ref.ReferenceQueue$Lock) 2> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) 2> - locked <0x44f01b88> (a java.lang.ref.ReferenceQueue$Lock) 2> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127) 2> at org.eclipse.jface.action.ActionContributionItem$ImageCache$ReferenceCleanerThread.run(ActionContributionItem.java:207) 2> 2> "Reference Cleaner - 1" prio=1 tid=0x080aa6c8 nid=0x2331 in Object.wait() [4dd1a000..4dd1a8b8] 2> at java.lang.Object.wait(Native Method) 2> - waiting on <0x44f01bf8> (a java.lang.ref.ReferenceQueue$Lock) 2> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) 2> - locked <0x44f01bf8> (a java.lang.ref.ReferenceQueue$Lock) 2> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127) 2> at org.eclipse.jface.action.ActionContributionItem$ImageCache$ReferenceCleanerThread.run(ActionContributionItem.java:207) 2> 2> "Start Level Event Dispatcher" daemon prio=1 tid=0x08266898 nid=0x232f in Object.wait() [4cfff000..4cfff8b8] 2> at java.lang.Object.wait(Native Method) 2> - waiting on <0x44ccd160> (a org.eclipse.osgi.framework.eventmgr.EventThread) 2> at java.lang.Object.wait(Object.java:429) 2> at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent(EventThread.java:162) 2> - locked <0x44ccd160> (a org.eclipse.osgi.framework.eventmgr.EventThread) 2> at org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:100) 2> 2> "Framework Event Dispatcher" daemon prio=1 tid=0x082490d8 nid=0x232e in Object.wait() [4cf7e000..4cf7e8b8] 2> at java.lang.Object.wait(Native Method) 2> - waiting on <0x44cbf9d8> (a org.eclipse.osgi.framework.eventmgr.EventThread) 2> at java.lang.Object.wait(Object.java:429) 2> at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent(EventThread.java:162) 2> - locked <0x44cbf9d8> (a org.eclipse.osgi.framework.eventmgr.EventThread) 2> at org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:100) 2> 2> "Signal Dispatcher" daemon prio=1 tid=0x0808eec0 nid=0x2329 waiting on condition [0..0] 2> 2> "Finalizer" daemon prio=1 tid=0x0808af38 nid=0x2327 in Object.wait() [4c952000..4c9528b8] 2> at java.lang.Object.wait(Native Method) 2> - waiting on <0x44c3a518> (a java.lang.ref.ReferenceQueue$Lock) 2> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) 2> - locked <0x44c3a518> (a java.lang.ref.ReferenceQueue$Lock) 2> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127) 2> at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) 2> 2> "Reference Handler" daemon prio=1 tid=0x0808a378 nid=0x2326 in Object.wait() [4c8d1000..4c8d18b8] 2> at java.lang.Object.wait(Native Method) 2> - waiting on <0x44c3a580> (a java.lang.ref.Reference$Lock) 2> at java.lang.Object.wait(Object.java:429) 2> at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115) 2> - locked <0x44c3a580> (a java.lang.ref.Reference$Lock) 2> 2> "main" prio=1 tid=0x08052880 nid=0x2323 in Object.wait() [bfffc000..bfffd228] 2> at java.lang.Object.wait(Native Method) 2> - waiting on <0x48ae9878> (a java.lang.Class) 2> at org.eclipse.swt.widgets.Display.sleep(Display.java:2867) 2> - locked <0x48ae9878> (a java.lang.Class) 2> at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:137) 2> at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:262) 2> at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:752) 2> at org.eclipse.team.internal.ccvs.ui.wizards.ModuleSelectionPage.updateEnablements(ModuleSelectionPage.java:140) 2> at org.eclipse.team.internal.ccvs.ui.wizards.ModuleSelectionPage$1.handleEvent(ModuleSelectionPage.java:70) 2> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) 2> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:954) 2> at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2595) 2> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2298) 2> at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:136) 2> at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:262) 2> at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:752) 2> at org.eclipse.team.internal.ccvs.ui.wizards.ModuleSelectionPage.updateEnablements(ModuleSelectionPage.java:140) 2> at org.eclipse.team.internal.ccvs.ui.wizards.ModuleSelectionPage$1.handleEvent(ModuleSelectionPage.java:70) 2> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) 2> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:954) 2> at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2595) 2> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2298) 2> at org.eclipse.jface.window.Window.runEventLoop(Window.java:668) 2> at org.eclipse.jface.window.Window.open(Window.java:648) 2> at org.eclipse.ui.actions.NewProjectAction.run(NewProjectAction.java:111) 2> at org.eclipse.jface.action.Action.runWithEvent(Action.java:881) 2> at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:915) 2> at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:866) 2> at org.eclipse.jface.action.ActionContributionItem$7.handleEvent(ActionContributionItem.java:785) 2> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) 2> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:954) 2> at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2595) 2> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2298) 2> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1377) 2> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1348) 2> at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:254) 2> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141) 2> at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:96) 2> at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:335) 2> at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273) 2> at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129) 2> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 2> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 2> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 2> at java.lang.reflect.Method.invoke(Method.java:324) 2> at org.eclipse.core.launcher.Main.basicRun(Main.java:183) 2> at org.eclipse.core.launcher.Main.run(Main.java:644) 2> at org.eclipse.core.launcher.Main.main(Main.java:628) 2> 2> "VM Thread" prio=1 tid=0x08087110 nid=0x2325 runnable 2> 2> "VM Periodic Task Thread" prio=1 tid=0x080a24e8 nid=0x232b waiting on condition 2> "Suspend Checker Thread" prio=1 tid=0x0808e550 nid=0x2328 runnable Subject: cvs causes eclipse to freeze Our Eclipse 3.0.0 installation locks up when we try to access a CVS repository on the same Linux box. I would appreciate help in narrowing down the problem. I assume it is at least partially an Eclipse problem because we can't replicate the problem with the CVS command line interface. The simplest way to replicate this problem is: * log on to the machine running our CVS repository, call it "bigboy". * start Eclipse on a blank workspace * click on File -> New -> Project * in the New Project wizard, expand CVS, select "Checkout Projects From CVS", and click on "next". * enter a host name ("bigboy"), repository path, valid user name, valid password, specify "extssh" as connection type; click on "use default port", then click on "next". The progress bar makes it to about 5%, and then the Eclipse process freezes and becomes completely unresponsive. We have let it stay frozen for a few hours without seeing any signs of progress. (Alternately, you can ask Eclipse's New Project wizard to show a list of valid CVS modules, in which case Eclipse tries to query CVS and freezes at the 25% point.) We have no trouble committing to our CVS repository from the cvs command line client using ssh; we also have no trouble communicating with our CVS repository from Eclipse processes runing on other Linux or Windows boxes. We have no trouble running ssh processes from bigboy to bigboy. The behavior appears similar to what I'd expect for "bug 9295" mentioned in the Eclipse 3.0.0 release notes, except that the problem does not go away when we kill Eclipse and restart it, and the advertized workaround does not affect the problem. This does appear to be similar to the behavior in the news posting from Graham Leggett dated 13jul2004 13:04. Eclipse 3.0.0 _used_ to commit to and checkout from the CVS repository correctly until last Thursday afternoon, when I had to kill Eclipse several times in succession, due to other problems. Eclipse finally came up and worked, but then I tried commiting 4 files I'd been editing, and it locked up at 25% through the commit. Reverting to 3.0RC1 or 3.0M8 does not appear to affect the problem. When I bring Eclipse up in that same workspace I was using last Thursday (instead of a blank one, as in the steps above), Eclipse freezes as soon as I type the first character that would change any source file. I infer from the fact that Eclipse behaves differently in a clean workspace that the metafiles in that first workspace are corrupted. So far, I am proceeding on the assumptions that: * No significant Eclipse installation files is corrupted. (Date stamps show the only modified directory entry in our Eclipse installation tree is subdirectory <tree_root>/configuration/org.eclipse.core.runtime/.manager which is empty and its date stamp is about 24 hours after we started having trouble. * The problem is somehow related to Eclipse <--> CVS interaction. * The problem is not from Eclipse trying to read corrupted metafiles it got from CVS, because the freeze happens regardless of the project/module we select to check out. Besides, other linux boxes can check out the Thursday project fine. Does anyone have an idea of further tests we can run to narrow this problem down further? Is there some documentation that I should be reading? Is there a log file that should contain something useful? (A detailed web search of the newsgroup postings and a cursory read of the Eclipse online documentation isn't yielding much.) Versions of the programs I'm using are: Eclipse 3.0.0 Red Hat Linux 8.0 GTK2 2.0.6 (I know Eclipse 3.0.0 requires 2.2.1, but I assume that is irrelevant since GTK is a graphics library, not a networking/CVS library) CVS 1.11.2 Thank you for your consideration, Christian Schreiner caschrei@rockwellcollins.com