[fedora-java] Eclipse + CVS issues

Tom Tromey tromey at redhat.com
Thu Jul 21 23:46:00 UTC 2005


>>>>> "Andrew" == Andrew Overholt <overholt at redhat.com> writes:

Andrew> 1. checkouts of large-ish projects (GNU Classpath is something
Andrew>    I've used as a test case) get "stuck" at about 83%
Andrew>    finished.  This is about the best information I have at
Andrew>    this point, but tests with combinations of stock FC4 gcc
Andrew>    (4.0.0-8, I believe) and stock FC4 Eclipse (3.1.0.M6.22 or
Andrew>    something like that) or rawhide gcc (4.0.1-x) and rawhide
Andrew>    Eclipse (3.1.0_fc-2) would be greatly appreciated.  If we
Andrew>    can narrow down when this problem occurred, it would help
Andrew>    in finding its cause.  I don't remember this happening with
Andrew>    what we had around FC4 release time.  Also, does CVS
Andrew>    compression level affect this?

Have you tried this with a proprietary jdk?  I spent a little time
today debugging this.  I didn't see an actual deadlock -- I just saw
the code paths in Eclipse taking a long, long time.

In particular I think that the TimeoutInputStream stuff we talked
about on irc is a red herring... I think those just remain live until
the cvs connection is shut down.  I saw read() hanging and ssh still
running; if the cvs server had shut down the connection I suppose I
would expect to see ssh dead (or as a zombie).

Instead I did 'thread apply all bt' and looked for other threads
doing work for the team plugin.  One thread was in
org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.isModified.
I went to this thread and did 'fini' a lot to see what was happening
(I had to ignore SIGHUP so that gdb wouldn't lose my place).
Anyway, what I observed here is that some of the 'fini's took a long
time, as eclipse went over every resource in a directory (and every
subdirectory recursively) making sure that no resource was modified.

Anyway, I say all this just in case somebody wants to try to reproduce
it, or knows something more that would invalidate my theory, or
whatever.  If a VM other than gcj does this quickly, then the next
thing to look at is where we might be inefficient here.  Unfortunately
I don't have an up-to-date oprofile-ready machine atm.

Tom




More information about the java-devel mailing list