Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix oom #39

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

fix oom #39

wants to merge 1 commit into from

Conversation

dimbleby
Copy link

This addresses - but does not exactly fix - the out-of-memory reported in #32.

I have removed a block of code which, I suppose, is somehow mis-handling this case. This isn't a clean fix, we now go on to hit the assertion that follows: but with TREE_SITTER_MARKDOWN_AVOID_CRASH we catch this error and seem to recover.

The input:

[foo](*https://example.com
[foo](*https://example.com

now parses as:

(document [0, 0] - [1, 26]
  (paragraph [0, 0] - [1, 26]
    (link [0, 0] - [0, 5]
      (link_text [0, 1] - [0, 4]
        (text [0, 1] - [0, 4])))
    (text [0, 5] - [0, 7])
    (uri_autolink [0, 7] - [0, 26]
      (text [0, 7] - [0, 26]))
    (soft_line_break [0, 26] - [1, 0])
    (link [1, 0] - [1, 5]
      (link_text [1, 1] - [1, 4]
        (text [1, 1] - [1, 4])))
    (text [1, 5] - [1, 7])
    (uri_autolink [1, 7] - [1, 26]
      (text [1, 7] - [1, 26]))))

I was expecting an error! But this doesn't look stupid, and certainly is a lot better than looping and consuming all available RAM.

@dimbleby
Copy link
Author

@ikatyang I see that this project has been quiet for a few months. Is it still alive?

With my fixes / workarounds here and at #36, the parser is currently holding strong against the fuzzer. (It has only been an hour, so too soon to declare victory - but that's definite progress!)

If that continues to be the case, I imagine that eg neovim might want to revive their interest in using this. So it would be good to get a sign as to whether this is a going concern or not.

@NullVoxPopuli
Copy link

I do a lot of markdown editing and would love to be able to have syntax highlighting!!

@pappasam
Copy link

pappasam commented Nov 1, 2021

@dimbleby after 17 days, does it still appear to be holding strong? If yes, @ikatyang , it would be nice if you could consider these PR's. We're all pretty excited about the efforts being pushed forward by @dimbleby

@dimbleby
Copy link
Author

dimbleby commented Nov 1, 2021

I stopped after a few hours. Certainly that's too soon to promise that there's nothing left to find: but it's considerably longer than the fuzzer has previously taken to find issues.

@Lunarequest
Copy link

it looks like the project maintainer @ikatyang isn't active anymore. Maybe we can fork and include prs?

@Hmgov
Copy link

Hmgov commented May 11, 2022

IMG_20220502_112211


atom:titleDefault</atom:title>

atom:titlePackages</atom:title>



2017_OFCCP_Pre-Award_Ref_Guide_Inter_5-17-17-Final_508COMP.pdf

@Hmgov
Copy link

Hmgov commented May 14, 2022

the finel todays github imjiniaring world war ll

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants