Set memory softlimit in nogvl_context_call also #161
Merged
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.
This PR addresses issue #160, where the memory limit was not being enforced when the
call
method is used to execute Javascript functions. It explicitly sets theMEM_SOFTLIMIT_VALUE
andMEM_SOFTLIMIT_REACHED
values each timecall
is used, as is already done in theeval
code. I have observed theMEM_SOFTLIMIT_VALUE
being overwritten with seemingly random data between Ruby calls, causing the memory limiter to trip either too soon or not at all.I am not sure if it would be practical to write a Ruby test for this, as we would have to assert that the code terminates with a
V8OutOfMemoryError
at a specific amount of memory used, and not before or after.