| Summary: | Complete freeze of the UI while RCP debugging | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Peter N <nosf3rat> | ||||
| Component: | Debug | Assignee: | Sarika Sinha <sarika.sinha> | ||||
| Status: | RESOLVED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | Lars.Vogel, loskutov, sarika.sinha | ||||
| Version: | 4.12 | ||||||
| Target Milestone: | 4.16 M3 | ||||||
| Hardware: | PC | ||||||
| OS: | Windows 10 | ||||||
| See Also: |
https://bugs.eclipse.org/bugs/show_bug.cgi?id=33028 https://git.eclipse.org/r/161819 https://git.eclipse.org/r/162639 https://git.eclipse.org/c/platform/eclipse.platform.debug.git/commit/?id=b4ba1469e0c91464256645c6a256a35ce291c841 |
||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
Peter N
Do you face this only with Windows 10? Can you try it with other OS or Windows 8? Windows Defender could have played a role Bug 548443. You can try disabling it as well. As I see other Console read/write also being blocked in the attachment. Just a naive question: why do we need that "canPaste" check at all: org.eclipse.debug.internal.ui.views.expression.ExpressionView.getClipboardText(ExpressionView.java:234) at org.eclipse.debug.internal.ui.views.expression.ExpressionView.canPaste(ExpressionView.java:193) at org.eclipse.debug.internal.ui.actions.expressions.PasteWatchExpressionsAction.isEnabled(PasteWatchExpressionsAction.java:43) at org.eclipse.ui.actions.RetargetAction.setActionHandler(RetargetAction.java:268) at org.eclipse.ui.actions.RetargetAction.partActivated(RetargetAction.java:146) Then independently on the clipboard state, the clipboard is empty, paste action will not explode - it will just don't do anything. So what is the point in checking the clipboard on any view activation? Even if it is always enabled, nobody will ever notice that, but knowing that permanent clipboard checks may slow down UI, we should simply remove this code. (In reply to Andrey Loskutov from comment #2) > Just a naive question: why do we need that "canPaste" check at all: > > org.eclipse.debug.internal.ui.views.expression.ExpressionView. > getClipboardText(ExpressionView.java:234) > at > org.eclipse.debug.internal.ui.views.expression.ExpressionView. > canPaste(ExpressionView.java:193) > at > org.eclipse.debug.internal.ui.actions.expressions. > PasteWatchExpressionsAction.isEnabled(PasteWatchExpressionsAction.java:43) > at > org.eclipse.ui.actions.RetargetAction.setActionHandler(RetargetAction.java: > 268) > at > org.eclipse.ui.actions.RetargetAction.partActivated(RetargetAction.java:146) > > Then independently on the clipboard state, the clipboard is empty, paste > action will not explode - it will just don't do anything. So what is the > point in checking the clipboard on any view activation? Even if it is always > enabled, nobody will ever notice that, but knowing that permanent clipboard > checks may slow down UI, we should simply remove this code. I was investigating the same yesterday, I see 2 options: 1. Disable the ClibboardText check and keep the Paste enabled all the time 2. Can we differentiate between the view initialization check and the others to call this selctively. (In reply to Sarika Sinha from comment #3) > > I was investigating the same yesterday, I see 2 options: > 1. Disable the ClibboardText check and keep the Paste enabled all the time > 2. Can we differentiate between the view initialization check and the others > to call this selctively. I would disable that check completely and say "paste" is enabled all the time, it is really not worth the extra code/effort IMHO. New Gerrit change created: https://git.eclipse.org/r/161819 (In reply to Eclipse Genie from comment #6) > New Gerrit change created: https://git.eclipse.org/r/161819 Will not work as Clipboard code already makes sure that it is in UI Thread. (In reply to Sarika Sinha from comment #3) > > I was investigating the same yesterday, I see 2 options: > 1. Disable the ClibboardText check and keep the Paste enabled all the time > 2. Can we differentiate between the view initialization check and the others > to call this selctively. I was surprised by the finding that even if Clipboard does not have any data or getClipboardText() method return null, the Paste is always enabled. So I am going ahead with always returning true for canPaste() New Gerrit change created: https://git.eclipse.org/r/162639 Gerrit change https://git.eclipse.org/r/162639 was merged to [master]. Commit: http://git.eclipse.org/c/platform/eclipse.platform.debug.git/commit/?id=b4ba1469e0c91464256645c6a256a35ce291c841 |