<p dir="auto">On Mac, lost a couple files this way.  All of which are ymls they are also all in my gitignore.  I opened with open with choice and they came back, one by one manually.</p>
<p dir="auto">Atom version 0.135.0<br>
Mac OS X 10.9.5</p>
<p dir="auto">Atom v. 205.0 on Linux<br>
Every package up-to-date.</p>
<p dir="auto">When trying to fix mismatching tags Atom gets crazy if linter-xmllint is enabled (<a href="https://github.com/AtomLinter/linter-xmllint/issues/13" data-hovercard-type="issue" data-hovercard-url="/AtomLinter/linter-xmllint/issues/13/hovercard">issue 13</a> on their repo, where you can find a gist with sample code and reproduce steps): duplication of characters, non-working backspace and starting/closing tags, ecc. A forced close is often needed.<br>
It doesn’t happen always, something like 7 times every 10: I tried finding a logical pattern, but I couldn’t find any, it seems completely random. The linter code seems clean and is really similar to linter-tidy, that doesn’t have this issue.</p>
<p dir="auto">Here some of the errors (sometimes popups blame atom, sometimes bracket-matcher, sometimes git-diff, sometimes autocomplete-plus; neve linter-xmllint itself), I had to manually copy them as "report issue" didn’t do anything:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Uncaught TypeError: Cannot read property 'start' of undefined
/usr/share/atom/resources/app.asar/node_modules/text-buffer/lib/range.js:35
Hide Stack Trace
TypeError: Cannot read property 'start' of undefined
  at Function.module.exports.Range.fromObject (/usr/share/atom/resources/app.asar/node_modules/text-buffer/lib/range.js:35:31)
  at DisplayBuffer.module.exports.DisplayBuffer.screenRangeForBufferRange (/usr/share/atom/resources/app.asar/src/display-buffer.js:901:27)
  at Marker.module.exports.Marker.getScreenRange (/usr/share/atom/resources/app.asar/src/marker.js:136:33)
  at Selection.module.exports.Selection.getScreenRange (/usr/share/atom/resources/app.asar/src/selection.js:88:26)
  at Selection.module.exports.Selection.autoscroll (/usr/share/atom/resources/app.asar/src/selection.js:893:53)
  at TextEditor.module.exports.TextEditor.undo (/usr/share/atom/resources/app.asar/src/text-editor.js:1138:38)
  at TextEditor.atom.commands.add.stopEventPropagation.core:undo (/usr/share/atom/resources/app.asar/src/text-editor-element.js:318:19)
  at atom-text-editor.newCommandListeners.(anonymous function) (/usr/share/atom/resources/app.asar/src/text-editor-element.js:286:32)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/usr/share/atom/resources/app.asar/src/command-registry.js:238:29)
  at /usr/share/atom/resources/app.asar/src/command-registry.js:3:61
  at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/usr/share/atom/resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:520:16)
  at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/usr/share/atom/resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:355:22)
  at HTMLDocument.module.exports.WindowEventHandler.onKeydown (/usr/share/atom/resources/app.asar/src/window-event-handler.js:177:20)
This is likely a bug in Atom.

Uncaught TypeError: Cannot read property 'isEmpty' of undefined
/usr/share/atom/resources/app.asar/src/selection.js:161
Hide Stack Trace
TypeError: Cannot read property 'isEmpty' of undefined
  at Selection.module.exports.Selection.isEmpty (/usr/share/atom/resources/app.asar/src/selection.js:161:35)
  at TextEditorComponent.module.exports.TextEditorComponent.updateSync (/usr/share/atom/resources/app.asar/src/text-editor-component.js:187:87)
  at /usr/share/atom/resources/app.asar/src/text-editor-component.js:298:28
  at ViewRegistry.module.exports.ViewRegistry.performDocumentUpdate (/usr/share/atom/resources/app.asar/src/view-registry.js:168:9)
  at /usr/share/atom/resources/app.asar/src/view-registry.js:3:61
This is likely a bug in Atom.

Uncaught TypeError: Cannot read property 'isEmpty' of undefined
/usr/share/atom/resources/app.asar/src/selection.js:161
Hide Stack Trace
TypeError: Cannot read property 'isEmpty' of undefined
  at Selection.module.exports.Selection.isEmpty (/usr/share/atom/resources/app.asar/src/selection.js:161:35)
  at BracketMatcherView.module.exports.BracketMatcherView.updateMatch (/usr/share/atom/resources/app.asar/node_modules/bracket-matcher/lib/bracket-matcher-view.js:108:43)
  at /usr/share/atom/resources/app.asar/node_modules/bracket-matcher/lib/bracket-matcher-view.js:40:24
  at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
  at /usr/share/atom/resources/app.asar/src/text-editor.js:239:32
  at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
  at DisplayBuffer.module.exports.DisplayBuffer.emitDidChange (/usr/share/atom/resources/app.asar/src/display-buffer.js:302:20)
  at DisplayBuffer.module.exports.DisplayBuffer.updateScreenLines (/usr/share/atom/resources/app.asar/src/display-buffer.js:1473:19)
  at DisplayBuffer.module.exports.DisplayBuffer.handleTokenizedBufferChange (/usr/share/atom/resources/app.asar/src/display-buffer.js:1439:12)
  at /usr/share/atom/resources/app.asar/src/display-buffer.js:5:61
  at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
  at TokenizedBuffer.module.exports.TokenizedBuffer.handleBufferChange (/usr/share/atom/resources/app.asar/src/tokenized-buffer.js:388:27)
  at /usr/share/atom/resources/app.asar/src/tokenized-buffer.js:62:24
  at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
  at TextBuffer.module.exports.TextBuffer.applyChange (/usr/share/atom/resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:624:20)
  at TextBuffer.module.exports.TextBuffer.undo (/usr/share/atom/resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:712:16)
  at TextEditor.module.exports.TextEditor.undo (/usr/share/atom/resources/app.asar/src/text-editor.js:1137:19)
  at TextEditor.atom.commands.add.stopEventPropagation.core:undo (/usr/share/atom/resources/app.asar/src/text-editor-element.js:318:19)
  at atom-text-editor.newCommandListeners.(anonymous function) (/usr/share/atom/resources/app.asar/src/text-editor-element.js:286:32)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/usr/share/atom/resources/app.asar/src/command-registry.js:238:29)
  at /usr/share/atom/resources/app.asar/src/command-registry.js:3:61
  at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/usr/share/atom/resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:520:16)
  at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/usr/share/atom/resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:355:22)
  at HTMLDocument.module.exports.WindowEventHandler.onKeydown (/usr/share/atom/resources/app.asar/src/window-event-handler.js:177:20)
The error was thrown from the bracket-matcher package."><pre class="notranslate"><code class="notranslate">Uncaught TypeError: Cannot read property 'start' of undefined
/usr/share/atom/resources/app.asar/node_modules/text-buffer/lib/range.js:35
Hide Stack Trace
TypeError: Cannot read property 'start' of undefined
  at Function.module.exports.Range.fromObject (/usr/share/atom/resources/app.asar/node_modules/text-buffer/lib/range.js:35:31)
  at DisplayBuffer.module.exports.DisplayBuffer.screenRangeForBufferRange (/usr/share/atom/resources/app.asar/src/display-buffer.js:901:27)
  at Marker.module.exports.Marker.getScreenRange (/usr/share/atom/resources/app.asar/src/marker.js:136:33)
  at Selection.module.exports.Selection.getScreenRange (/usr/share/atom/resources/app.asar/src/selection.js:88:26)
  at Selection.module.exports.Selection.autoscroll (/usr/share/atom/resources/app.asar/src/selection.js:893:53)
  at TextEditor.module.exports.TextEditor.undo (/usr/share/atom/resources/app.asar/src/text-editor.js:1138:38)
  at TextEditor.atom.commands.add.stopEventPropagation.core:undo (/usr/share/atom/resources/app.asar/src/text-editor-element.js:318:19)
  at atom-text-editor.newCommandListeners.(anonymous function) (/usr/share/atom/resources/app.asar/src/text-editor-element.js:286:32)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/usr/share/atom/resources/app.asar/src/command-registry.js:238:29)
  at /usr/share/atom/resources/app.asar/src/command-registry.js:3:61
  at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/usr/share/atom/resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:520:16)
  at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/usr/share/atom/resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:355:22)
  at HTMLDocument.module.exports.WindowEventHandler.onKeydown (/usr/share/atom/resources/app.asar/src/window-event-handler.js:177:20)
