atom/git-diff

Uncaught Error: No screen line exists when converting buffer row to screen row

Closed this issue · 6 comments

[Enter steps to reproduce below:]

  1. Open a directory with some changed uncommitted files under git

Atom Version: 0.192.0
System: Mac OS X 10.9.5
Thrown From: git-diff package, v0.54.0

Stack Trace

Uncaught Error: No screen line exists when converting buffer row to screen row

At /Applications/Atom.app/Contents/Resources/app/src/display-buffer.js:1029

Error: No screen line exists when converting buffer row to screen row
  at DisplayBuffer.module.exports.DisplayBuffer.screenPositionForBufferPosition (/Applications/Atom.app/Contents/Resources/app/src/display-buffer.js:1029:17)
  at DisplayBuffer.module.exports.DisplayBuffer.screenRangeForBufferRange (/Applications/Atom.app/Contents/Resources/app/src/display-buffer.js:884:20)
  at Marker.module.exports.Marker.getScreenRange (/Applications/Atom.app/Contents/Resources/app/src/marker.js:138:33)
  at TextEditorPresenter.module.exports.TextEditorPresenter.didDestroyDecoration (/Applications/Atom.app/Contents/Resources/app/src/text-editor-presenter.js:1210:80)
  at /Applications/Atom.app/Contents/Resources/app/src/text-editor-presenter.js:1165:24
  at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:82:11)
  at Decoration.module.exports.Decoration.destroy (/Applications/Atom.app/Contents/Resources/app/src/decoration.js:57:20)
  at /Applications/Atom.app/Contents/Resources/app/src/decoration.js:42:24
  at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:82:11)
  at Marker.module.exports.Marker.destroyed (/Applications/Atom.app/Contents/Resources/app/src/marker.js:229:20)
  at /Applications/Atom.app/Contents/Resources/app/src/marker.js:42:24
  at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:82:11)
  at Marker.module.exports.Marker.destroy (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/marker.js:299:20)
  at Marker.module.exports.Marker.destroy (/Applications/Atom.app/Contents/Resources/app/src/marker.js:53:25)
  at GitDiffView.module.exports.GitDiffView.removeDecorations (/Applications/Atom.app/Contents/Resources/app/node_modules/git-diff/lib/git-diff-view.js:187:16)
  at GitDiffView.module.exports.GitDiffView.updateDiffs (/Applications/Atom.app/Contents/Resources/app/node_modules/git-diff/lib/git-diff-view.js:158:12)
  at /Applications/Atom.app/Contents/Resources/app/node_modules/git-diff/lib/git-diff-view.js:3:61
  at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:82:11)
  at /Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:1111:25

Commands

Config

{
  "core": {
    "themes": [
      "atom-dark-ui",
      "atom-dark-syntax"
    ]
  }
}

Installed Packages

# User
atom-typescript, v2.15.0
autocomplete-plus, v2.9.0
linter, v0.12.0
tabs-to-spaces, v0.9.2

# Dev
No dev packages

Thanks for the report, @megaserg, but I'm having trouble reproducing this. Can you reliably reproduce this? Does this happen for every file in every Git repository which has uncommitted changes, or only for some? Can you reproduce this in safe mode?

@megaserg Friendly bump -- just wondering if you can still reproduce this. (See questions from my previous comment). Thanks! 🍀

I am having the same error but from a different origin;

[Enter steps to reproduce below:]

It's a bit unclear, sorry, but the error pops up when i select text or trying to copy paste a few lines
[update] After a restart of Atom selecting the same lines in the same files no longer gives an error.

Atom Version: 0.202.0
System: Mac OS X 10.10.3
Thrown From: git-diff package, v0.55.0

Stack Trace

Uncaught Error: No screen line exists when converting buffer row to screen row

At /Applications/Atom.app/Contents/Resources/app.asar/src/display-buffer.js:1047

