Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 339192

Summary: unable to cancel the repository validation
Product: z_Archived Reporter: Ankur Sharma <ankur_sharma>
Component: MylynAssignee: Project Inbox <mylyn-triaged>
Status: CLOSED MOVED QA Contact:
Severity: normal    
Priority: P3 CC: eclipse, robert.elves, steffen.pingel
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
mylyn/context/zip none

Description Ankur Sharma CLA 2011-03-08 05:17:24 EST
I use the Mylyn for Eclipse Bugzilla. 
This problem happens when I switch networks and Eclipse does not get the right proxy, that is, Mylyn can't get thru on internet. Under such state (which as a user am not aware that net is down), I would open Task Repo view and hit Validate Settings to check that Mylyn connection is good. This launches the Validate operation. Now even when I hit the red square to cancel the operation, it does not ends. And keeps to try logging on for a long time. Sometime it would return but more often it will get just get stuck. The wizard can not be closed too. Only way now is to kill Eclipse process. If this was a time out mechanism, then it should be configurable or made less.
Comment 1 Steffen Pingel CLA 2011-04-03 19:57:07 EDT
Frank, can you take a look if the progress monitor does not get passed along properly?
Comment 2 Frank Becker CLA 2011-04-08 15:39:13 EDT
(In reply to comment #1)
> Frank, can you take a look if the progress monitor does not get passed along
> properly?

Steffen, I can not see an error.

My local installation returns after a few seconds so it is to short to see if I have the problem.

I think that the problem is BugzillaClient.connectInternal()

Thoughts?
Comment 3 Frank Becker CLA 2011-04-08 15:39:17 EDT
Created attachment 192878 [details]
mylyn/context/zip
Comment 4 Steffen Pingel CLA 2011-05-28 10:54:28 EDT
Thanks for looking into this. Canceling should be possible when a connection is established. Unfortunately we are out of time for 3.6 but I'll take another look at this later.
Comment 5 Steffen Pingel CLA 2011-05-28 11:01:58 EDT
I saw a similar instance of this while trying to cancel an attachment download:

"ModalContext" prio=10 tid=0x0c6da800 nid=0x2fb9 waiting for monitor entry [0xc2e09000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
        - waiting to lock <0xdf7fdc28> (a java.io.BufferedOutputStream)
        at java.io.FilterOutputStream.close(FilterOutputStream.java:140)
        at org.apache.commons.httpclient.HttpConnection.closeSocketAndStreams(HttpConnection.java:1226)
        at org.apache.commons.httpclient.HttpConnection.close(HttpConnection.java:1149)
        at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.close(MultiThreadedHttpConnectionManager.java:1185)
        at org.apache.commons.httpclient.HttpMethodBase.abort(HttpMethodBase.java:1117)
        at org.eclipse.mylyn.commons.net.WebUtil$2.abort(WebUtil.java:340)
        at org.eclipse.mylyn.commons.net.WebUtil.execute(WebUtil.java:362)
        at org.eclipse.mylyn.commons.net.WebUtil.executeInternal(WebUtil.java:395)
        at org.eclipse.mylyn.commons.net.WebUtil.execute(WebUtil.java:349)
        at org.eclipse.mylyn.commons.net.WebUtil.execute(WebUtil.java:323)
        at org.eclipse.mylyn.internal.bugzilla.core.BugzillaClient.getAttachmentData(BugzillaClient.java:811)
        at org.eclipse.mylyn.internal.bugzilla.core.BugzillaTaskAttachmentHandler.downloadAttachment(BugzillaTaskAttachmentHandler.java:94)
        at org.eclipse.mylyn.internal.bugzilla.core.BugzillaTaskAttachmentHandler.getContent(BugzillaTaskAttachmentHandler.java:63)
        at org.eclipse.mylyn.internal.tasks.ui.util.AttachmentUtil.downloadAttachment(AttachmentUtil.java:272)
        at org.eclipse.mylyn.internal.team.ui.actions.ApplyPatchAction$DownloadAndApplyPatch.execute(ApplyPatchAction.java:137)
        at org.eclipse.mylyn.internal.team.ui.actions.ApplyPatchAction$DownloadAndApplyPatch.run(ApplyPatchAction.java:112)
        at org.eclipse.mylyn.internal.provisional.commons.ui.CommonUiUtil$1.run(CommonUiUtil.java:46)
        at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)

"pool-1-thread-53" prio=10 tid=0xba9dac00 nid=0x2f5d runnable [0xbb3fe000]
   java.lang.Thread.State: RUNNABLE
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:293)
        at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:331)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:789)
        - locked <0xdf7fc9f0> (a java.lang.Object)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1120)
        - locked <0xdf7fc9c0> (a java.lang.Object)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:623)
        at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
        - locked <0xdf7fd3a8> (a com.sun.net.ssl.internal.ssl.AppOutputStream)
        at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
        at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
        - locked <0xdf7fdc28> (a java.io.BufferedOutputStream)
        at org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(HttpConnection.java:828)
        at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.flushRequestOutputStream(MultiThreadedHttpConnectionManager.java:1565)
        at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2116)
        at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)
        at org.eclipse.mylyn.internal.bugzilla.core.GzipGetMethod.execute(GzipGetMethod.java:55)
        at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
        at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
        at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
        at org.eclipse.mylyn.commons.net.WebUtil$2.execute(WebUtil.java:345)
        at org.eclipse.mylyn.commons.net.WebUtil$2.execute(WebUtil.java:1)
        at org.eclipse.mylyn.internal.commons.net.MonitoredRequest.call(MonitoredRequest.java:51)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)
Comment 6 Steffen Pingel CLA 2011-08-11 08:04:34 EDT
This seems to be happening if multiple jobs use the same socket and synchronize on the output stream. Not sure if there is anything we can do about it. Moving to HttpClient 4 may help with this. I'll remove the milestone for now since there is now obvious fix.
Comment 7 Eclipse Webmaster CLA 2022-11-15 11:45:08 EST
Mylyn has been restructured, and our issue tracking has moved to GitHub [1].

We are closing ~14K Bugzilla issues to give the new team a fresh start. If you feel that this issue is still relevant, please create a new one on GitHub.

[1] https://github.com/orgs/eclipse-mylyn