-
-
Notifications
You must be signed in to change notification settings - Fork 85
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
Table extension with HTML Renderer causes segfault #34
Comments
Looking into this now! |
The table extension currently uses the |
The "quickest" fix is to remove all the node caching in userdata, though it probably has some big memory/speed implications for using the node iterators on larger documents. @gjtorikian; do you have any thoughts on this? Ideally we'd have separate per-node user-data addressable by a constant or something, but that's a big thing to want to add to cmark. Edit: or perhaps we want a separate 'extension data' field on nodes. Hmmm. |
There's a look at what this would look like at https://github.com/gjtorikian/commonmarker/compare/table_render_crash (based on @deep-spaced's test branch). |
Dropping the cache has the result that GC ends up prematurely cleaning things up, so it's not good enough. |
The separate "extension data" field pretty much already exists, because the |
💎 0.14.3 is pushed, which fixes this issue! Thank you for reporting it, this has helped me clean up our extensions to cmark :) |
@kivikakk Thank you so much for jumping on this and fixing it!!! 👍 👍 |
Greetings again!
@kivikakk I'm back with another table issue 😢 . Under Ruby 2.3.1, using an HTML Renderer with the table extension enabled at all causes a segfault. Here's a sample test that I set up that causes it every time: https://github.com/deep-spaced/commonmarker/commit/2d0e5770182ac1b80a52e7b420c20f2878bea1ef
To be specific, the latter test causes the segfault to occur:
HtmlRenderer.new.render(doc)
Here's an example stacktrace: https://gist.github.com/deep-spaced/5e5ceebfed14aaae896bc5180ea89e60
Any thoughts on what might be going on here? Thank you for your time looking into this!
The text was updated successfully, but these errors were encountered: