pulsar-edit / pulsar

A Community-led Hyper-Hackable Text Editor
https://pulsar-edit.dev
Other
3.34k stars 141 forks source link

Uncaught RuntimeError: Aborted(). Build with -sASSERTIONS on version 1.119.0 #1077

Closed MASSAlan closed 3 months ago

MASSAlan commented 3 months ago

Thanks in advance for your bug report!

What happened?

Randomly happens but feels like almost everyday at the moment. Program cannot continue and must be restarted. The color coding, highlighting and auto-complete started to misbehave after the update to 1.116.0 I attempted to fix this by uninstalling and removing all files and installing a fresh copy of 1.116.0 I use an 'out of the box' install with nothing added to it. The only change is to update editor preference for indent from 2 to 4. On updating to 1.118.0 I experienced the crash being reported here. The problems occur when working with files that are mostly html (some have some php in them). It is caused by copying and pasting using ctrl+C and crt+V and the error happens when hitting crtl+V.

At the bottom of the crash page it says "This is likely a bug in Pulsar. This issue has already been reported.".

The "view Issue" button below that links to issue #995, which is listed as a known issue and has been closed in favour of issue #898.

The crash report contains this stack trace:

C:\Users\Me\AppData\Local\Programs\pulsar\resources\app.asar\node_modules\text-buffer\lib\text-buffer.js:1323

Hide Stack Trace

RuntimeError: Aborted(). Build with -sASSERTIONS for more info.

at abort (C:\Program Files\Pulsar\resources\app.asar\vendor\web-tree-sitter\tree-sitter.js:269:29)

at _abort (C:\Program Files\Pulsar\resources\app.asar\vendor\web-tree-sitter\tree-sitter.js:1223:21)

