Unexpected error with message Failed to execute 'setStart' on 'Range': The offset 4294967292 is invalid. · Issue #4353 · marktext/marktext · GitHub
Skip to content

Unexpected error with message Failed to execute 'setStart' on 'Range': The offset 4294967292 is invalid. #4353

Closed

Description

@tleevfx

Description

Unexpected renderer process error.

Minimal Reprouducible Markdown Example (or Steps)

Stack Trace

IndexSizeError: Failed to execute 'setStart' on 'Range': The offset 4294967292 is invalid.
    at Selection.select (file:///C:/Program%20Files/marktext/resources/app.asar/out/renderer/assets/index-DgUR2NkZ.js:91196:12)
    at Selection.setCursorRange (file:///C:/Program%20Files/marktext/resources/app.asar/out/renderer/assets/index-DgUR2NkZ.js:91331:10)
    at ContentState.setCursor (file:///C:/Program%20Files/marktext/resources/app.asar/out/renderer/assets/index-DgUR2NkZ.js:142811:15)
    at ContentState.partialRender (file:///C:/Program%20Files/marktext/resources/app.asar/out/renderer/assets/index-DgUR2NkZ.js:142876:12)
    at ContentState2.updateParagraph (file:///C:/Program%20Files/marktext/resources/app.asar/out/renderer/assets/index-DgUR2NkZ.js:138787:12)
    at FrontMenu.selectItem (file:///C:/Program%20Files/marktext/resources/app.asar/out/renderer/assets/index-DgUR2NkZ.js:149759:22)
    at Object.click (file:///C:/Program%20Files/marktext/resources/app.asar/out/renderer/assets/index-DgUR2NkZ.js:149666:20)
    at invokeHandler (file:///C:/Program%20Files/marktext/resources/app.asar/out/renderer/assets/index-DgUR2NkZ.js:92215:13)
    at handleEvent (file:///C:/Program%20Files/marktext/resources/app.asar/out/renderer/assets/index-DgUR2NkZ.js:92226:5)
    at HTMLLIElement.handler (file:///C:/Program%20Files/marktext/resources/app.asar/out/renderer/assets/index-DgUR2NkZ.js:92231:5)

Version

MarkText: v0.19.0
Operating system: Windows_NT x64 10.0.26200 (win32)

Activity

  1. Jocs commented on Jun 6, 2026

    @Jocs
    Member

    Thanks for the report. This crash belongs to a long-standing Range.setStart offset family (#2526, #2627, #2800, #3378, #3542, …, #4159, #4372) where, after partialRender, the captured caret offset can exceed the new container's legal range and trip IndexSizeError. The 4294967292 / 4294967293 values are negative offsets that wrapped through uint32 interpretation.

    The defensive clamp landed on develop in #4358 (commit 1a2d2341, 2026-06-04): packages/muyajs/lib/selection/index.js now bounds the offset by childNodes.length for element nodes and by text length for text nodes before forwarding to Range.setStart / Range.setEnd / Selection.extend. Your version (v0.19.0) predates the fix.

    Closing as already fixed on develop. The fix will ship in the next release — please give it a try once it's out and feel free to reopen if you can still reproduce it there.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions