Community
Participate
Working Groups
I20050215-0800 When releasing our projects with the releng tool it often waits for very long (minutes) at the same location (i.e. progress shows same folder). I assume it's the last location (folder) of a project and the work of the whole project is done there (not sure though). I looks as if it's waiting for a server answer since not much network traffic is happening while waiting. The project where this can be seen best is org.eclipse.jdt.ui.tests.refactoring. There the progress bar shows: Processing org.eclipse.jdt.ui.tests.refactoring Processing ../tests/typeconstraints
It got worse recently i.e. very often results in an IO/error (not in .log) when releasing org.eclipse.jdt.ui.tests.refactoring and always when processing: test cases/org/eclipse/jdt.ui/tests/typeconstraints (at least that's what the releng wizard says in the status line). We then have to retry to release several times and almost missed the build two times. I can reproduce this frequently using Team > Tag as Version... A dialog appears: Title: Tagging from workspace Message: I/O has been interrupted. The most likely cause of the interrupt is either an intermittent network failure or a communications timeout. The CVS communications timeout can be adjusted in the Team/CVS preferences. Another possible cause is the improper configuration of the "ext" connection method. The "ext" connection method can be configured on the Team/CVS/EXT Connection Method preference page Here's the CVS Console: *** cvs tag "/org.eclipse.jdt.ui.tests.refactoring/v20050308-0800" "/org.eclipse.jdt.ui.tests.refactoring" failed due to an internal error (took 1:24.784) Error: I/O has been interrupted. Error: The most likely cause of the interrupt is either an intermittent network failure or a communications timeout. Error: The CVS communications timeout can be adjusted in the Team/CVS preferences. Error: Another possible cause is the improper configuration of the "ext" connection method. Error: The "ext" connection method can be configured on the Team/CVS/EXT Connection Method preference page *** The attached picture shows that it stops at 15% in folder "typeconstraints" and then runs into the timeout. There seems to be not much network traffic. As the message tells the connection timeout value is the important thing here: if I increase to e.g. 240 it works and if I decrease to 60 it always fails. To me it looks as if the tagging itself is OK and just needs more time because of the many files in that project. However, the progress reporting seems bogus i.e. it does not tell what's actually going on (I suspect it waits for a server answer). In the case where the timeout is big enough to complete the operation the progress messages still "hangs" on "typeconstraints" but the progress amount grows up to 24%. Then it just finishes. Test Case: 1. checkout org.eclipse.jdt.ui.tests.refactoring, version v20050308-0800. 2. a) to test the failure case set connection timeout to 60s 2. b) to let it finish and see the wrong progress set connection timeout to 240s 3. Team > Tag as Version... - use: v20050308-0800
Created attachment 18690 [details] Picture shwoing CVS Console and Progress view
There's actually a .log entry: !ENTRY org.eclipse.team.cvs.core 4 0 2005-03-11 13:01:21.905 !MESSAGE I/O has been interrupted. !STACK 0 java.io.InterruptedIOException: Timeout while reading from input stream at org.eclipse.team.internal.core.streams.PollingInputStream.read(PollingInputStream.java:102) at org.eclipse.team.internal.ccvs.core.connection.Connection.readLine(Connection.java:143) at org.eclipse.team.internal.ccvs.core.client.Session.readLine(Session.java:289) at org.eclipse.team.internal.ccvs.core.client.Request.executeRequest(Request.java:140) at org.eclipse.team.internal.ccvs.core.client.Command.doExecute(Command.java:403) at org.eclipse.team.internal.ccvs.core.client.Command$1.run(Command.java:322) at org.eclipse.team.internal.ccvs.core.resources.EclipseSynchronizer.run(EclipseSynchronizer.java:1403) at org.eclipse.team.internal.ccvs.core.resources.EclipseResource$2.run(EclipseResource.java:268) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1702) at org.eclipse.team.internal.ccvs.core.resources.EclipseResource.run(EclipseResource.java:265) at org.eclipse.team.internal.ccvs.core.client.Command.execute(Command.java:334) at org.eclipse.team.internal.ccvs.core.client.Tag.execute(Tag.java:79) at org.eclipse.team.internal.ccvs.ui.operations.TagOperation.tag(TagOperation.java:99) at org.eclipse.team.internal.ccvs.ui.operations.TagOperation.execute(TagOperation.java:51) at org.eclipse.team.internal.ccvs.ui.operations.RepositoryProviderOperation.execute(RepositoryProviderOperation.java:228) at org.eclipse.team.internal.ccvs.ui.operations.RepositoryProviderOperation.execute(RepositoryProviderOperation.java:207) at org.eclipse.team.internal.ccvs.ui.operations.RepositoryProviderOperation.execute(RepositoryProviderOperation.java:191) at org.eclipse.team.internal.ccvs.ui.operations.TagOperation.execute(TagOperation.java:145) at org.eclipse.team.internal.ccvs.ui.operations.CVSOperation.run(CVSOperation.java:87) at org.eclipse.team.internal.ui.actions.JobRunnableContext.run(JobRunnableContext.java:181) at org.eclipse.team.internal.ui.actions.JobRunnableContext$ResourceJob.runInWorkspace(JobRunnableContext.java:74) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:67) !SUBENTRY 1 org.eclipse.team.cvs.core 4 4 2005-03-11 13:01:21.905 !MESSAGE The most likely cause of the interrupt is either an intermittent network failure or a communications timeout. !SUBENTRY 1 org.eclipse.team.cvs.core 4 4 2005-03-11 13:01:21.905 !MESSAGE The CVS communications timeout can be adjusted in the Team/CVS preferences. !SUBENTRY 1 org.eclipse.team.cvs.core 4 4 2005-03-11 13:01:21.905 !MESSAGE Another possible cause is the improper configuration of the "ext" connection method. !SUBENTRY 1 org.eclipse.team.cvs.core 4 4 2005-03-11 13:01:21.905 !MESSAGE The "ext" connection method can be configured on the Team/CVS/EXT Connection Method preference page
*** Bug 87209 has been marked as a duplicate of this bug. ***
I don't think there is anything we can do here. The progress stops because Eclipse is waiting for a response from the server (i.e. no progress is being made). The only possible solution to this particular problem appears to be to increase the default timeout. However, it is not clear what the new default should be. In your case, 240 seconds works but that does not mean that it will work in other cases. Also, 240 seconds is a long time to wait in cases where the server really isn't responding. I think it is reasonable when timeouts occur for the user to adjust the timeout to a value that works for them.
>I don't think there is anything we can do here. The progress stops because >Eclipse is waiting for a response from the server (i.e. no progress is being >made). Do you know that you wait for a response? If so, why not show this in the message area instead of the last sent folder? Note: we even had to increase the timeout to 700 in order to be able to tag that project.
Agreed, I will make sure the message indicates that we are waiting. As for the timeout that you require, this is a CVS server issue when dealing with large projects. If you have any good ideas on something we can do in the client about this, I'm happy to hear it.
No, I don't think you can do much about it in the client.
Fix released to HEAD. Marked M7 but may consider for M6.
Verified