Tab Crashing Fixes#203
Merged
Merged
Conversation
The CurrentJsonPath method was causing tab crashes when parsing large JSON files. These seem to occur when the JSON parser was running at the same time as Nursery Strings were moved to Tenured space. My feeling is that the JSONPath strings were being created faster than they could be moved out of the nursery, causing some nasty segfaults. A quick for this appears to be to create the JSONPath strings directly in the Tenured heap. This is probably not ideal, as these strings are only used to create TaintOperations. This is probably worth revisiting to see if there is a better solution. There seems to be a lot of upcoming upstream changes related to String GC, so probably worth waiting for the next release (see e.g. 7e2b43b)
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixing a few bugs introduced by recent changes:
I also found the
dump()method which was handy to debug the JSONParser issue. I've added a TAINT_DEBUG check to it so it can be enabled which needed a complete debug build.