Problem scrolling in 1.8.0 #17208

Closed
orrybaram opened this Issue Dec 14, 2016 · 9 comments

Projects

None yet

6 participants

@orrybaram
  • VSCode Version: Code 1.8.0 (3874693, 2016-12-13T17:38:28.425Z)
  • OS Version: Darwin x64 15.6.0
  • Extensions:
Extension Author Version
jsx TwentyChung 0.0.1
vscode-css-formatter aeschli 0.0.2
vscode-svgviewer cssho 1.2.0
jshint dbaeumer 0.10.15
vscode-eslint dbaeumer 1.1.0
vscode-npm-source dkundel 1.0.0
githistory donjayamanne 0.1.4
vscode-semistandard flet 1.1.2
Theme-FlatlandMonokai gerane 0.0.4
vscode-semistandard-format homerjam 0.0.9
Theme-TomorrowKit ms-vscode 0.1.3
theme-oceanicnext naumovs 0.0.4
view-in-browser qinjia 0.0.3
sass-helper ramyaraoa 0.0.2
PostCSS ricard 1.0.1
ava samverschueren 0.4.0
stylelint shinnn 0.20.4
code-spell-checker streetsidesoftware 0.12.2
gitblame waderyan 1.3.0
JavaScriptSnippets xabikos 1.2.0
ReactSnippets xabikos 1.2.0
TabSpacer yuichinukiyama 1.0.2
Material-theme zhuangtongfa 1.0.3

Steps to Reproduce:

  1. Have a massive minified css tag in an html file.

Scrolling is a little broken on version 1.8.0. See gif, can't scroll past huge block of css. (don't judge me its a google amp thing I swear)

@bpasero bpasero was assigned by mjbvz Dec 14, 2016
@mjbvz
Contributor
mjbvz commented Dec 14, 2016 edited

@orrybaram Thanks. I confirmed this issue.

I believe this error message is related:

t o (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:61:26565)
    at e._getDecorationsViewportData (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:61:29561)
    at e.getDecorationsViewportData (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:61:28657)
    at t.getDecorationsViewportData (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:62:7835)
    at e.getLinesViewportData (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:43:804)
    at t.getLinesViewportData (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:60:7316)
    at t._actualRender (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:77:6641)
    at file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:77:5079
    at B (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:76:17614)
    at t._renderNow (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:77:5057)e.onUnexpectedError @ shell.ts:541
shell.ts:541 Cannot read property 'length' of undefined: TypeError: Cannot read property 'length' of undefined
    at o (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:61:26565)
    at e._getDecorationsViewportData (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:61:29561)
    at e.getDecorationsViewportData (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:61:28657)
    at t.getDecorationsViewportData (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:62:7835)
    at e.getLinesViewportData (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:43:804)
    at t.getLinesViewportData (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:60:7316)
    at t._actualRender (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:77:6641)
    at file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:77:5079
    at B (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:76:17614)
    at t._renderNow (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:77:5057)e.onUnexpectedError @ shell.ts:541(anonymous function) @ shell.ts:457e.onUnexpectedError @ errors.ts:68o @ errors.ts:88B @ viewImpl.ts:959t._renderNow @ viewImpl.ts:834t._flushAccumulatedAndRenderNow @ viewImpl.ts:297getPositionFromDOMInfo @ viewImpl.ts:382e._actualDoHitTestWithCaretRangeFromPoint @ mouseTarget.ts:463e._doHitTestWithCaretRangeFromPoint @ mouseTarget.ts:431e._doHitTest @ mouseTarget.ts:582e._unsafeCreateMouseTarget @ mouseTarget.ts:328e.createMouseTarget @ mouseTarget.ts:224t._createMouseTarget @ mouseHandler.ts:229t._onMouseMove @ mouseHandler.ts:256(anonymous function) @ mouseHandler.ts:168t._handle @ mouseHandler.ts:68handler @ mouseHandler.ts:56l @ dom.ts:470(anonymous function) @ dom.ts:481_wrapHandler @ dom.ts:196

Investigating now

@orrybaram
orrybaram commented Dec 14, 2016 edited

Great, thanks for the quick response!

@mjbvz mjbvz assigned alexandrudima and unassigned bpasero Dec 14, 2016
@mjbvz
Contributor
mjbvz commented Dec 14, 2016 edited

@alexandrudima Can you please take a look at this? I see you did some work on decorations recently. I marked this issue as important as I'm not sure how often this will be hit and the impact of the bug is bad.

If the root cause is not clear, can we just add a null check in insert as a quick fix before investigating why this is being hit in the first place?

@egamma egamma added the candidate label Dec 15, 2016
@alexandrudima
Member

To workaround this issue:

"editor.wrappingColumn": -1
@alexandrudima alexandrudima added this to the November Recovery 2016 milestone Dec 15, 2016
@alexandrudima
Member
alexandrudima commented Dec 15, 2016 edited

Reproduces when rendering a wrapped model line containing before/after decorations below the viewport.

In other words, most likely to happen in minified (wrapped) CSS (color boxes are before decorations).

Pushed fix to master & release/1.8

@bpasero bpasero added the verified label Dec 19, 2016
@seltzer1717

There is something still wrong with scrolling in the 1.8.1 build. There are still long pauses. You can see this just scrolling over the 1.8.1 release notes:

VS Code - 1.8.1
OS - Windows 10
Hardware - Surface Pro 3

@orrybaram

Can confirm that it hangs a bit when scrolling past gifs in the release notes, but I haven't noticed any issues in day to day use.

@alexandrudima
Member

@seltzer1717 If you are scrolling with the trackpad, there is a known issue with Chromium (#13612) where it does not process trackpad gestures correctly. One workaround which I use successfully is to "restore" and then maximize back VS Code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment