Issue #11232 has been updated by Kyrylo Silin.


Nobuyoshi Nakada wrote:
> Is `vparser` in `parser_compile_string()` GCed?

It looks like so. I'm not sure how to verify that exactly,
but when I disable the GC, it doesn't segfault anymore.

I have added a second example, with `GC.disable`.
To run: `ruby nobug.rb`.

----------------------------------------
Bug #11232: rb_compile_string from parse.y segfaults
https://bugs.ruby-lang.org/issues/11232#change-52786

* Author: Kyrylo Silin
* Status: Feedback
* Priority: Normal
* Assignee: 
* ruby -v: ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
I'm using `rb_compile_string` in my project and invoke it in a loop.
Unfortunately, it segfaults for me.

I've set up a repository with a minimum reproducible case:
https://github.com/kyrylo/rb_compile_string_bug

The bug can be observed with Ruby compiled with the default compiler
flags. While I was debugging this, I decided to compile the same
Ruby with `-O0 -g`. Surprisingly, the bug did not occur with these
new flags.

Then, I've also tried to test this with this Ruby with the default
flags and it was working fine, without any segfaults:
`ruby 2.3.0dev (2015-06-03 trunk 50741) [x86_64-linux]`.

I suspect that it's already been fixed, but I'm not sure.



-- 
https://bugs.ruby-lang.org/