Error: No screen line exists when converting buffer row to screen row
  at DisplayBuffer.module.exports.DisplayBuffer.screenPositionForBufferPosition (/Applications/Atom.app/Contents/Resources/app.asar/src/display-buffer.js:1047:17)
  at Marker.module.exports.Marker.getHeadScreenPosition (/Applications/Atom.app/Contents/Resources/app.asar/src/marker.js:174:33)
  at new Marker (/Applications/Atom.app/Contents/Resources/app.asar/src/marker.js:34:41)
  at DisplayBuffer.module.exports.DisplayBuffer.getMarker (/Applications/Atom.app/Contents/Resources/app.asar/src/display-buffer.js:1265:20)
  at DisplayBuffer.module.exports.DisplayBuffer.handleBufferMarkerCreated (/Applications/Atom.app/Contents/Resources/app.asar/src/display-buffer.js:1592:25)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/display-buffer.js:5:61
  at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
  at TextBuffer.module.exports.TextBuffer.markerCreated (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1300:20)
  at MarkerStore.module.exports.MarkerStore.createMarker (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/marker-store.js:301:21)
  at MarkerStore.module.exports.MarkerStore.markRange (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/marker-store.js:148:19)
  at TextBuffer.module.exports.TextBuffer.markRange (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:672:31)
  at DisplayBuffer.module.exports.DisplayBuffer.markBufferRange (/Applications/Atom.app/Contents/Resources/app.asar/src/display-buffer.js:1297:41)
  at TextEditor.module.exports.TextEditor.markBufferRange (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:1249:59)
  at GitDiffView.module.exports.GitDiffView.markRange (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/git-diff/lib/git-diff-view.js:194:28)
  at GitDiffView.module.exports.GitDiffView.addDecorations (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/git-diff/lib/git-diff-view.js:177:16)
  at GitDiffView.module.exports.GitDiffView.updateDiffs (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/git-diff/lib/git-diff-view.js:161:23)
  at Immediate._onImmediate (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/git-diff/lib/git-diff-view.js:3:61)
  at processImmediate [as _immediateCallback] (timers.js:369:17)

Commands

     -1:27.9.0 core:move-up (atom-text-editor.editor.is-focused)
     -1:27.8.0 core:paste (atom-text-editor.editor.is-focused)
     -1:27.5.0 editor:newline-below (atom-text-editor.editor.is-focused)
     -1:25.7.0 editor:consolidate-selections (atom-text-editor.editor.is-focused)
     -1:25.7.0 core:cancel (atom-text-editor.editor.is-focused)
     -1:25.5.0 core:backspace (atom-text-editor.editor.is-focused)
     -1:25 core:paste (atom-text-editor.editor.is-focused)
 11x -1:23 core:undo (atom-text-editor.editor.is-focused)
     -0:59.3.0 core:cut (atom-text-editor.editor.is-focused)
     -0:58.9.0 core:save (atom-text-editor.editor.is-focused)
     -0:57.2.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:57 core:move-up (atom-text-editor.editor.is-focused)
     -0:56.7.0 core:paste (atom-text-editor.editor.is-focused)
  4x -0:49.9.0 core:undo (atom-text-editor.editor.is-focused)
     -0:38.3.0 editor:consolidate-selections (atom-text-editor.editor.is-focused)
     -0:38.3.0 core:cancel (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "themes": [
      "seti-ui",
      "base16-ocean-dark-syntax-theme"
    ]
  }
}

Installed Packages

# User
angularjs, v0.3.0
atom-spotify, v1.2.0
auto-detect-indentation, v0.4.2
auto-indent, v0.1.0
autocomplete-paths, v1.0.2
autocomplete-php, v0.3.6
base16-ocean-dark-syntax-theme, v0.1.5
color-picker, v2.0.2
css-color-underline, v1.0.1
font-awesome-snippetset, v0.0.6
fonts, v0.4.2
git-log, v0.4.1
git-projects, v1.14.1
html-img, v0.4.0
ionic-atom, v0.3.1
laravel-facades, v1.0.0
linter, v0.12.6
linter-php, v0.0.15
minimap, v4.9.0
seti-ui, v0.7.1
svg-preview, v0.6.0
terminal-status, v1.6.7
web-browser, v1.5.0

# Dev
No dev packages

@everlaat Can you reproduce the exception reliably? If so, can you share those steps with us, and the file with which you're reproducing it?

Also, can you reproduce the problem in safe mode? You have lots of packages installed, and this might be caused by one of the packages somehow.

I'll try to reproduce it, but after a restart of Atom the error no longer appears.

Closing this one out since we haven't heard back in a while. If you are able to determine repro steps, please open an issue on the main Atom repository, since we are moving this package there. Thanks!