This is likely a bug in Atom.

Uncaught TypeError: Cannot read property 'isEmpty' of undefined
/usr/share/atom/resources/app.asar/src/selection.js:161
Hide Stack Trace
TypeError: Cannot read property 'isEmpty' of undefined
  at Selection.module.exports.Selection.isEmpty (/usr/share/atom/resources/app.asar/src/selection.js:161:35)
  at TextEditorComponent.module.exports.TextEditorComponent.updateSync (/usr/share/atom/resources/app.asar/src/text-editor-component.js:187:87)
  at /usr/share/atom/resources/app.asar/src/text-editor-component.js:298:28
  at ViewRegistry.module.exports.ViewRegistry.performDocumentUpdate (/usr/share/atom/resources/app.asar/src/view-registry.js:168:9)
  at /usr/share/atom/resources/app.asar/src/view-registry.js:3:61
This is likely a bug in Atom.

Uncaught TypeError: Cannot read property 'isEmpty' of undefined
/usr/share/atom/resources/app.asar/src/selection.js:161
Hide Stack Trace
TypeError: Cannot read property 'isEmpty' of undefined
  at Selection.module.exports.Selection.isEmpty (/usr/share/atom/resources/app.asar/src/selection.js:161:35)
  at BracketMatcherView.module.exports.BracketMatcherView.updateMatch (/usr/share/atom/resources/app.asar/node_modules/bracket-matcher/lib/bracket-matcher-view.js:108:43)
  at /usr/share/atom/resources/app.asar/node_modules/bracket-matcher/lib/bracket-matcher-view.js:40:24
  at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
  at /usr/share/atom/resources/app.asar/src/text-editor.js:239:32
  at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
  at DisplayBuffer.module.exports.DisplayBuffer.emitDidChange (/usr/share/atom/resources/app.asar/src/display-buffer.js:302:20)
  at DisplayBuffer.module.exports.DisplayBuffer.updateScreenLines (/usr/share/atom/resources/app.asar/src/display-buffer.js:1473:19)
  at DisplayBuffer.module.exports.DisplayBuffer.handleTokenizedBufferChange (/usr/share/atom/resources/app.asar/src/display-buffer.js:1439:12)
  at /usr/share/atom/resources/app.asar/src/display-buffer.js:5:61
  at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
  at TokenizedBuffer.module.exports.TokenizedBuffer.handleBufferChange (/usr/share/atom/resources/app.asar/src/tokenized-buffer.js:388:27)
  at /usr/share/atom/resources/app.asar/src/tokenized-buffer.js:62:24
  at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
  at TextBuffer.module.exports.TextBuffer.applyChange (/usr/share/atom/resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:624:20)
  at TextBuffer.module.exports.TextBuffer.undo (/usr/share/atom/resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:712:16)
  at TextEditor.module.exports.TextEditor.undo (/usr/share/atom/resources/app.asar/src/text-editor.js:1137:19)
  at TextEditor.atom.commands.add.stopEventPropagation.core:undo (/usr/share/atom/resources/app.asar/src/text-editor-element.js:318:19)
  at atom-text-editor.newCommandListeners.(anonymous function) (/usr/share/atom/resources/app.asar/src/text-editor-element.js:286:32)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/usr/share/atom/resources/app.asar/src/command-registry.js:238:29)
  at /usr/share/atom/resources/app.asar/src/command-registry.js:3:61
  at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/usr/share/atom/resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:520:16)
  at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/usr/share/atom/resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:355:22)
  at HTMLDocument.module.exports.WindowEventHandler.onKeydown (/usr/share/atom/resources/app.asar/src/window-event-handler.js:177:20)
The error was thrown from the bracket-matcher package.
</code></pre></div>