atom / git-diff

Diff markers in Atom's gutter
MIT License
102 stars 36 forks source link

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

Closed megaserg closed 6 years ago

megaserg commented 9 years ago

[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
izuzak commented 9 years ago

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?

izuzak commented 9 years ago

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

everlaat commented 9 years ago

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
izuzak commented 9 years ago

@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.

everlaat commented 9 years ago

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

maxbrunsfeld commented 6 years ago

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!