at null. (wasm://wasm/000bab92:0:118923)

at ts_tree_edit_wasm (wasm://wasm/000bab92:0:147803)

at Tree.edit (C:\Program Files\Pulsar\resources\app.asar\vendor\web-tree-sitter\tree-sitter.js:2217:27)

at LanguageLayer.handleTextChange (C:\Program Files\Pulsar\resources\app.asar\src\wasm-tree-sitter-language-mode.js:3604:17)

at WASMTreeSitterLanguageMode.bufferDidChange (C:\Program Files\Pulsar\resources\app.asar\src\wasm-tree-sitter-language-mode.js:293:28)

at TextBuffer.emitDidChangeEvent (C:\Users\Me\AppData\Local\Programs\pulsar\resources\app.asar\node_modules\text-buffer\lib\text-buffer.js:956:25)

at TextBuffer.applyChange (C:\Users\Me\AppData\Local\Programs\pulsar\resources\app.asar\node_modules\text-buffer\lib\text-buffer.js:950:10)

at TextBuffer.revertToCheckpoint (C:\Users\Me\AppData\Local\Programs\pulsar\resources\app.asar\node_modules\text-buffer\lib\text-buffer.js:1387:14)

at TextBuffer.transact (C:\Users\Me\AppData\Local\Programs\pulsar\resources\app.asar\node_modules\text-buffer\lib\text-buffer.js:1322:12)

at TextEditor.transact (C:\Program Files\Pulsar\resources\app.asar\src\text-editor.js:2467:24)

at C:\Program Files\Pulsar\resources\app.asar\src\text-editor.js:1799:19

at TextEditor.mergeSelections (C:\Program Files\Pulsar\resources\app.asar\src\text-editor.js:4053:20)

at TextEditor.mergeIntersectingSelections (C:\Program Files\Pulsar\resources\app.asar\src\text-editor.js:4015:10)

at TextEditor.mutateSelectedText (C:\Program Files\Pulsar\resources\app.asar\src\text-editor.js:1798:17)

at TextEditor.insertText (C:\Program Files\Pulsar\resources\app.asar\src\text-editor.js:1747:25)

at TextEditor.object. [as insertText] (C:\Program Files\Pulsar\resources\app.asar\node_modules\underscore-plus\lib\underscore-plus.js:77:27)

at TextEditor.insertNewline (C:\Program Files\Pulsar\resources\app.asar\src\text-editor.js:1766:17)

at TextEditor.object. [as insertNewline] (C:\Program Files\Pulsar\resources\app.asar\node_modules\underscore-plus\lib\underscore-plus.js:77:27)

at TextEditor.editor:newline (C:\Program Files\Pulsar\resources\app.asar\src\register-default-commands.js:637:19)

at C:\Program Files\Pulsar\resources\app.asar\src\register-default-commands.js:691:76

at TextBuffer.transact (C:\Users\Me\AppData\Local\Programs\pulsar\resources\app.asar\node_modules\text-buffer\lib\text-buffer.js:1320:16)

at TextEditor.transact (C:\Program Files\Pulsar\resources\app.asar\src\text-editor.js:2467:24)

at HTMLElement.newCommandListeners. (C:\Program Files\Pulsar\resources\app.asar\src\register-default-commands.js:691:13)

at CommandRegistry.handleCommandEvent (C:\Program Files\Pulsar\resources\app.asar\src\command-registry.js:405:43)

at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (C:\Users\Me\AppData\Local\Programs\pulsar\resources\app.asar\node_modules\atom-keymap\lib\keymap-manager.js:617:16)

at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (C:\Users\Me\AppData\Local\Programs\pulsar\resources\app.asar\node_modules\atom-keymap\lib\keymap-manager.js:408:22)

at WindowEventHandler.handleDocumentKeyEvent (C:\Program Files\Pulsar\resources\app.asar\src\window-event-handler.js:153:34)

The issue had happened once of twice on version 1.118.0 but happens almost daily on version 1.119.0

I also experience auto-complete issues mostly with html e.g. typing "sel" brings up the green "select" auto-fill option which works and creates the full select tag. then typing "opt" to get the option rows gives only the red "option" to autofill the word 'option' not to create the 'option tag'. Closing and reopening the file makes the auto-complete work again for a time.

Pulsar version

1.119.0

Which OS does this happen on?

🪟 Windows

OS details

10

Which CPU architecture are you running this on?

x86_64/AMD64

What steps are needed to reproduce this?

Copy and paste html from one area of the file to another using crtl+C and crtl+V

Additional Information:

Program in normal running condition has these errors in Developer Tools view, while program is functioning normally. Viewing Develop Tools is not possible using the keyboard shortcut once the error occurs as the program becomes unresponsive.

image
savetheclocktower commented 3 months ago

It's hard to know what the root cause is here. I know you say it happens when you copy and paste HTML, but I do this on a daily basis and it doesn't happen to me.

If you can produce a reduced test case — i.e., type these exact file contents, copy this line, paste this other line — please add it to this ticket. It would help out immensely.

If you get tired of this behavior and want to just get some work done:

Settings -> Packages -> grammar-selector -> uncheck “Hide Duplicate Grammars”

Then, whenever you're in an HTML or PHP file and it's acting up, click on the language in the bottom right of the status bar and switch to an HTML or PHP grammar that says “TextMate” next to it. If you want this to be the default, follow the directions under “I want to go back to the old highlighting!” in this ticket (for HTML) and in this ticket (for PHP)

MASSAlan commented 3 months ago

Thanks for prompt reply, unfortunately it is completely random. I copy and paste all day too, but then every now and again it throws the error and I have to restart the program. Sometimes copying from one file to another, sometimes from one spot in one file to another spot in the same file. I wish I could help further. I was hoping that the errors displayed in the dev tools that are always present would hold some clues. Next time it happens I'll record the actual html I was trying to paste. (from memory this time it was a html select tag).

savetheclocktower commented 3 months ago

Thanks. Another thing you could try is this:

  1. Open two HTML files for editing side-by-side
  2. Put some boilerplate HTML in each one
  3. Randomly cut a line from file 1, switch focus to file 2, and paste that line somewhere
  4. Randomly cut a line from file 2, switch focus to file 1, and paste that line somewhere
  5. Return to step 3

If this process ever results in a crash, even if it's sporadic, let me know; it's something I can automate in a test.

(If you didn't want to go to that much effort, I wouldn't blame you at all.)

MASSAlan commented 3 months ago

A quick update. The issue hasn't happened since I posted this. (typical). It could have been the update to 119 that sorted it, or it could have been an environment issue. (It used to happen almost every day).

Either way I am going to close this now. If it happens again I will try to isolate further. Cheers.