I was fiddling around a bit, and trying to understand how things work, for my own edification. ``` diff diff --git a/eval.c b/eval.c index 1eeaec56cb..097a105b33 100644 --- a/eval.c +++ b/eval.c @@ -238,6 +238,7 @@ ruby_cleanup(...davidw (David Welton)
This code pretty reliably produces a segmentation fault on my machine: ``` require 'timeout' Thread.DEBUG = 1 class Foo def initialize ObjectSpace.define_finalizer(self, proc do Foo.f...davidw (David Welton)
mame (Yusuke Endoh) wrote: > Thank you for the report and the great investigation! I could reproduce the issue by using your example: https://github.com/mainameiz/segfault_app Thanks for checking in to it. > ... Yes, I think ther...davidw (David Welton)
A little bit more data: I added some more debugging statements, and I found that the main thread goes from being marked with the THREAD_KILLED status to THREAD_STOPPED_FOREVER This appears to happen in thread_join_sleep in thread.c...davidw (David Welton)
Hi, This is a tricky one and I am still working on narrowing it down, but I will report what I have so far. I compiled a version of 2_6_6 from github: ruby 2.6.6p116 (2019-10-02 revision 67825) [x86_64-linux] I have a minimal Ra...davidw (David Welton)
Hi, It certainly would have been useful to have the code available in gist https://gist.github.com/2902696 available in some form, because this patch broke backwards compatibility for a system I was working on.davidw (David Welton)